稲妻(ライトニング)スペル VFX ブレイクダウン
JangaFX(JFX)のNickです。今日は、このとてもクールな
稲妻(ライトニング)
スペルのブレイクダウンをお見せします。
今回のエフェクトは
メッシュ・フリップブック
を使って、さまざまな
稲妻
の形状を切り替えます。
IlluGen
を使うと、この手の
メッシュベースのアニメーション
がとても簡単に作れます。なお、この動画に登場する
植生や環境テクスチャ
も、すべて
IlluGen
で作っています。
まずメインの稲妻メッシュを作るにあたって、ひとつのメッシュの中に8つのフレームをエンコードします。各フレームは、トランスフォームやスケール、ノイズ分布といったパラメータをアニメーションして生成します。これらのフレームはエンジン内で再生できます。というのも、フレーム識別子(またはアニメーション位相)をメッシュの頂点カラー―とくにアルファチャンネル―に格納しておくためです。IlluGen はメッシュ・フリップブックを書き出せ、各フレームを頂点カラーで分離できるため、この運用が可能になります。Unreal のマテリアル側では Vertex Color ノードから RGBA 各成分を参照できるので、この値を使って表示フレームを切り替えることができます。
Unreal Engine 側の稲妻用マテリアルでは、頂点カラー(A)とパーティクルカラー(A)を比較する条件式で、表示するフレームを切り替えます(マテリアルの Vertex Color/Particle Color ノードを使用)。テスト用フレーム値をアニメートすると、該当フレームの稲妻だけが点灯して切り替わります。ここではMasked マテリアル(Opacity Mask による二値判定)を使っているため、選ばれたフレーム以外は描画されません。注:Ifノードは分岐の両側が評価されることが多く、表示の制御はできてもコスト削減には直結しない点に留意してください。
次に、IlluGenでタイル可能なスモーク・ビームのテクスチャを作ります。仕上がりはご覧のとおりで、稲妻にたなびく薄い煙が追従する見た目になります。なお IlluGen は、タイルノイズ/法線マップ/UVディストーションなどの2D・3Dアセット生成に対応しており、こうした素材づくりを一つのグラフ内で完結できます。
続いて、地面のデカールや稲妻の基部に置く発光スプライトに使うグロー・テクスチャを作成します。あわせて、後で使うディストーション用の法線マップも用意しておきます(歪みはマテリアルの Refraction 入力で制御)。稲妻の根元には、良い感じのグロースプライトが入っています。なお、地面の焼けやホットスポット表現はデカールが有効です。
次に作るアニメート・メッシュ・フリップブックは、稲妻のインパクト(着弾)アニメーション用です。これは稲妻を地面にしっかり結びつけ、その威力を視覚的に示します。ベースにトーラス形状を置き、時間でノイズ変位を与えてフレームを蓄積し、前段と同様にフレーム識別を頂点カラーのアルファ(A)にエンコードします。このインパクトメッシュは頂点が絶えず揺らぎ続けるため、結果として画のキレ(パンチ)を強調できます。
落雷が起こる直前、ステップド・リーダー(先行放電)は局所電場に導かれて短いステップで分岐しながら下降し、地表から伸びる上向きストリーマと結合したときに本放電(リターンストローク)が走ります。リーダーは必ずしも「最小抵抗の道」を進むわけではないため軌跡はジグザグになりがちです。こうした挙動を表現するために、本エフェクトではリーダー用テクスチャを用意し、稲妻(ストライク)の上部でランダムな間隔・控えめな頻度でスポーンさせています。
先に着弾ショックウェーブ用のディストーションテクスチャを用意しました。法線マップの生成に使ったのと同じグレースケール画像を、ディストーション用LerpのAlpha入力に流用しています。これにより、歪みの強度を時間的にコントロールできます。
以前の「Fire Anomaly」ブレイクダウンで IlluGen から作成したスパーク・テクスチャを、本ショットではインパクト・スパークとして多数再利用します。エミッタは2系統(オレンジ/青)を用意し、Niagara のスプライト+Particle Color で色調を分けています(青は魔法感の演出)。
また IlluGen はグロー/スプライト系テクスチャの生成に適しており、こうした素材の作り置きと再利用が容易です。
前回の動画で作った岩メッシュも流用し、デブリとして放出して呪文の破壊力をさらに強調しています。停止後も岩デブリが回転し続ける件については、Niagara のDrag/Rotational DragやSolve(Forces/Velocity & Rotational)、あるいは角速度をしきい値以下で減衰・ゼロ化する更新処理などで制御できます。具体的なやり方をご存じの方は、ぜひコメントで教えてください。
最後に、以前のアノマリーで作成したスモーク・テクスチャを再利用し、インパクト部に形状ディテールと色のバリエーションを付与します。
では、完成したエフェクトをもう一度ご覧ください。IlluGenが、VFXや環境アートにおける強力なアセット生成ツールであることを実感いただけるはずです。IlluGen は2D/3Dアセット(タイルノイズ、法線、UVディストーション、VFX用メッシュ、ビーム/ショックウェーブ、マスク等)やカスタムRGBAパックのフリップブックまでを単一のノードグラフで生成でき、ワークフローを一元化・凝縮します。今回のプロジェクトは、実際のゲーム制作を想定した小規模のバーティカルスライスとして、IlluGenや自社ツール群のプロダクション検証を行うためのテストベッドにもなっています。
IlluGen
ゲーム VFX アーティストの制作を強力に支援する新ツール
JangaFX(JFX)のNickです。今日は、このとてもクールな 稲妻(ライトニング) スペルのブレイクダウンをお見せします。
今回のエフェクトは メッシュ・フリップブック を使って、さまざまな 稲妻 の形状を切り替えます。 IlluGen を使うと、この手の メッシュベースのアニメーション がとても簡単に作れます。なお、この動画に登場する 植生や環境テクスチャ も、すべて IlluGen で作っています。
まずメインの稲妻メッシュを作るにあたって、ひとつのメッシュの中に8つのフレームをエンコードします。各フレームは、トランスフォームやスケール、ノイズ分布といったパラメータをアニメーションして生成します。これらのフレームはエンジン内で再生できます。というのも、フレーム識別子(またはアニメーション位相)をメッシュの頂点カラー―とくにアルファチャンネル―に格納しておくためです。IlluGen はメッシュ・フリップブックを書き出せ、各フレームを頂点カラーで分離できるため、この運用が可能になります。Unreal のマテリアル側では Vertex Color ノードから RGBA 各成分を参照できるので、この値を使って表示フレームを切り替えることができます。
Unreal Engine 側の稲妻用マテリアルでは、頂点カラー(A)とパーティクルカラー(A)を比較する条件式で、表示するフレームを切り替えます(マテリアルの Vertex Color/Particle Color ノードを使用)。テスト用フレーム値をアニメートすると、該当フレームの稲妻だけが点灯して切り替わります。ここではMasked マテリアル(Opacity Mask による二値判定)を使っているため、選ばれたフレーム以外は描画されません。注:Ifノードは分岐の両側が評価されることが多く、表示の制御はできてもコスト削減には直結しない点に留意してください。
次に、IlluGenでタイル可能なスモーク・ビームのテクスチャを作ります。仕上がりはご覧のとおりで、稲妻にたなびく薄い煙が追従する見た目になります。なお IlluGen は、タイルノイズ/法線マップ/UVディストーションなどの2D・3Dアセット生成に対応しており、こうした素材づくりを一つのグラフ内で完結できます。
続いて、地面のデカールや稲妻の基部に置く発光スプライトに使うグロー・テクスチャを作成します。あわせて、後で使うディストーション用の法線マップも用意しておきます(歪みはマテリアルの Refraction 入力で制御)。稲妻の根元には、良い感じのグロースプライトが入っています。なお、地面の焼けやホットスポット表現はデカールが有効です。
次に作るアニメート・メッシュ・フリップブックは、稲妻のインパクト(着弾)アニメーション用です。これは稲妻を地面にしっかり結びつけ、その威力を視覚的に示します。ベースにトーラス形状を置き、時間でノイズ変位を与えてフレームを蓄積し、前段と同様にフレーム識別を頂点カラーのアルファ(A)にエンコードします。このインパクトメッシュは頂点が絶えず揺らぎ続けるため、結果として画のキレ(パンチ)を強調できます。
落雷が起こる直前、ステップド・リーダー(先行放電)は局所電場に導かれて短いステップで分岐しながら下降し、地表から伸びる上向きストリーマと結合したときに本放電(リターンストローク)が走ります。リーダーは必ずしも「最小抵抗の道」を進むわけではないため軌跡はジグザグになりがちです。こうした挙動を表現するために、本エフェクトではリーダー用テクスチャを用意し、稲妻(ストライク)の上部でランダムな間隔・控えめな頻度でスポーンさせています。
先に着弾ショックウェーブ用のディストーションテクスチャを用意しました。法線マップの生成に使ったのと同じグレースケール画像を、ディストーション用LerpのAlpha入力に流用しています。これにより、歪みの強度を時間的にコントロールできます。
以前の「Fire Anomaly」ブレイクダウンで IlluGen から作成したスパーク・テクスチャを、本ショットではインパクト・スパークとして多数再利用します。エミッタは2系統(オレンジ/青)を用意し、Niagara のスプライト+Particle Color で色調を分けています(青は魔法感の演出)。
また IlluGen はグロー/スプライト系テクスチャの生成に適しており、こうした素材の作り置きと再利用が容易です。
前回の動画で作った岩メッシュも流用し、デブリとして放出して呪文の破壊力をさらに強調しています。停止後も岩デブリが回転し続ける件については、Niagara のDrag/Rotational DragやSolve(Forces/Velocity & Rotational)、あるいは角速度をしきい値以下で減衰・ゼロ化する更新処理などで制御できます。具体的なやり方をご存じの方は、ぜひコメントで教えてください。
最後に、以前のアノマリーで作成したスモーク・テクスチャを再利用し、インパクト部に形状ディテールと色のバリエーションを付与します。
では、完成したエフェクトをもう一度ご覧ください。IlluGenが、VFXや環境アートにおける強力なアセット生成ツールであることを実感いただけるはずです。IlluGen は2D/3Dアセット(タイルノイズ、法線、UVディストーション、VFX用メッシュ、ビーム/ショックウェーブ、マスク等)やカスタムRGBAパックのフリップブックまでを単一のノードグラフで生成でき、ワークフローを一元化・凝縮します。今回のプロジェクトは、実際のゲーム制作を想定した小規模のバーティカルスライスとして、IlluGenや自社ツール群のプロダクション検証を行うためのテストベッドにもなっています。
