[UnrealEngine]Dotのメモ

Material

■[UnrealEngine]Dotのメモ

・今回はUnrealEngine、マテリアルノード[Dot]に関するメモになります。

■ノード説明

 ・Dotは、2つのベクターの内積を返します。
  上記サンプル図は、法線と[0/0/1](+Z=真上)を[Dot]に繋ぎ、球体メッシュで表示させたものです。
  同じ向き(0度)は+1、垂直(90度)だと0、反対(180度)だと-1となります。

■アレンジ例

 ・[Abs]を通せば、ご覧の通り1-0-1となります。

 ・さらに[1-x]で反転させ、[Power]を通せば境目の線になります。

 ・こちらは、[Dot]を赤色でカラースケールさせたものを、灰色のベース色に加算した場合。
  境目を軸に、表は赤を足し、裏は赤を引いているのがわかります。

 ・ではここに、先程の境目線のカラースケールを加算すると、このようになります。
  この状態のマテリアルをマネキンにも貼ると、こうなります。

■ディレクションライト参照

 ・[Dot]のBに[SkyAtmosphereLightDirection]を入れると、レベルシーケンスにおいてあるDirectionLightの方向を取得できます。
  この効果を使えば、光が当たる面や陰面・境目に個別の色を設定できます。

■カメラ参照(リム・フレネル)

 ・[Dot]を用いた手法でもう一つ、リム・フレネル効果について記載いたします。
  法線と[CameraVector]をDotに繋ぐことで、オブジェクトの側面を暗くしたり明るくしたりします。
 

 ・こちらは、[1-X]と[Power]を加えたものです。
  内容的には[Fresnel]とほぼ同じものになります。

▼補足 Fresnelノードに使用している法線ノードの考察

 ・法線を取得するノードとして[VertexNormal]と[PixelNormal]があります。
  基本的に [VertexNormal]は低負荷で低ディティール・[PixelNormal]は高負荷で高ディティールですが、
  値を寄せた[Fresnel]と比較した所、[Fresnel]は[PixelNormal]を用いている物だと思われました。

・今回は以上となります。
 ライティングやリム・フレネル効果として、または別のベクトルから-1~+1を取得できる[Dot]は、多岐にわたる活用法があるノードであると考えています。

コメント

タイトルとURLをコピーしました