UE4 のマテリアルの高さベースのカラー グラデーション

データ ビジュアライゼーションの分野では、色は非常に重要な視覚チャネルです。UE4 では、マテリアルの色の変化を通じて高さやその他の情報をエンコードしたいと考えています。たとえば、メッシュの最高点は赤、最低点は青です。 。ここで私が見つけた実装方法を記録しておきます。

高さベース (Z 軸) グラデーション カラー マテリアル ブループリントの例
  • まず、World Positionノード ( World Position 公式ドキュメント) はワールド シーンの (0,0,0) を座標原点としたピクセルの絶対ワールド位置を返し、Object Positionノードはワールド シーン空間を返します。オブジェクトの中心位置 ( Object Position 公式ドキュメント)、2 つの結果を差し引くと、オブジェクトに対する相対的なピクセルの位置が決まります。
ピクセル位置からオブジェクト シーンの位置を引いたもの
  •  Object Boundsノード ( Object Bounds 公式ドキュメント) は、各軸上のオブジェクトのサイズを返します。最初のステップで取得した位置をオブジェクトのサイズで割って、オブジェクトのサイズに対する位置の割合を取得します。範囲は (-1,1) なので、1 を加算して 2 で除算することで (0,1) にマッピングでき、後続の補間が容易になります。
位置をオブジェクト サイズで割って (0,1) に再マッピング
  •  最後に、上で得られた結果の Z 値をアルファ (マテリアル内の X、Y、Z はそれぞれ R、G、B に対応します) として使用して色を補間します。この値をもとに補間され、明るさと透明度のグラデーションを実現します。同時に、X および Y 方向の勾配は Z の考え方と一致しています。つまり、補間のアルファとして R または G を使用するだけで済みます。
Z 値に基づいて色を補間する
Z値に基づいて明るさを補間する
  •  最後に、UE4 付属の階段をテスト用に使用しましたが、表示の都合上、マテリアルを不透明に変更しています。
結果を示す

参考記事

グラデーションカラーを作成する

Supongo que te gusta

Origin blog.csdn.net/qq_43760344/article/details/124944041
Recomendado
Clasificación