2

そのため、シーン キャプチャ 2d を使用して現在のシーンの画像を取得しており、それをレンダー ターゲットで使用できます。さて、ブループリントのみ (または非常に基本的な C++) を使用して、このテクスチャの平均色を取得することは可能ですか?

直接不可能な場合は、テクスチャを大きくぼかして、中央のピクセルの色だけを読み取ることを考えました。それは可能でしょうか?

RGB形式でさらに色を付けることができる必要があります。

HUD: http://i.imgur.com/e1ROR85.png

素材: http: //i.imgur.com/2yiqeii.png

結果: http://i.imgur.com/uZS1pbi.png

HUD の色がまだ黒であることにお気付きのように、マテリアルは現在、テスト用にベース カラーが白になっています。

MaterialExpressionTextureSampleParameter2D_6 は、どういうわけかテクスチャの最初のピクセルの色です。エミッシブ カラーを使用して HUD でこれを描画すると (ベース カラーが機能しないため)、黒く暗くなります。

ここで何が間違っていますか?平均色を取得するにはどうすればよいですか?

4

1 に答える 1

-2

Windows を使用している場合は、GetPixel (これは Windows.h ライブラリにあります) を使用して、1 つのピクセルの RGB 値を取得できます。

Linux を使用している場合は、XGetPixel (X11 用) を使用して、1 つのピクセルに対して同じ RGB 値を取得できます。

ある領域のピクセルの平均色を見つけたい場合 (カバーしたい領域が正方形であると仮定しましょう)、2 つの for() ループと、平均色の合計を格納する方法を使用できます。for ループで x 値と y 値をインクリメントし、ピクセルの色の合計を追跡します。最後に、この合計をカバーされたピクセル数で割り、平均を取得します。

于 2015-01-16T20:59:04.960 に答える