MENU

つくって覚える 第10回 爆発エフェクトをつくろう Part.2

前回,爆発の元となるパーティクルを作成したので,今回はパーティクルにパイロという機能を使って煙や炎を追加していきます.

前回の記事 → つくって覚える 第10回 爆発エフェクトをつくろう Part.1

目次

動画版チュートリアルはこちら

Sourceのパイロを設定する

「パーティクルグループ Source」を選択し「タグ」メニューから「シミュレーション」→「パイロエミッター」タグを適用します.

パイロエミッタータグを作成すると「パイロ出力(デフォルト)」というオブジェクトも一緒に作成されます.このオブジェクトはパイロの計算で使用する各種設定があります.(デフォルト)はプロジェクト設定のシミュレーション/パイロ設定とリンクしています.したがって,パイロ計算に関する設定を変更するためにわざわざプロジェクト設定を開いて…という手順を踏まずにパイロ出力を直接選択して設定を変更することができます.

「シミュレーション」メニュー→「シミュレーションシーン」からデフォルトのパイロ設定とは別のシミュレーションを定義することができます.一つのプロジェクトの中に異なる設定のシミュレーションを混在させて使用することができるのが特徴です.

Sourceのパイロを作成する

パイロエミッタータグを選択し,密度セクションの
「密度を設定」…「1」
にします.密度は煙や蒸気を作成するために必要です.「密度の設定」で0以上にしてパーティクルが発生した瞬間から煙を発生させることができます.「密度を追加」はパイロ計算が開始から1秒ごとに密度を追加する量を指定します.温度はデフォルトのままにしています.この温度は次の「Main Explosion」用パイロのために必要ですのでこのままにしておきます.

Main Explosion用の球体とパイロを作成する

Souceパーティクルが衝突したたら爆発するためのパイロ設定をします.こちらはパーティクルからパイロを発生させるのではなく,平べったい半球を使うことにします.
シーンに「球体」を追加し,
「半径」…「1㎝」
「分割数」…「64」
「タイプ」…「半球」
とします.

シーンに「クローナー」を追加して球体を子にします.クローナを選択し「オブジェクト」タブを開き
「モード」…「オブジェクト」
「オブジェクト」…「パーティクルグループ Main Explosion」をドラッグ&ドロップ
「クローンを整列」…「オフ」
「パーティクルスケール」…「100%」
とします.

パーティクルスケールを100%にした場合,球体半径 * パーティクル半径となります.

さらに「トランスフォーム」タブを開き,
「S.Y」…「0.5」
とします.

この設定で「Main Explosion」パーティクルの位置に半球が配置され,スケールはパーティクルスケールと連動します.かつ,半球のスケール.Yを0.5にしているため,平べったい形状になります.

クローナーを選択し,「タグ」メニューから「シミュレーション」→「パイロ燃料」タグを適用します.パイロ燃料は,単なる燃料タンクのようなもので,最初から設定がそのようになっています.それ単体では爆発が発生しませんが,近くに高い温度があったり,自身の温度が高くなると爆発が発生します.Sourceパーティクルが衝突した際にパイロ燃料を持った球体が生成され,Sourceの温度により爆発,発火します.

爆発の大きさはパイロ燃料タグの持つ燃料量により決まります.少し弱くしたいので,パイロ燃料タグを選択し,「燃料」セクションの
「最小を設定」…「1」
にします.

これでSourceパーティクルの温度に反応して爆発が起きます.

DebrisとShockwave用のパイロを作成する

Debris A,Debris B,Shockwaveのグループを選択し,「パイロエミッター」タグを適用します.

Debris Aのパイロエミッター

このパイロエミッターの設定は次のようにしてあります.「温度」の
「最小を設定」…「1000」
「追加を追加」…「0」
これにより,Debris Aのパイロからは温度がある状態で,温度を伴う破片が飛び散っていく様子になります.

Debris B,Shockwaveのパイロエミッター

Debris BとShockwaveのパイロエミッターは
「温度を有効」…「オフ」
として煙だけ発生させておきます.

すべてのパイロ設定により次のようなアニメーションができました.それぞれのパーティクルを調整して好みの動きになるように調整してみましょう.

パイロ出力の設定

パイロ出力設定ではシミュレーション全体の様々な調整ができますが,今回の作例ではすべてデフォルトで使用しています.興味があればパラメータを変更してどのような効果があるか試してみてください.

「ボクセルサイズ」はシミュレーション計算の精度を調整できます.ボクセルが小さいほどより詳細で正確な結果を得られます.シーン内のサイズにより適切な数値が異なりますので,作っているサイズに合わせて調整します.ボクセルサイズが変わることで生成されるパイロの密度などが変わるため,単純に結果が詳細になるだけでなく,動き自体の結果も異なってきます.小さい数値はメモリ消費が大きくなるため,計算時間が流なるほか,キャッシュ生成の時間にも影響があります.

他にも「タービュランス」でシミュレーションの動きに乱流を追加したり,密度,燃焼,カラー,温度,燃料,速度などのパラメータがあります.多くのパラメータがあるため,やみくもに調整するよりは個々のパラメータの意味をよく調べてから使っていくと良いでしょう.パラメータの詳細はドキュメントを確認してみてください.

パイロ用マテリアル

パイロ用のマテリアルは「マテリアルマネージャ」(Shift+F2)を開き,「作成」→「マテリアル」→「パイロボリューム」で作成します.

今回はパイロボリュームの設定はデフォルトのまま使います.「パイロ出力」オブジェクトにマテリアルを適用します.

ライティング

シーンに「ドームライト」を追加します.ドームライト用のHDRIはアセットブラウザ(Shift+F3)を開いて検索窓に「HDRI」と入力し,好みのHDRIを適用します.

テストレンダリング

「Redshift」メニュー→「RSレンダービュー」を開き,レンダリングしてみます.

パーティクル自体はレンダリングする必要はないため,すべてのパーティクルグループに「RSオブジェクト」タグを適用します.これでパーティクルはレンダリングされなくなります.

また,クローナーの半球オブジェクトもレンダリングさせないようにします.オブジェクトマネージャの縦に並んだ丸いアイコンの下側を2回クリックして赤色にしておきます.

キャッシュ

シミュレーション結果に満足できたら,レンダリングに向けてキャッシュを作成します.キャッシュの作成方法は,「パイロ出力」または「パーティクルグループ」から作成できます.「パイロ出力」からパイロ出力オブジェクトの「キャッシュ」タブを開き,
「シーン全体をキャッシュ」または「キャッシュ」ボタンをクリック
します.キャッシュの保存先を指定するとキャッシュ計算が開始されます.

終了するとキャッシュの「有効」が「オン」になり,「キャッシュ先」から読み込んでいることが分かります.キャッシュを正しく読み込めている場合,タイムラインを動かすとシミュレーション結果が再現されます.また,パイロ出力オブジェクトのアイコンもキャッシュモード状態へ変化します.

キャッシュは外部ファイルに保存するため,パラメータが異なるバージョンのキャッシュを作り直すこともできます.手順としては
1. キャッシュの「有効」を「オフ」
2. 各パラメータの調整
3. 再度キャッシュを作成
となります.

レンダリング

最後に簡単にレンダリングを行います.ドームライトの背景と床は非表示にしてエフェクトだけをレンダリングしてみます.
「ドームライト」を選択し,「オブジェクト」タブの
「バックグラウンド」…「オフ」
にします.

平面を選択し,「タグ」メニュー→「レンダリング」→「RSオブジェクト」タグを適用します.

「RSオブジェクト」タグの「マット」タブを開き
「上書き」…「オン」
「使用する」…「オン」
「アルファ」…「0」
にします.マットを使用するとオブジェクトがレンダリングから非表示になります.実写合成の際により簡単に素材を作成できるようになります.アルファ値を0にすると,平面はアルファから完全に切り離される結果になります.

「レンダリング設定」(Ctrl+B)を開きます.「出力」で解像度および,「フレームレンジ」を指定します.アニメーションレンダリングする場合はフレームレンジを「全てのフレーム」または「カスタム」でレンダリングする範囲を指定しましょう.

「保存」では出力するディレクトリ,ファイル名,フォーマットを指定します.アニメーションレンダリングの場合は静止画フォーマットで連番出力するようにしましょう.今回は「アルファチャンネル」も含めたいので,「アルファチャンネル」は「オン」にしておきます.

「Redshift」の品質については
「モード」…「基本」
「バケット品質」…「中」
としておきます.より綺麗にしたい場合は「高」にしてもよいでしょう.
「グローバルイルミネーション」…「オフ」
グローバルイルミネーションは計算時間がかかりますし,今回のようなシーンでは周囲に間接照明要素がないため,オフでも十分だと思います.

最後にカメラアングル(今回はデフォルトカメラをそのまま使っています)を決めて「レンダリングして画像ビューアーに」(Shift+R)を実行します.

レンダリング完了後,コンポジットソフトで連番画像を動画として書き出したものがこちらになります.

今回のチュートリアルの目的は一つのパーティクルから複数のパーティクルグループを発生させ,それぞれに異なる挙動をつくることが重要なポイントです.基本エミッターから複数のパーティクルを出せば,すべて連動して動作するという仕組みになっています.その場合はパイロ計算が多くなって処理が重くなってしまうと思いますが…

パイロに関してはパラメータが多いため,設定次第で様々な爆発をつくることができますが,今回はそこまで詰めた設定にはしていません.しかしこれをベースにパラメータを調整してどのような効果が起きるかを検証してみるのも良いかと思います.

完成ファイルのダウンロード

それでは最後までご覧いただき,ありがとうございました!

Motion Elementsで素材を探す

MotionElements - ロイヤリティフリー 動画素材マーケット、音楽、アフターエフェクト テンプレート

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Cinema 4Dを使用したCG制作を行うフリーランサー.
MAXON認定 Cinema 4D マスタートレーナー

自身の経験を元に後進のために当サイトを開設し運営中.
制作業務のほか,Cinema 4Dの個別トレーニング,企業向けトレーニング,メンターサポートなども行っています.

目次