見出し画像

リアルタイムVFXの世界へようこそ!〜EmberGen初心者向けガイド〜

こんにちは。G2 Studios エフェクトデザイナーのR.Nです。
今回は、煙、炎、爆発のシミュレーションツール“ EmberGen” を紹介します。
エフェクトのシミュレーションと言えば、「負荷が高くてレンダリングに時間がかかる」「パラメータが多くて難しい」というイメージがあるかもしれませんが、ご安心ください。
EmberGenはリアルタイムに実行結果を確認できるため、レンダリング時間を気にする必要はありませんし、UIもシンプルでわかりやすく初心者にもおすすめのツールです。
さっそく、インストールから始めていきましょう!


【EmberGenのインストール】

<公式サイト>

こちらからソフトのダウンロードが可能です。事前に氏名・メールアドレスの入力と、GDPR Complianceへの同意が必要となります。その後、Windows用またはLinux用を選択するとダウンロードが開始されます。
なお、最初の起動から14日間はトライアル期間となっており、機能を無制限で使用することができます。トライアル期間終了後は、書き出し機能がロックされます。それ以外の機能は引き続き使用可能です。(2023年12月時点)

作業環境、最小システム要件

<作業環境>
OS :Windows10 Pro
EmberGen バージョン:v1.0.8

<最小システム要件>
Windows 10 または Linux
クアッドコア Intel または AMD プロセッサ、2.5 GHz 以上
NVIDIA GeForce GTX 1060(AMDカードもサポートされています)
8 GB RAM
※GPUが優れているほど、ソフトのパフォーマンスも上がります。

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)でご確認ください!


X(Twitter)にて最新のお知らせを配信しております。ぜひフォローしてください!