【Shader Forge】Panner(UVをいじる)について

  • 3
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Shaderの利点の一つはUVを自由にいじれることだと思います。
UVをいじって流れるようなアニメーションをshaderで表現してみました。

できたもの
3月-19,-2016-21-45-compressor.gif

Shader Forgeのnode図(Textureが少しずつずれるのがわかります)
3月 19, 2016 21:47.gif

ポイントは、
Pannerノードですね。

Geometry Data/UV CoordinatesからUV図を管理するUV Coordinates(UV Coord.)ノードを取得し、
PannerでUV図を加工し、それをTextureに渡しています。

ちなみにGeometryは「形状」という意味なので、Geometry Dataメニューにはまさに形状に関するノードが入ってます。
スクリーンショット 2016-03-19 22.01.51.png

Pannerノードについて

Panner = Pan(運ぶ) + er(人)
なので運び人という意味になります(たぶん)

Pannerノードは公式によると、

Outputs the input [UV] coordinates, panned/offset by [Dist] distance, in the direction/speed specified by the U and V parameters

といっています。
英語はよくわからないけど、たぶん、

入力されたUVを加工して(少しずらして)出力するよ。設定したUやVのパラメータによってUVをずらすスピードを変えることができるよ

的なことを言っているんだと思います。

PannerのDistにvalueノードとかを接続すると、UVにoffset分ずらすことができます。
ただし、時間経過によるUVのずらしはできなくなります。
Distを使いながらUV図を時間経過によってずらしたいときは、Panner(Distを設定)にPanner(UVをずらすだけ)を接続して使うといいと思います。
スクリーンショット 2016-03-19 23.40.35.png

ともあれPannerノードを使うことでUVを加工することができるようになります。
いろいろできそうなのでこれからもやっていきたいね。