
【Blender】UVスクロール(モディファイアーで)
UVスクロールで、平面状の凹凸が流れていくオブジェクトを作成するメモ。河川などの水流表現に利用できそう。今回は、EEVEEでレンダリングするので、モデファイアーを利用した方法。

<Blender 3.0.1>
■概要
表面の凸凹は、ディスプレイスメントで作成する。
凸凹の流れは、UVスクロールで表現する。
■下準備
まず、追加>メッシュ>平面 を作成して用意する。
それとメッシュにスムースをかけておく。
今回のメッシュの細分化は、非破壊編集のため、細分化モデファイアーを利用するが、特に非破壊編集を求めていない場合は、編集モードで面を選択して細分化してもOK。
■設定
平面を選択した後、プロパティウィンドウで、モデファイアーを追加する。追加するモデファイアーは以下の通り。

UVWarpモデファイアー(UVワープ)
トランスフォーム、オフセット(※アニメ化)細分化モデファイアー
シンプル、ビューポートのレベル:6、レンダー:6ディスプレイスモデファイアー
座標:UV、新規テクスチャー(クラウドテクスチャー)
→ディスプレイスモデファイアーが参照するテクスチャーの編集
プロパティウィンドウ>テクスチャーのプロパティ>タイプ>凹凸
基本ノイズ:Blenderオリジナル
パターン:プラスチック
タイプ:ソフト
乱流:(※アニメ化)
■アニメーションの説明
上記の設定で、「アニメ化」と記載した箇所は、アニメーション変移をキーフレームを打ち込んで表現するもの。
アニメーションさせるテクスチャーの「乱流」値で上下のランダムな動きを表現し、UVWarpの「オフセット」値で、UVスクロールをさせて動かす仕組み。


あと、アニメーションは、キーフレームではなく、ドライバーを利用してもよい。キーフレーム制限と関係なく、永続的にアニメーションしたい場合に便利。
ドライバー設定のやり方は、右クリックメニューでドライバーを追加して関数を追加してもよいし、直接入力したい時は、入力ボックスに関数の先頭に#を付けて入力してEnterキーを押すと確定する。(成功すると入力欄が紫色になる)。


■応用
立方体を細分化したオブジェクトに上記設定を適用した結果。
流体っぽい動きにも利用できそうな気がする。

■関連:予備知識
今回は、モディファイアー機能を利用してアニメーションを実現したが、シェーダーでも可能。ディスプレイスノードは、どちらも設定できるが、正確にレンダリングされるのは、Cyclesのみ。
一方、EEVEEは未対応。シェーダー設定で、ディスプレイスメント設定しても、メッシュの凸凹表示がレンダリングされないので注意)。
以上。