0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pyro Burst Source [Mardini2024]

Last updated at Posted at 2024-05-02

これはMardini2024のDay15 Pyro Burst Sourceの動画を視聴してまとめたものです。

動画

image.png

公式のサンプルファイル

Day14 Cloud Shape Generate | Day15 Pyro Burst Source | Day16 Ocean Spectrum

Pyro Burst Sourceノードを使用すると、爆発、マズルフラッシュ、衝撃波、ブラストリングなどの効果を生成できます。

Pyro Burst Sourceのヘルプ

image.png

要約

  • Pyro Burst Sourceノードは、爆発のシミュレーションに使用される
  • 爆発の種類(爆発、マズルフラッシュ、衝撃波、ブラストリング)を選択できる
  • 形状、サイズ、方向、広がり角度などのパラメータを調整できる
  • 爆発のアニメーションを制御するパラメータ(開始フレーム、持続時間、拡張率など)がある
  • 密度、温度、燃焼の各コンポーネントを個別に制御できる
  • Attributeを使用して、爆発のパラメータをランダム化できる
  • Volume Rasterize Attributesノードを使用して、パーティクルをボリュームに変換できる
  • Pyro Solverノードを使用して、爆発のシミュレーションを実行できる
  • Pyro Lookノードを使用して、爆発の見た目を調整できる
  • Pop Networkと組み合わせて、デブリの爆発もシミュレートできる

サンプルファイル

image.png

image.png

左のDEBRIS_EXPLOTIONがPOPネットワーク接続時の土が吹き飛ぶようなシミュレーション例

image.png

右のPYRO_EXPLOSIONがPyro Look適用した通常のエクスプロージョン例

image.png

Pyro Burst Sourceノードの基本

Pyro Burst SourceノードはSOPレベルのジオメトリノードです。

image.png

Pyro Burst Sourceを作成すると爆発が再生されます。ビューポートに何も表示されない場合は最初のフレームに戻してください。

image.png

再生させると数フレームの間に、パーティクルが外側に向かって爆発し、ある一定のフレーム後に消えていきます。
(1〜5フレームで爆発、6フレームで消えます)

image.png

次は爆発のタイプを見ていきます。

バーストタイプ

image.png

Burst Typeを見ると、デフォルトではExplosion(爆発)になっています。

■ Explosion(爆発):地上または空中の爆発

image.png

■ Muzzle Flash(マズルフラッシュ):狭い爆発

image.png

■ Shokwave(ショックウェーブ):地面に広がる爆発

image.png

■ Blast Rings(ブラストリング):大規模な爆発で見られる輪っか

image.png

核爆発で見られるようなリングです。メインの爆発の二次的な要素としてこれを使うことができます。

形状とサイズの設定

image.png

バーストタイプをExplosionに戻し、次は設定を見てみましょう。

■ Shape Offset:シード値。爆発のバリエーションを生み出します。

image.png

■ Initial Size:爆発の開始点でのサイズ。それ以降のサイズは倍数になります。小さな爆発から大きな爆発まで、サイズを調整できます。

■ Direction:爆発の方向。任意の方向を設定できます。

image.png

■ Spread Angle:マズルフラッシュ時にSpread Angleを小さくすると、より狭い円錐形になります。反対に大きくすると、空中爆発のようになります。

image.png

■ Roundness:形状の変化量定義。大きくすると、全体が同じ形状になっていきます。

image.png

■ Number of Trailings:トレイリングの数。値を小さくするとトレイルの数が少なくなります。

image.png

■ Trailing Separation:トレイリングの間隔。

image.png

■ Trailing Length:各リーディングポイントの後ろにあるトレイルの長さ。

image.png

■ Trailing Thickness:各円錐がどれだけ狭いか。

image.png

バーストアニメーションの設定

image.png

■ Start Frame

Burst AnimationタブのTimingでは、爆発がいつ起こるかのタイミングを制御します。Start Frameが1で、Frame Durationが5になっているのがわかります。フレーム1から始まり、5フレームの間、爆発が存在します。例えばStart Frameを20フレームに変更すると、爆発はフレーム20から始まります。

image.png

■ Frame Duration

Frame Durationを増やすことで、この爆発をより多くのフレームにわたって生じさせます。ただし一般的には、Frame Durationをかなり低く保つことのほうが多いです。

■ Overall Expansion(Outward Expansion)

image.png

爆発が発生している期間中にどれだけ拡張するかのパラメータです。開始時のサイズには変化がありませんが、最終フレーム時はこの設定した値の分広がります。 Initial Size の乗数として作用します。

■ Directional Expansion

Burst Shapeタブで指定したDirection方向に膨張します。この値は、 Initial Size と Outward Expansion の乗数として作用します。

image.png

■ Directional Translation

値を大きくすると、爆発が時間とともに上に移動します

image.png

バーストコンポーネントとPyroソース

image.png

Burst Componentsタブに切り替えます。
ここでは、3つのPyro Sourcesがあります。Density(密度)、Temperature(温度)、Burn(燃焼)です。

image.png

これらはすべてPyro Solverに供給され、それぞれがソルバー内で異なる操作を実行します。これらは、Solverに必要な異なるフィールドです。これらの各ソースは、異なる色のパーティクルで表されます。

image.png

  • Densityは灰色または白のパーティクル
  • Temperatureは青のパーティクル
  • Burnは黄色のパーティクル

で表されます。
この他に、Divergence:オレンジ、Alpha:紫などがあります。

それぞれ時間の経過とともに値を持ちます。

image.png

Enable Noiseでノイズを有効にして、均一なDensity値を持たないようにすることができます。

image.png

Scale Along Trailingを有効にすると、時間に応じてすべての値をスケーリングすることができます。

image.png

image.png

先端部分を見てみると黒くなっており、ほとんど何もない状態であることがわかります。

image.png

Trailing Rampを反転させて、内側のポイントと先端の状態を反転させることもできます。

image.png

この図では中心に低い値、端点に向かって高い値になっています。

Output Attributeの設定

image.png

Output Attributeタブに移動します。ここでは、パーティクルスケールなどを制御します。
ラスタライズしてボリューム変換する時に重要となります。

image.png

image.png

すでにpscale(パーティクルスケール)が設定されているので表示してみましょう。
ビューポートでDを押し、DisplayOptionのGeometryタブからParticleの表示オプションを変更します。

image.png

Display particles asが、PointsだったところをLit Spheresに設定するとビューポート上でパーティクルの大きさが確認できます。爆発がどのような形状になるかイメージしやすくなったと思います。

image.png

image.png

Velocityを確認する場合、Display Point Trailsを有効にしてVelocityを表示し、Add Velocity Noiseを追加することもできます。

image.png

image.png

Pyro Burst Source + Volume Rasterize Attributes

結局このPyro Burst Sourceは、どうやって使うのでしょうか。そこでVolume Rasterize Attributesを利用したクイックセットアップが便利です。

image.png

普通にVolume Rasterized Attributesノードを呼び出すと、Pyro用の設定は何もされていないため、変換したいAttributeは手動で入力する必要があります。Density、Temperature、Burn、Velocityなどです。面倒ですね。

image.png

いったんVolume Rasterized Attributesノードを削除してPyro Burst Sourceノードだけの状態に戻します。
ここで、Quick Setupsドロップメニューから、Source Volumeを選択すると、

image.png

Volume Resterizze Attributesノードの作成から、各種Density、Temperature、Burn、Velocityの設定が自動で行われ、簡単にボリュームに変換することができます。便利すぎます。

image.png

パラメータの色を見ると分かる通り、このノードからPyro Burst Sourceに参照されています。
image.png

例えばPyro Burst SourceノードでBurnを削除すると、即時にこのノードに対し削除された情報が反映されます。

ラスタライズ後、次はPyro Solverです。手動で設定は面倒ですよね。

image.png

ここでもう一度Quick Setupsを使って、Pyro Simulationを呼び出して終了です。

image.png

これにより、独自のVolume Rasterized Attributesが追加され、爆発が作成されます。

image.png

より高解像度にするには、Pyro SolverのSetupタブにあるVoxel Sizeを0.05に変更します。

image.png

必要に応じて、上流のノードからVoxel Sizeを取得することもできます。

image.png

Volume Rasterize Attributesノード内にあるVoxel Sizeは、上流のTrailing Separationから取得されます。
image.png

これでSource Volumeは、Voxel Sizeと同じ解像度になります。

Pyro Lookの作成

image.png

結局Pyro Burst Sourceの各種ソースがどのような形状でどうなっているのか、よくわからない場合があるかもしれません。
そんなときはPyro Solverで、Quick SetupsドロップメニューからCreate Pyro Lookを呼び出します。

image.png

これでPyro Lookノードが追加されます。

image.png

デフォルトではSmokeのみ可視化されているので、FireタブからFireを有効にして、

image.png

Smoke Densityを上げます。

image.png

これで、爆発の実際の見た目がわかります。

再生してみるとPyro Burst Sourceノードで設定した先端部分のリーディングトレイルが確認できます。

image.png

Pyro Burst Sourceノードのその他のオプション

image.png

Pyro Burst Sourceには他にも多くのオプションがあります。Cloud Shape Generateノードでも登場したランダム化が各種パラメータの右側にあります。

image.png

1種類ではランダム化の状態が見えないので、このノードの入力にポイントを持ってくる必要があります。Quick Setupsの1つとしてSingle Input Pointがあります。

image.png

image.png

これだけだとポイントは1個なので、Grid上に10個ほどのポイントをスキャッターしたものに差し替えます。

image.png

すると、同時に10の爆発が発生します。

image.png

Gridサイズを5x5に変更して、同じような位置に集約します。

image.png

この10個の爆発は、全て同じタイミングで爆発します。これはあまり良い爆発とは言えないでしょう。そこで、Pyro Burst SourceノードのBurst Animationタブに行き、Start FrameをSet Varyingに設定してランダム化します。

image.png

image.png

たとえば、10フレームにわたって、連続爆発するシーンを作るとしても、このままだとすべての爆発の大きさが同じになってしまいます。そこでBurst ShapeのInitial SizeもSet Varyingに変更させます。

個々の爆発は、それぞれのソースごとに個別で影響を受けることができます。Sourceのプラスマイナスをクリックするだけで、変化が追加されます。

image.png

Attributeを使用した変化の追加

Attributeを使用して変化を追加する方法の紹介です。

image.png

ダイスをクリックすると、Attribute Adjust Floatノード(入力される値を制御できる)が追加されます。Pointにspread_angleというAttributeが追加され、そのSpread AngleがPyro Burst Sourceに供給されて制御できます。

image.png

上流で値が決定されるので、Pyro Burst Source上では値がグレーアウトされます。

image.png

アングルの最小と最大の範囲設定を見てみましょう。

image.png

最小は15、最大は90となっています。爆発の中には狭い爆発が含まれるようになります。

Pyro Burst Sourceノードは、何もPyroネットワークだけにデータを供給しなければならないと決まっているわけではありません。例えばPOPネットワークをPyro Burst Sourceの後ろに接続し、土が吹き飛ぶようなシミュレーションにも利用できます。

image.png

まとめ

Pyro Burst Sourceノードを使ってリアルな爆発効果を生成できます。パラメータを調整し、他のノードと組み合わせることで、様々な爆発表現が可能です。

また、このノードについての説明を10分間のビデオで全てカバーすることはできないため、各自でドキュメントを確認するよう推奨されています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?