リアルタイムVFXの世界へようこそ!〜EmberGen初心者向けガイド〜
こんにちは。G2 Studios エフェクトデザイナーのR.Nです。
今回は、煙、炎、爆発のシミュレーションツール“ EmberGen” を紹介します。
エフェクトのシミュレーションと言えば、「負荷が高くてレンダリングに時間がかかる」「パラメータが多くて難しい」というイメージがあるかもしれませんが、ご安心ください。
EmberGenはリアルタイムに実行結果を確認できるため、レンダリング時間を気にする必要はありませんし、UIもシンプルでわかりやすく初心者にもおすすめのツールです。
さっそく、インストールから始めていきましょう!
【EmberGenのインストール】
<公式サイト>
こちらからソフトのダウンロードが可能です。事前に氏名・メールアドレスの入力と、GDPR Complianceへの同意が必要となります。その後、Windows用またはLinux用を選択するとダウンロードが開始されます。
なお、最初の起動から14日間はトライアル期間となっており、機能を無制限で使用することができます。トライアル期間終了後は、書き出し機能がロックされます。それ以外の機能は引き続き使用可能です。(2023年12月時点)
作業環境、最小システム要件
EmberGenでできること
・煙, 炎, 爆発のリアルタイムシミュレーション
・ノードグラフを用いたプロシージャルなデータ作成
・見た目や挙動のカスタマイズ
・GPUベースの高速レンダリング
・さまざまな形式でのエクスポート
・Flipbook (テクスチャシート) の書き出し
【新規プロジェクトの作成】
EmberGenを起動すると、ホーム画面が開きます。
ここには、最近開いたプロジェクトのサムネイル、デフォルトのプリセットなどが表示されます。
ひとまずエディター画面を表示したいため、左下の “New Project” をクリックします。
すると、新規プロジェクトが作成され、編集画面が開きます。
よく使うショートカット
【画面の見方とfps設定】
さっそく何かが燃えていますね!
画面の見方は、左上から時計回りに
①Scene(プレビュー)、②Node Graph(ノードグラフ)、③Node details(ノード詳細設定)、④Timeline(タイムライン)
となっています。
実際の作業としては、Sceneビューで挙動を確認しながら
・Node Graphで処理の流れを作る
・Node Detailsで細かな設定をする
・必要に応じてTimelineにキーフレームを打つ
という流れを繰り返すような形になります。
シミュレーション速度が遅すぎる場合は、レンダリング品質を落としてみてください ( Ctrl + 1)。それでもまだ重い場合は、【Simulationノード】→【Time Controlタブ】→【Timestep】を30Hzに変更します。
これは、60fpsから30fpsに下げることを意味します。
マシンへの負荷を下げる(シミュレーションの計算を速くする)意図ですので、スペックに余裕がある場合、この作業は必要ありません。
シミュレーションが再生されていることを確認します。再生されていない場合は、Spaceキーを押下します。
Sceneビューの挙動を確認するため、Node Graph上にて、【Shape: Primitiveノード】をクリックします。
その後、Sceneビューのマニピュレーターを使用して、エミッターを動かすと…
リアルタイムに炎と煙を移動させることができました!
【Node Graph】
EmberGenは、ノードベースのエディター (Node Graph) を使用します。
ノードとは、特定の仕事をしている仲間たちのようなものです。彼らは左から何かをもらって、それをちょっとアレンジして、右に渡していきます。それを繰り返すことで、処理の流れを作っていきます。
Shader Graphなどを使ったことのある方には、馴染みがあるのではないでしょうか?
公式のノード一覧ドキュメントがありますので、こちらも参考にしながら進めていくことで、より深く理解できます。
それでは、Node Graphでノードのおおまかな流れを確認してみましょう。
①発生源やノイズの設定をする
②シミュレーションを担うノードに渡す
③その後、ライトや色、シェーディング、背景、後処理の設定をする
④シーン設定を担うノードに渡す
⑤カメラや書き出しの設定をする
このような流れになっています。
【Node Details】
実際に、いくつかのノードを触りながら、どのような変化があるか確認していきましょう。
Emitter: Volume
【Emitter: Volumeノード】をクリックすると、右下にノードの詳細設定が表示されます。このノードは、煙や炎の発生に関する設定を担っています。
Time between bursts(発生間隔)の値を、1.0に変更してみましょう。
すると、炎が1秒間隔で、0.5秒ずつ発生するようになります。
Shape: Primitive
次は、【Shape: Primitiveノード】の設定を変更してみます。このノードは、発生源の形状に関する設定を担っています。
Typeのプルダウンから、好きな形状を選んでみましょう。発生源の形状が変わったことが分かります。
Force: Noise
最後に、【Force: Noiseノード】の設定を変更してみます。このノードには、煙や炎を乱気流のように歪める役割があります。
Scale(ノイズの大きさ)を20に、Amplitude(振幅)を10に変更します。
すると、歪み方が変わりました。
シミュレーション結果がどのように変化するかをその場で見てとれるので、とても便利ですね!
【おわりに】
EmberGenは長時間のレンダリングを必要とせず、リアルタイムに結果が確認できるので、非常に試行錯誤がしやすいツールといえます。
また昨今では、Unreal Engineなどのゲームエンジン上でも、リアルタイムなシミュレーションができるようになってきました。
ツールの選択肢が増えることは、とてもワクワクしますね。実験感覚で楽しく使っていきましょう!
最後まで読んでいただきありがとうございました。
▼G2 Studiosについてはこちら
▼最新情報はX(Twitter)でご確認ください!