見出し画像

【Blender】風に揺れる木の葉と枝(スタイライズド系)

試行錯誤した状況をメモ。
物理シミュレーションを利用せず、疑似的効果で、木の葉や細い枝を揺らす。いわゆる様式美、疑似的な効果。(スタイライズド)
物理演算しないのでプレビュー処理が軽いはず。

<Blender 2.91.2>

■完成イメージ

・木の葉、細い枝が揺れる。
・揺れ方が伝播(ウェーブ)していく。
・風の向きと流れがわかる感じ。

画像1

■揺れアニメーションで利用する機能

頂点ウェイト (木の葉、細い枝)
・モディファイアー> + テクスチャー(影響範囲)

■下準備

木と木の葉のオブジェクトデータを用意する。
データは、自作してもよいし、素材集から取り込む等、どちらでもよい。

今回は、Blender標準Add-onの「Sapling Tree Gen」を利用して、さくっと木の葉と木を作成した。

■木の葉を動かす工程

木の葉と木は、別々のオブジェクトになった状態。

画像4

まずは、木の葉を揺らすための下準備を行う。

<木の葉に頂点にウェイトペイントする>

画像12

大量にある木の葉を個別にペイントするのは手間なので、ひと工夫する。

共有しているUVの頂点を選択すると3Dビューポートの編集画面の木の葉のオブジェクトの頂点も選ばれる仕組みを利用する。

木の葉のUV Editing画面に切り替える。
UVの選択を同期ボタンを有効にしておく。
UVの木の葉の付け根以外の部分を選択した後、ウェイトペイント画面に切り替えて、選択した頂点にウェイト値:1をペイントする。
なお、ウェイト入力は、ブラシツールでペイントするのではなく、ウェイト>ウェイトを設定(Shift+K) で、直接ウェイト値を入力する。

画像12

全ての木の葉を1回の手順で一括ペイントした状態。
動かさない付け根はウェイト値:0になっていることを確認。
※メッシュの割りの関係で、今回のようなウェイト分布になっている。

画像2

オブジェクトモードに切り替える。

木の葉のオブジェクトを選択してモディファイアー> を適用。
下図の設定を行う。
それから、エンプティを新規作成し、Start Position>オブジェクト にエンプティを設定する。これが波発生の開始地点となる。
波モディファイアー>頂点グループ にウェイトペイントした頂点グループを設定しておく。これで木の葉の付け根固定、それ以外が動くようになる。

画像5

動作させると波打つ動きで、木の葉の動きが機械的な印象がある。
テクスチャーを作成して、設定する。
これにより、ある程度木の葉の動きのばらつきが表現できる。
適用するテクスチャーの柄模様によって、木の葉の動きが変わるので、好みの動きになるまで試してみるとよい。

画像6

エンプティ(球状)で波が発生し、木の葉に伝播して動いている状態。

画像7

■枝を動かす工程

動かす細い枝の部分だけウェイトをペイントする。太い枝や幹は動かさない。最初は、上面図でペイント、次に側面図でペイントするとやりやすい。大雑把にペイントした後は、こまごまと細い枝をペイントしていく。
大雑把にペイントする際は、グラデーションツールを使うと効率的。

画像8

画像9

木にも木の葉に適用した同様の設定を行う。

木にモディファイアー> を適用。
テクスチャー設定は、木の葉と同じテクスチャーを指定しておく。
それから、Start Position>オブジェクト で木の葉に設定したエンプティを指定。波発生の開始地点は、木の葉と共有する。(動きを同期させるため)
あと、プロパティ>頂点グループにウェイトペイントした頂点グループを設定しておく。

画像10

画像11

■完成

問題なければ、これで完成
(木の葉と木の動きが同期していることを確認しておく。。

画像13

波発生の開始位置で設定したエンプティの位置で波の伝播具合が変わるので、移動させて見栄えを確かめておく。
簡易的だが、これで風の吹く方向を制御できる。

■Tips

<コレクションインスタンス>
背景に木を複数配置する時は、コレクションインスタンスを使うと便利。
メッシュ、頂点ウェイト、モデファイアー等引き継がれる。インスタンス元を変更すれば、インスタンス先も変更される。メモリの節約にもなるはず。

<木の葉と木のオブジェクトの統合>
2つの統合してもアニメーション等、特に問題ないと思うが、後々調整・編集する場合は、わけておくほうがよいかも。
一方、2つのオブジェクトを統合すると波モディファイアーが1つで済むので管理が楽になる。
なお。統合時は、一時モディファイアーを無効にした状態で統合した方がよさそう。<モディファイアー有効時、微妙に変形しているので。

<安定した波の伝播具合に時間がかかる件>
フレーム1からの再生だと伝播具合が安定するまでに時間がかかる。
必要ならマイナスフレームからの再生を有効にしてもよいかも。

■所感

今回は、木の葉1枚単位で、木の枝に散布して作成したものを使ったが、細い木の枝と木の葉のひとまとまりにしたものを散布する形でもよさそう。
また、処理負荷が少ないゲーム用スタイライズされた木の作り方も参考になると思われ。まだ改良の余地は多くあるな。

そういえば、今回作成した木の葉と木の揺れアニメーションはベイクできるのだろうか。

以上。

<関連記事>


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