・今回は、UnrealEngineでエフェクトマテリアルを作る際によく使っている、テクスチャUVを動かす仕込みのメモです。
■Offset


・[TexCoord] に値を加算する事で、
テクスチャを移動させる事が出来ます。
■Panner


・[TexCoord] への加算に[Time]を用いると、
永続的に動き続けます。
その[Time]へVector2の形で乗算する事で、
速度を制御できます
([Panner]ノードとほぼ変わらない動きだと思います)
■Scale


・[TexCoord] に値を乗算する事で、テクスチャの大きさを変化させます。
正確には、値を大きくすると参照範囲が広くなるので
値が大きいと 範囲が広い=テクスチャが小さくなり、
値が小さいと 範囲が狭い=テクスチャが大きくなります。
また、マイナスの値を入れれば反転もします。
■Shear


・[TexCoord]の RをGに、GをRに加算すると、
傾ける動き(せん断変形)となります。
主に球体や筒のメッシュで、
テクスチャを捻りたい時に使用します。
■Swizzle


・[TexCoord]のRとGを交換すると、右左が反転した横向きになります。
右左反転は、Gの値を *-1 することで直せます。
前述のScale機能の値で調整する他、
予めここで補正を組むのも良いと思います。
エフェクトを作っていると、縦横を変えて使いたい場面が思いのほか多く、そんな時にあると便利です。
注意点として、Swizzle機能と前述の機能を併用する場合、組み方によってRGの扱いが変わってきますので、調整には気をつけてください。
■組み合わせの一例

・最後に、これらを組み合わせた一例を紹介させていただきます。
Swizzle → Shear → Offset → Scale → Panner の順に繋いでいます。
PannerをScaleの後ろにしているのは、ScaleのUもしくはVを0にした上でテクスチャを流す為です。
とはいえ、この辺りの並べ順は用途によって入れ替えた方が良い場合もあるかと思います。
・今回は以上となります。
エフェクトマテリアルを組む際、テクスチャを動かしたいならとりあえずこの辺りを揃えておくと、何かと使い勝手が良いのではと思います。
コメント