🌪️

【Blender】ゲームVFX竜巻メッシュの作り方 ポリゴンモデリング編

2023/08/27に公開

◯概要

【もここのBlender VFXメッシュ自由研究】
引き続き簡単な竜巻メッシュの作り方のメモです。

メッシュ自体はねじらず、UVをシアー(Shear)で歪める方法でらせん模様を作っていきます。

参考
https://www.youtube.com/watch?v=7nrf0BXnGfg&t=1s

↑のMayaよりも、Blenderはこの斜めに歪めたUVを作るのがとても簡単でした!!
(Mayaにも、UVのシアー機能があると嬉しいのになと切実に思います…(_ _ ;)僕が知らないだけかもですが…。。)

ーーー
あとは、Mayaでいうノンリニアデフォームの機能もBlenderで見つけたのでメモしておきます。

◯今回竜巻メッシュを作る作戦

・シリンダーメッシュを追加する
(サイズ調整)
・シリンダーを水平に分割する
・シリンダーをデフォームでいい感じに形を整える

(・必要に応じてピボットをずらす)

+頂点カラーを設定する(ジオメトリノード)
+UVを調整(シアーでゆがめる)

◯竜巻メッシュの作り方

▼1.シリンダーメッシュを追加する

変形までは基本、前のシリンダーメッシュの作り方と同じです。
↓参考
https://zenn.dev/animamococo5656/articles/1c9f81ecf41492

・「Vertices : 50」「Radius : 1m」「Depth:2m」「Cap Fill Type : Noting」「Generate UVs:オン」で設定します。

・コレクション(フォルダ)を追加して、フォルダ分けしておくとわかりやすくていいです。
リネームもしておきましょう。

▼2.メッシュを水平に分割する

エディットモード
・「Ctrl + R」でループカットモード → 「15」と値入力(orマウスホイールをくるくる)でループ数を変更 → 「左クリック」でループ数確定 → 「右クリック」でその場でループカット確定 のコンボでメッシュを水平に15分割しておきます。

▼3.シリンダーをデフォームでいい感じに形を整える

後でも調整しやすいように、デフォーム系のモディファイアを使ってこんな感じにしていきます。

<上下のすぼみかたを変える>
オブジェクトモード
・スパナアイコンのモディファイアプロパティから、「Simple Deform」モディファイアを追加。

・Taper(テーパー)でZ軸に沿って上下のすぼみを変形します。すぼめ具合は「Factor」で調整可能。

ーー
<真ん中のカーブを調整する>
オブジェクトモード
・「Smooth Corrective」モディファイアを追加する

・「Only Smooth」オン:カーブさせる
 「Pin Boundaries」オン:上下の両端が固定される
ーー
 → 「Factor」「Repeat」でカーブ具合を変えられる

これでいい感じに

▼4.サイズ調整

オブジェクトモード
・「N」キーでサイドメニューを表示して、「Item > Scale」の値は50倍にしておきました。
(今回はUE5に持っていったときに高さが1mになるように)

▼5.マテリアル設定

以前の記事で作成した汎用マテリアルを適用していきます。
まだ作ってない場合は↓を作っておきましょう。
https://zenn.dev/animamococo5656/articles/63190887887aa7

・「Shading」ワークスペースのNewの左から「MT_VFXMeshUVMap_Checker」(汎用チェッカーマテリアル(マット))を選択します。

このマテリアルの「color」アトリビュートにジオメトリノードから値を送ります。

▼6.ジオメトリノードでカラーを送る

ジオメトリノードから頂点カラーを設定することで、UVに対するカラー、アルファの調整がかなり楽になります。
これも作っておいた汎用のジオメトリノードをコピーして流用していきます。
もし作ってない場合は、先に↓を作っておきましょう。
(作ってある場合は、使い回し方法を参照してください)
https://zenn.dev/animamococo5656/articles/4eb659bdae33a8

<ジオメトリノード使いまわし方法>
・オブジェクトを選択して → モディファイアプロパティの「Add Modifier > Geometry Nodes」を選択

・Newの左のアイコンから、「上記で作った汎用ジオメトリノード」を選択します。
(Temp_GN_VFXMeshPoligon_000)

・(注意)ジオメトリノードエディタ内の↓のアイコンでテンプレを「コピー」しましょう。
※モディファイアプロパティの方は、同じアイコンでも新規作成らしくテンプレが使いまわせません…。アイコン同じなのが紛らわしい(_ _;)

・連番が増えてコピーされるので、わかりやすい名前にリネーム。
(メッシュと同じ名前とかだとわかりやすいかも。)

これで、マテリアルの「color」アトリビュートに頂点カラーが送られて頂点カラー/アルファが適用されました!

▼7.UVを調整(シアーでゆがめる)

・「UV > Constrain to Image Bounds」をオン
・「2D Cursor」をピボットにしておく

今回は下を基準にななめにUVをシアー変形していきます。
・一番下の頂点をまとめて選択
・「UV > Snap > Cursor to Selected」を実行して、2Dカーソルを一番下に移動しておきます。

・「A」で全選択 → 「Ctrl + Shift + Alt + S」でシアー変形 → マウス移動 → 「Enter」で確定のコンボ。これでシアー変形できます。

オブジェクトモードで見ると、UVをゆがめたことでらせん模様になったことがわかります。

▼8.複製して各モディファイアを適用

・書き出し用に複製

・上から順番にそれぞれのモディファイアを「Apply」する

最終的にモディファイアの欄が空になればOK

▼9.ノーマル設定

・前に作った汎用マテリアル適用(チェッカーマテリアル(鏡面反射)MT_VFXMeshUVMap_Checker_Mirror)
に切り替え

エディットモード
・「A」で頂点全選択 → 「Mesh > Normals > Set from Faces」でノーマルを調整する。

▼10.ピボットをずらす

・「Nキーサイドメニュー > Item > Dimensions」の3Dカーソルを移動したい軸の値を「コピー」

・「Nサイドメニュー > View > 3D Cursor > Location」で、今回は「-Z」に3Dカーソルを移動したいので、「Z」に「-(コピーした値ペースト)/2」と入力します。3Dカーソルが移動します。

・メッシュ選択状態で「Object > Set Origin > Origin to 3D Cursor」でピボットを移動すればOKです。

・「Nキーサイドメニュー > Item > Location」を(0,0,0)にすると、オブジェクト位置がワールド原点に移動します。

◯FBX書き出し

書き出し設定をしてFBX書き出しします。
↓参考
https://zenn.dev/animamococo5656/articles/e2c4d32d6f7dfd
 ・1.編集メッシュを複製
 ・2.ジオメトリノード適用
 ・3.トランスフォームのフリーズ
のみ行えばOK!

※今回はジオメトリノードでUV設定はしていないので、
 ・「▼4.UVアトリビュート適用」はしなくてOK!

◯まとめ

竜巻メッシュをBlenderで作る場合のポイントは、

・らせん模様になるようにUVをシアーでゆがめる
・シリンダーをデフォーム系のモディファイアで変形する

あたりがポイントになるかなと思いました。

ちょっとところどころBlenderの癖やショートカットは覚えておく必要がありますね。

Discussion