雷制作日記「03」にして、最終回です(笑)
雷エフェクト一通り作りました。
動画をYouTubeにアップしておりますので、以下ご覧いただけると嬉しいです。
前回記事ではただの落書きだったのに、いきなり飛躍してしまいました(笑)
なかなか、過程を記録しながらテンポ良く制作していくのは難しいですね💦
▼前回記事
雷制作日記02
それでは、今回の制作で少しこだわったポイント等を記載していきます。
■モデルは全てHoudiniで作成
Houdiniを少しでも理解するために、今回のエフェクトで使用したメッシュは全てHoudiniで作成しました。
実際やってみると、簡単な形状でも直感的には作れないケースが出てくるため、かなり勉強になり、挑戦してみて良かったなと思います。
・カップ型メッシュ

「tube」ノードで筒を生成し、「edit」で形を整えました。
最後に、「uvtexture」ノードでuvを生成。

「UVTexture」ノードの「Fix Boundary Seams」にチェックを入れることで、
UVを有効領域にピタッと合わせることができる。


・ディスク型メッシュ

まず、この形状はデフォルトのプリミティブで用意されていないので、一工夫する必要がありました。
結果的には、「Sweep」ノードを使用しました。


これだけだと、UVがこんな状態に。
これを範囲内に収めていきます。

uvlayoutで、とりあえず範囲内に収めます。


「uvtransform」や「uvedit」を使用して整えました。
最後にFBX書き出し設定用のノードを加えています。

しかし、工程を分けるという意味では、ノードを2つ分ける意味はあるかも
・破片メッシュ

破片っぽいメッシュは、直方体を分割して作りました。
まずはboxを作り、メッシュの内部にもポイントを打ち、分割するために、「isoOffset」でボリューム化し「scatter」でポイントを設定。「voronoifracture」で破片として分割しています。


「explodedview」で、分割した破片同士の距離を適度に空けます

ここからは破片1つ1つにオブジェクトを完全分離するため、破片個数分(今回は4つ分)ノード群を分離。
「delete」ノードを使って、各ノード群ごとに、異なる破片を1つずつ残していきます。
(文章で説明が難しいですが・・・。そしてもっと良い方法はたぶんある・・・)



上記画像の最後に付いているノード「set_pivot」は、メッシュを原点にセット(移動)してくれる。

次にUV展開ですが、「uvunwrap」で面ごとに展開し・・・

「uvlayout」でなるべく全体的に解像度が大きくなるようにレイアウト。
(このメッシュはあまり目立つ予定では無いのでお手軽UV展開となっています)

■メインの雷(一番明るくて太い雷)にはビームエフェクトを使用
一番お手軽に形状変化アニメーションを表現できる手法かなと思い、ビームエミッターを使用しました。

「Beam Emitter Setup」でビームの両端の座標を指定

「Spawn Burst Instantaneous」のSpawn Countの数分、分割が増える(?)
この値を100とかにすると、ビームがねじれる。値を少なくすると、直線になる。

「Spawn Beam」これが無いと、ビームをいろいろ編集したりできない。

「Beam Width」幅を編集することができる。カーブで、太いとこと細いところを自由自在に設定できる。

「Jitter Position」で、ジグザグの強弱を編集できる。

■ベースマテリアルを作り、ほぼ全てのエフェクトに展開
用途に応じて、以下の3種類を作成。
・半透明モノクロテクスチャ用
・半透明カラーテクスチャ用
・白黒2値マスク用
テクスチャの性質によってテクスチャノードの形式が異なるため、テクスチャの性質によってマテリアルも分けざるをえない。

■UV周り
UVの基本的な機能を扱うマテリアル関数を用意。
UVを編集する想定のテクスチャノードに繋げている。


各値は、マテリアルインスタンス化した後に編集できるよう、外出ししている。

■カラー設定とオパシティテクスチャ
Niagaraで設定するパーティクルカラーとアルファ、メッシュの頂点カラーを取得・反映させる処理のマテリアル関数を作りました。
カラー用のアウトプットをエミッシブカラーに繋げています。
オパシティ用のアウトプットはオパシティに繋げています。


MF_EmiBaseColorのオパシティの出力先には、Broken(ディゾルブ)、フレネル、ソフトパーティクルの処理を挟んでいます。


Emi(エミッシブカラー)の入力前には、テクスチャノードと、テクスチャの白い領域と黒い領域に応じて、マテリアルインスタンスで色を付けられる処理を入れています。

■オパシティテクスチャの階調をマテリアル内でコントロール
また、オパシティテクスチャの白黒階調具合をSmoothStepを使いコントロールしています。少し複雑な構成にしていますが、白と黒の中間部分の階調幅を調整するために必要です。
