■[UnrealEngine]マテリアルノードメモ その1
・UnrealEngineで、個人的によく使うマテリアルノードのうち、基礎部分でよく使うもののメモを記載していこうと思います。
■四則演算

■四則演算
・まず最初に四則演算をおさらい。
Add = 加算(足し算)
Subtract = 減算(引き算)
Multiply = 乗算(掛け算)
Divide = 除算(割り算)
公式ドキュメント「アーティストおよびデザイナー向けのパフォーマンス ガイドライン」の中で、Add・Sub・Mulは処理負荷が軽く、Divは処理負荷が高いと記載されています。
そのため、小数点のMulで代用できる場合は積極的に代用し、Divはなるべく使わないほうが無難と思われます。
例) /2 の代わりに *0.5
■ComponentMask

・[ComponentMask] は 入力した値の内、R・G・B・Aから任意のチャンネルを抜き出します。
図のように[TexCoord]からRやGだけを使ったり、法線テクスチャからRGのみ抽出する時などに使います。
■1-x

・[1-x]は 入力した値を 1から引いた値に変換します。
0-1のテクスチャを渡すと、白黒反転のような形になります。
■Power

[Power]は Baseに入力した値を Exp(指数)で累乗します。
0~1の白黒テクスチャを、尖らせたり膨らませたりに使います。
※公式ドキュメント「アーティストおよびデザイナー向けのパフォーマンス ガイドライン」の中で「負荷:高」とされているノードの一つであり、使いすぎには注意が必要です。
(でも便利なので結構つかってしまいがち)
■ConstantBiasScale

・[ConstantBiasScale]は、入力値に加算と乗算を行います。
Bias = 加算 Scale = 乗算。
よく使う用法としては、Bias = -0.5 Scale = 2 として
0~1 の値を -1~+1 に広げる時に使います。
■Abs

・[Abs]はマイナスの値をプラスに変換します。
前述の[ConstantBiasScale]と併せて、
主に -1~+1 の値を 1~0~1 に変換する時に使います。
■Frac

[Frac]は 入力した値を[0~1]の間で繰り返す形に変換します。
■Saturate

[Saturate]は、入力した値を[0~1]の範囲で間引きます。
[Clamp]で Min = 0 / Max = 1 とした時と同じ効果で、よりコンパクトです。
■Floor / Ceil

[Floor]は、入力した値の小数点を 切り捨てする形に
[Ceil]は、入力した値の小数点を 繰り上げする形に
それぞれ変換します。
■Sine/Cosine

入力値を正弦波/余弦波に変換します。
基本的にほぼ同じ形状の波ですが、0~1を入力した際
[Sine] は 0 から始まり、[Cosine] は 1 から始まる形になります。
※[Sine][Cosine]もまた、「アーティスト向けガイドライン」の中で高負荷とされているノードのため、多様しすぎないよう注意が必要と思われます。
ひとまず以上となります。
UnrealEngineには非常に多くのマテリアルノードが用意されており、未だに知らないノードも多くあります。
今後も勉強がてら、順次記事にしていきたいと思います。
コメント