見出し画像

【Blender】UVスクロール(モディファイアーで)

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

完成イメージ

<Blender 3.0.1>

■概要

  • 表面の凸凹は、ディスプレイスメントで作成する。

  • 凸凹の流れは、UVスクロールで表現する。

■下準備

まず、追加>メッシュ>平面 を作成して用意する。
それとメッシュにスムースをかけておく。

今回のメッシュの細分化は、非破壊編集のため、細分化モデファイアーを利用するが、特に非破壊編集を求めていない場合は、編集モードで面を選択して細分化してもOK。

■設定

平面を選択した後、プロパティウィンドウで、モデファイアーを追加する。追加するモデファイアーは以下の通り。

  • UVWarpモデファイアー(UVワープ)
    トランスフォーム、オフセット(※アニメ化

  • 細分化モデファイアー
    シンプル、ビューポートのレベル:6、レンダー:6

  • ディスプレイスモデファイアー
    座標:UV、新規テクスチャー(クラウドテクスチャー)

→ディスプレイスモデファイアーが参照するテクスチャーの編集
  プロパティウィンドウ>テクスチャーのプロパティ>タイプ>凹凸
   基本ノイズ:Blenderオリジナル
    パターン:プラスチック
     タイプ:ソフト
     乱流:(※アニメ化

■アニメーションの説明

上記の設定で、「アニメ化」と記載した箇所は、アニメーション変移をキーフレームを打ち込んで表現するもの。
アニメーションさせるテクスチャーの「乱流」値で上下のランダムな動きを表現し、UVWarpの「オフセット」値で、UVスクロールをさせて動かす仕組み。

参考:テクスチャーの「乱流」値で上下のランダムな動きを表現
参考:UVスクロール(UV Warp)

あと、アニメーションは、キーフレームではなく、ドライバーを利用してもよい。キーフレーム制限と関係なく、永続的にアニメーションしたい場合に便利。

ドライバー設定のやり方は、右クリックメニューでドライバーを追加して関数を追加してもよいし、直接入力したい時は、入力ボックスに関数の先頭に#を付けて入力してEnterキーを押すと確定する。(成功すると入力欄が紫色になる)。

ドライバーの関数を直接入力「#(frame)*0.01」
テクスチャーの「乱流」値にドライバー設定したもの。直接入力だとエラーが表示されたので、右クリックメニューで、ドライバー追加した。(※オブジェクト>平面 の設定も必要なので注意)

■応用

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

■関連:予備知識

今回は、モディファイアー機能を利用してアニメーションを実現したが、シェーダーでも可能。ディスプレイスノードは、どちらも設定できるが、正確にレンダリングされるのは、Cyclesのみ。

一方、EEVEEは、未対応。シェーダー設定で、ディスプレイスメント設定しても、メッシュの凸凹表示がレンダリングされないので注意)。

以上。

この記事が気に入ったらサポートをしてみませんか?