今回は【Unreal Engine】を使用した【リアルな爆発エフェクト】の作成方法を解説していきます
◆【Textureの作成】【Materialの作成】【Niagara Systemでの制御】など1つずつ丁寧に解説していきます ◆内容が多くなりますので、記事をテーマごとに分けて順次公開していきます (※本記事では誤った内容を記載している可能性がありますのでご注意ください) (※同じバージョンを使用していない場合、同じエフェクトが作れない場合があります) |
第1回目は、【Texture の作成】について解説していきます
【Texture 作成Tool】: EmberGen
◆今回はリアルタイムVFXツールである【EmberGen】を使用して爆発の【FlipBook素材】を書き出していきます
作成手順
◆Presetの選択
- EmberGenを起動したら、【Preset】から【Game Explosion1】を選択します
(今回の記事ではこの素材を使います)
- 任意の場所に別名保存し、自身のプロジェクトとして編集していきます
(今回は見た目に関するパラメーターの調整は行いません )
◆不要なものを非表示
- エミッターを非表示にしていきます
- 【Render】を開くと、エミッターの形状である【Sphere】が表示されています
—————————————————————-
- 【Emitter Volumeノード】を選択→【Node Details】→【Visuals】→【Show emitter】のチェックを解除します
—————————————————————-
- 【Skyboxノード】と【Groundノード】を非表示にします
—————————————————————-
以上を設定するとRender画面が真っ暗になり爆発素材だけ映るようになります
◆カメラの設定
- 現状では、カメラがロックされているため、【Cameraノード】を選択し解除していきます
- 【Camera】→【Node Details】→【Transform】→【Lock camera】のチェックを解除します
—————————————————————-
- 【Timeline】を再生し、Renderビューでマウスホイールを動かして爆発が画面にはみ出さない程度に範囲を調整します
- ズームイン・アウトなどで範囲を調整できます
- ここでお好みで違う角度にしてもよいです
※調整ができたら誤って動かすことがないよう、再度カメラをロックします
◆書き出し設定
今回の書き出したい【Flipbook素材】は下記のとおりです
- Smoke Map
- Emissive Map
- Motion Vector Map
- Normal Map
- Ambient Occlusion Map
—————————————————————-
- 【Renderノード】で書き出しの設定を行います
- 初期設定では下の画像のようになっています
—————————————————————-
- 【Renderノード】の【Mapping】設定を不要なものは削除し、必要なものを追加していきます
- 【Add Capture】から追加できます
- 【V】からMapを変更できます
(※Alpha情報はSmoke MapのAに入れます)
—————————————————————-
- 【Timeline】にキーを打ち、爆発のアニメーションを作成します
- 【Emitter Volumeノード】を選択し【Timeline】に【Emitter activity】のキーフレームを追加します
- 【Emitter Volumeノード】の【Emitter activity】のチェック(▢)を押すことでキーが打たれます(チェックを解除した状態のキーを打つ)
- 打ったキーを0フレームに設定します
—————————————————————-
- 【Emitter activity】のその他のキーフレームの位置をずらします(キーの上で右クリック)
■始まりのキーを10フレーム
—————————————————————-
■終わりのキーを22フレーム
■以上を設定すると下記の流れになります
・【0~9フレーム】→何も起こらない
・【10フレーム】→爆発の開始
・【11~21フレーム】→燃料を供給し続ける
・【22フレーム】→供給の終わり(後は消失していく)
—————————————————————-
- 【Renderノード】→【Node Details】→【Export】の各設定を行います
- 【Flipbook Columns/Rows】:縦横何枚の設定(今回は縦5/横5の合計25枚)
- 今回5/5で設定しているので【Number of Frame】には25(5x5=25)を入力します
- (【Flipbook Columns/Rows】で設定したものに合わないとエラーになります)
- 【First Frame】:何フレーム目からレンダリングを開始するかを設定します
- Motion Vectorを使用する場合、Flipbookの一番初めは何も表示させないようにしないと意図しないことが起こるため9フレームに設定しています
- 【Frame Stride】:何フレーム飛ばして次の連番素材をレンダリングするかの設定
- 爆発が始まってから消失するまでをFlipbookに収めるために使用します
- 今回は6フレーム飛ばして次の爆発素材をレンダリングするようにしています
- ここを設定しないと爆発が途中で終わるFlipbookになってしまいます
—————————————————————-
■以上を設定するとTimelineのレンダリング範囲は画像のようになります
(9フレームから159フレームがレンダリング範囲)
—————————————————————-
- 設定が終わったので各素材を書き出していきます
- 【Renderノード】→【Node Details】→【Export】の【Directory】で任意のフォルダを選択します
- 【Export Now】を押して素材を書き出します
■【FlipBook素材】が書き出せました
—————————————————————-
- 書き出しに問題が発生する
■各素材の連番の端に線が映ってしまっているのでテクスチャサイズを変更します- EmberGenの仕様のようで、小数点以下は四捨五入されるために起こるようです
- 今回2048(Texture全体サイズ)÷5(縦横に5枚ずつ並べる)=409.6(連番1枚当たりのpixel)なのに対し、EmberGenにこの計算を入力すると410になります
- 0.4の差がこの問題を引き起こしているようです
—————————————————————-
■【512×5】と入力して【2560×2560】のサイズに変更します
・連番1枚あたりを512pixelに指定します
—————————————————————-
■線が消え、意図する素材が書き出せました
—————————————————————-
作成終了
■これで爆発に必要な【Texture素材】が作れました
■次回の記事では、Unreal Engineで【Materalの作成(Part1)】を記載していきます