VFX Graphで再現する Particle System_1(ChatGPT ・GPT-5)

便利な小ネタ・まとめ

chatGPTにまとめてもらうために、単体で質問に出した対応表です。
どのまとめ方が使いやすいか不明なため、いったん別形式で出したものも記載しておきます。

 

スポンサーリンク

Particle System → VFX Graph 対応表

■ 対応表(個別質問)

Particle System VFX Graphでの対応 説明
Duration Spawn Context の Loop Duration
または
Spawner State (Loop Duration)
エフェクトの1サイクルの長さを定義。
Spawn RateやBurstと組み合わせて再生時間を管理。
Looping
(チェックON)
Loop = true(デフォルト) ループ再生。ループを止めたい場合は「Single Burst」や「Stop Event」で制御。
Prewarm Spawn Context の「Prewarm」チェック or シミュレーション開始オフセット 生成直後から安定した状態にしたい場合に使用。
Start Delay Spawn Context 内の “Delay Before Loop” または “Spawn Event Delay” エフェクトの再生を開始するまでの待機時間。
VFX Graphでは「Delay」ノードや「Constant Spawn Delay」プロパティで同等の効果を再現。
Start Lifetime Initialize Particle 内の “Set Lifetime” 各パーティクルの生存時間を設定。
固定値のほか、Random (Min–Max) ノードを接続すれば「ランダムな寿命」も再現可能。
寿命が尽きると自動で消滅します。
Start Speed Initialize Particle 内の
“Set Velocity (Random Direction)”
または
“Set Velocity Cone”
パーティクルが生成された瞬間の速度を設定。
固定値なら「Set Velocity」、方向をランダムにしたい場合は「Set Velocity Random Direction」や「Cone」モードを使用して、放射状の動きを再現します。
3D Start Size Initialize Particle 内の “Set Size” ノード(Vector3モード) 各パーティクルのX・Y・Z軸ごとのサイズを個別に設定。
「Set Size」を右クリック → Convert to Vector3 に切り替えると、3軸それぞれに異なる値を入力可能。
例:ランダムな伸び方を再現する場合はRandom(Vector3) を接続します。
Start Size Initialize Particle 内の “Set Size” ノード(Floatモード) パーティクル全体の大きさを一括で設定。
スカラー値(1つの数値)で均等スケールを指定します。
「Random (Min–Max)」ノードを接続すれば、粒ごとにサイズをばらつかせることも可能です。
3D Start Rotation Initialize Particle 内の “Set Axis Angle” ノード パーティクル生成時のX・Y・Z軸それぞれの回転を設定。
「Set Axis Angle」で回転軸(Axis)と回転角度(Angle)を指定。
ランダムな3D回転を再現する場合は、Random Vector3 (0–1) を Axis に、Random Float (0–360°) を Angle に接続します。
Start Rotation Initialize Particle 内の “Set Angle” ノード(Z軸回転) パーティクル生成時の回転を1軸(Z軸)のみで設定。2Dやビルボード型パーティクルに使用されます。
値を固定すれば全粒が同方向を向き、Random (0–360°) を接続すればランダムな向きを再現可能です。
Flip Rotation Initialize Particle 内の “Set Angle” ノード + Multiply(Random Sign)” パーティクルの回転方向をランダムに反転させる設定。VFX Graphには直接の「Flip」機能はないため、Set Angle にランダムで +1 / -1 を掛ける処理(Random Sign)を追加して再現します。
例:Set Angle = BaseAngle × Random(−1, 1) とすることで、左右反転した回転を実現できます。
Start Color Initialize Particle 内の “Set Color” ノード パーティクル生成時の基本色を設定。固定色を指定するほか、Random ColorGradient Sample を使えばランダムなカラーやグラデーションも再現可能。
例:Sample Gradient ノードにカラーバーを接続して、炎やマジックエフェクトの自然な色変化を作成できます。
Gravity Source(Gravity Modifier / Gravity設定) Update Particle 内の “Add Force” ノード(Direction: Down) または “Gravity” Block パーティクルに重力を与える設定。VFX Graphでは Add Force で重力方向(例:Y = -1)と強さを指定します。
シーンの重力を利用したい場合は、Gravity Block を追加すれば同様の効果が得られます。
例:Force = (0, -9.81, 0) で地球重力と同じ落下挙動を再現。
Gravity Modifier Update Particle 内の “Add Force” ノード(Direction: Down × Custom Float) パーティクルにかかる重力の強さを調整する設定。VFX Graphでは Add Force の力ベクトルを (0, -9.81, 0) × GravityScale のようにスケールして再現します。
例:GravityScale = 0.5 → 弱い重力、2.0 → 強い重力。パーティクルごとにランダムな重力を与えたい場合は Random (0.5–1.5) を掛けます。
Simulation Space System Settings 内の “Space” プロパティ(Local / World) パーティクルの座標系を決める設定。
Local:エミッター(オブジェクト)に追従して動く。
World:発生後はワールド空間に固定され、エミッターが動いても粒はその場に残る。
VFX Graphでは VFX Graph Inspector > System Settings > Space で切り替え可能。
Simulation Speed System Settings 内の “Playback Speed” または Time ノードにスケールを掛ける パーティクル全体のシミュレーション速度を調整する設定。
VFX Graphでは「Playback Speed」を変更することで、時間の進み方を速く/遅くできます。
また、ノードベースで制御したい場合は「Time」出力に係数を掛けることで部分的なスローモーション演出も可能です。
Delta Time 組み込みノード “Delta Time”(自動処理) 各フレーム間の経過時間(秒)を表す内部変数。VFX Graphでは明示的に設定する必要はなく、ほとんどの「Update」系ノードで自動的に参照されています。
独自の時間制御をしたい場合は、「Delta Time」ノードを使って力や速度に掛け合わせることで、フレームレートに依存しない動きを維持できます。
Scaling Mode System Settings 内の “Scaling Mode”(Local / Hierarchy / Shape)に相当 → Transform Scaleとの連動で再現 パーティクルがオブジェクトのスケールにどう反応するかを制御する設定。VFX Graphでは「System Settings」でローカルスケールを適用するかどうかを調整。通常は Local(オブジェクトの拡大縮小を反映)で再現します。
Play On Awake デフォルトで “On Play” に自動実行(Spawn Context が常時有効) シーン再生時に自動でエフェクトを再生する設定。VFX Graphでは明示的なチェックは不要で、デフォルトで「再生開始時に自動Spawn」します。
制御したい場合は、「Spawn Event」入力 を使って任意のタイミングで再生を開始/停止できます。
Emitter Velocity Mode Initialize Particle 内で “Inherit Source Velocity” ノードを追加 エミッター(発生元オブジェクト)の動きをパーティクル速度に反映させる設定。
Inherit Source Velocity ノードで親の移動速度を取得し、任意の係数を掛けて再現。例:0.5なら半分の速さで追従。
Max Particles Spawn Context 内の “Capacity” 設定 同時に存在できるパーティクルの上限数。VFX Graphでは「Capacity」で定義し、それを超えると古い粒子から消滅します。大量発生エフェクトではパフォーマンス管理の重要項目です。
Auto Random Seed VFX Graph は自動的に乱数シード管理(手動設定は不要) Particle Systemでの「自動ランダム再現」設定。VFX Graphは実行ごとに自動乱数を生成するため、基本的に同じ機能がデフォルトで有効。
再現性のある結果が必要な場合は、Seed を明示的に設定可能。
Stop Action Spawn Context の “Stop Event” + Event Context(Output停止制御) パーティクルの再生停止時に行うアクション設定。
VFX Graphでは「Stop Event」をトリガーしてパーティクルの生成を止めるか、特定の出力を非表示にするなどの制御を行います。
例:再生終了後に自動で破棄したい場合は「Stop Event → Kill Particle」。
Culling Mode System Settings 内の “Culling Flags” カメラ外でのパーティクル処理をどう扱うかを決める設定。VFX Graphでは Culling Flags により「Always Simulate(常時)」「Simulate When Visible(表示時のみ)」などを選択可能。パフォーマンス最適化に使用。
Ring Buffer Mode Spawn Context 内の “Capacity”+“Recycling” オプション 古いパーティクルを再利用する仕組み。VFX Graphでは「Capacity(最大数)」を超えた場合、自動的に古いパーティクルを上書きする挙動を設定できます。Recycling = true にするとRing Buffer的に動作します。
Emission Spawn Context(Constant Spawn Rate / Burst)ノード群 パーティクルの発生率を制御する基本設定。
VFX Graphでは Constant Spawn Rate(毎秒一定発生)と Burst(瞬間的な一斉発生)で再現。
例:Rate = 10 → 毎秒10粒、Burst = 30 → 1回で30粒。
Shape Initialize Particle 内の “Set Position (Shape)” ノード パーティクルの発生位置を定義する設定。VFX Graphでは「Set Position」ノードを使用し、Shape Type(Sphere / Cone / Box / Circle / Mesh など) を選択して配置形状を再現します。
さらに、Set Velocity (Cone) と組み合わせることで、発生方向や放射角度も同様に制御可能。
例:
Sphere → 爆発エフェクトや魔法陣中心発生
Cone → 噴射や煙の放出
Mesh → モデル形状から発生(破片や分解演出など)
Velocity over Lifetime Update Particle 内の “Add Velocity” または “Set Velocity over Life” ノード構成 パーティクルの生存中に速度を変化させる設定。
VFX Graphでは、時間経過に応じて速度を制御するために Age over Lifetime ノードを使用し、それを Multiply や Lerp に接続して動的に変化させます。
例:
Add VelocityDirection * Curve(Age/Lifetime) を接続 → 風や重力の影響でだんだん加速
Set Velocity over Life(カスタムグラフ)で曲線的な減速も再現可能。
Limit Velocity over Lifetime Update Particle 内の “Clamp Velocity” ノード パーティクルの速度が一定値を超えないように制限する設定。
VFX Graphでは Clamp Velocity ノードを使い、Speed Max(最大速度)を指定して、粒子が速くなりすぎないよう制御します。
例:
Max Speed = 3 → どんな力を受けても秒速3以上にならない。
Dampen 値を加えると、上限に近づくほど緩やかに減速させることも可能。
Inherit Velocity Initialize Particle 内の “Inherit Source Velocity” ノード 発生元(エミッターや親オブジェクトなど)の動きをパーティクルに引き継ぐ設定。
VFX Graphでは Inherit Source Velocity ノードを使用し、親オブジェクトの移動速度任意のSpawn Eventの発生元の速度 をパーティクル初期速度に加えることができます。■主なパラメータ:
Mode:Linear / Directional / Current Transform Velocity
Multiplier:影響の強さ(例:0.5で半分だけ継承)■例:
・キャラクターが走りながら出す煙に“走る速度”を反映したい場合 → このノードで実現可能。
Lifetime by Emitter Speed Initialize Particle 内の “Set Lifetime” に、Emitter(または Source)速度を乗算して接続 パーティクルの寿命を「エミッターの移動速度」に応じて変化させる設定。
VFX Graphには直接の「Lifetime by Emitter Speed」ノードはありませんが、カスタム接続で再現可能です。■再現手順:
1. Get Attribute: Source Velocity ノードでエミッター速度を取得。
2. 速度の長さ(Length)を取り、必要ならスケール係数を掛ける。
3. その結果を Set Lifetime の入力に接続。■例:
・動きの速いオブジェクトほど短い寿命にしたい → 1 / (Speed + 1) のように逆数で制御。
・逆に、速いほど長生きにしたい → Speed * 0.2 のように直接乗算。
Force over Lifetime Update Particle 内の “Add Force” ノード パーティクルが生きている間、外力(風・重力・流れなど)を継続的に与える設定。
VFX Graphでは Add Force ノードを使用し、力の方向 と 大きさ(ベクトル) を指定します。■再現のポイント:
Force定数ベクトル(例:Y = -9.81)を指定 → 重力風のような一定方向の力。
ForceCurve(Age/Lifetime) を掛ける → 時間経過で力を変化(例:最初は強く、後半弱く)。
・風表現などで動的にしたい場合は、Noise や Curl Noise Force ノードを併用。■例:
・上昇する煙が風に流される → Add Force (X = sin(Time) * 0.5)
・火花が飛んだ後に徐々に落下 → Add Force (Y = -9.8 * Curve(Age))
Color over Lifetime Update Particle 内の “Set Color over Life” 構成Sample Gradient + Set Color パーティクルの寿命に応じて色を変化させる設定。
VFX Graphでは Sample Gradient ノードを使用して、Age / Lifetime(寿命の進行率) に基づいたカラーを取得し、それを Set Color に接続します。■再現のポイント:
1. Sample Gradient ノードを追加し、色のグラデーションを設定(Particle SystemのGradientに相当)。
2. Age / Lifetime ノードを入力として接続。
3. 出力したColorを Set Color ノードへ。■例:
・火花 → 赤 → 黄 → 消滅直前に透明
・魔法エフェクト → 紫 → 青 → 白にフェード

■透明度(Alpha)も同じグラデーションで制御可能。
つまり 「色+フェードアウト」 の両方を一連のGradientで実現できます。

Color by Speed Update Particle 内の “Get Velocity”+“Length”+“Sample Gradient”+“Set Color” ノード構成 パーティクルの移動速度に応じて色を変える設定。VFX Graphではカスタムノード構成で簡単に再現できます。

■再現の流れ:
1. Get Attribute: Velocity ノードでパーティクルの速度ベクトルを取得。
2. Length ノード でその速度の大きさ(スカラー値)を算出。
3. 速度値を適切に正規化(例:Remap ノードで 0〜10 → 0〜1 に変換)。
4. Sample Gradient ノードを使って、速度に応じたカラーを取得。
5. Set Color にその出力を接続して反映。

■例:
・速い粒子 → 赤、遅い粒子 → 青 → → 「炎」「スピードライン」などに最適。
・水しぶきや衝撃波など、動きで色が変わるエフェクトを表現可能。

■補足:
・Gradientは「Speed最小~最大」でカラーバンドを設定(ParticleSystemのMin/Max Speed相当)。
・透明度(Alpha)も同時に変化させられるため、「速いほど輝く」演出にも対応

Size over Lifetime Update Particle 内の “Set Size over Life” 構成Sample CurveSet Size パーティクルの寿命に応じてサイズ(スケール)を変化させる設定。
VFX Graphでは Sample Curve ノードを使い、Age / Lifetime(寿命進行率)をもとにサイズを制御します。■再現の流れ:
1. Age / Lifetime ノードで寿命割合(0〜1)を取得。
2. Sample Curve ノードでサイズカーブ(Particle Systemのカーブ相当)を作成。
3. その出力を Set Size ノードに接続。■例:
・煙 → 出始め小さく、時間とともに拡大。
・火花 → 大きく飛び出してすぐ縮む。

■応用:
・「Uniform」以外に Set Scale ノードを使えば、X/Y/Z それぞれ別のカーブ制御も可能(3Dサイズ変化の再現)。
・さらに Multiply ノードでランダム値を掛ければ、パーティクルごとに成長速度をばらつかせられます。

Size by Speed Update Particle 内の “Get Velocity”+“Length”+“Remap”+“Set Size” ノード構成 パーティクルの移動速度に応じてサイズを変える設定。
VFX Graphでは直接の「Size by Speed」ノードはありませんが、ノードを組み合わせて完全に再現できます。■再現の流れ:
1. Get Attribute: Velocity ノードでパーティクルの速度ベクトルを取得。
2. Length ノードで速度の大きさ(Speed)を計算。
3. Remap ノードで速度範囲(例:0〜10)を正規化(0〜1)。
4. Sample Curve または直接 Multiply を使ってサイズを算出。
5. Set Size ノードに接続して反映。■例:
・速い粒子 → 大きく、遅い粒子 → 小さく。
→「スピード感のある火花」や「飛沫の勢い表現」に最適。
・逆に速いほど小さくしたい場合は、1 – RemapInvert ノードを使用。

■応用:
Set Scale に接続すれば軸ごとのスケール変化も可能。
Remap ノードをカーブモードにして、非線形的なサイズ変化を作ると自然な動きになります。

Rotation over Lifetime Update Particle 内の “Set Angle over Life” 構成Sample CurveSet Angle パーティクルの寿命に応じて回転角度を変化させる設定。
VFX Graphでは Sample Curve ノードを使って、Age / Lifetime(寿命進行率) に基づいた角度変化を制御します。■再現の流れ:
1. Age / Lifetime ノードで寿命割合(0〜1)を取得。
2. Sample Curve ノードで回転カーブ(Particle SystemのRotation Curveに相当)を作成。
3. その出力を Set Angle ノードに接続。■例:
・落ち葉 → 落下中にゆっくり回転。
・火花 → 飛びながら徐々にスピン。

■補足:
・3D回転を扱いたい場合は Set Angular Velocity ノード+Integrate を使用し、XYZ軸ごとに回転させることが可能。
・また、Random Angle を初期化時に加えることで、パーティクルごとのばらつきも再現できます。

Rotation by Speed Update Particle 内の “Get Velocity”+“Length”+“Remap”+“Set Angle” ノード構成 パーティクルの移動速度に応じて回転量を変える設定。
VFX Graphでは専用ノードはないものの、Velocityを利用したカスタム構成で簡単に再現可能です。■再現の流れ:
1. Get Attribute: Velocity ノードでパーティクルの速度を取得。
2. Length ノードで速度の大きさ(Speed)をスカラー値に変換。
3. Remap ノードで速度範囲(例:0〜10)を正規化(0〜1)。
4. Sample Curve または Multiply ノードで回転量を調整。
5. Set Angle ノードに接続して反映。■例:
・速い粒子ほど速くスピン → 「火花」「煙の渦」などの勢い表現に最適。
・遅い粒子はほとんど回転しないようにして、自然な動きを演出。

■補足:
・3D回転で速度方向にスピンを加えたい場合は、Set Angular Velocity ノードを使用して軸ベクトルを指定。
・Remap の出力を負数にすれば、回転方向をランダム反転させることも可能。

External Forces Update Particle 内の “Add Force” or “Sample External Field” ノード構成 Particle Systemの「External Forces」は、風・重力・フィールドなどの外部影響を受ける設定。VFX Graphでは、外部フィールド(Field)を明示的にノードで受け取る形で再現できます。

■再現の方法(2通り):
単純な外力(風・流れなど)を自前で設定する場合
Add Force ノードを使用し、一定方向や時間変化する力を加える。
例:Force = float3(sin(Time) * 2, 0, 0) → 左右に揺れる風。

他のシミュレーションやFieldコンポーネントから影響を受ける場合
Sample Field または Sample External Forces ノードを使用。
– Unityの「VFX Property Binder」経由で、外部のForce Field(例:Wind Zone、Collider Fieldなど)をVFXに接続可能。
– これにより、シーン全体の力場を共有して自然な連動が可能。

■例:
・風のFieldに反応する煙やほこり。
・衝撃波や重力場に吸い込まれる粒子。

■補足:
・「External Forces Multiplier」は、Add Force ノード前に Multiply を追加して再現。
・Unity 6以降では Force Field コンポーネント と VFX Graph のリンクが強化されており、リアルタイム風表現が容易です。

Noise Update Particle 内の “Add Turbulence” または “Curl Noise Force” ノード パーティクルの動きに乱流(ノイズ)を与える設定。
VFX Graphでは Add Turbulence または Curl Noise Force ノードを使って、自然な揺らぎや流れを再現します。■主な対応方法:
1. Add Turbulence ノード
・Particle Systemの「Noise」モジュールに近い挙動。
・位置ベースのノイズで、粒子がフワフワと動く。
・設定項目:Amplitude(強さ)、Frequency(細かさ)、Octaves(複雑さ)。2. Curl Noise Force ノード
・より滑らかで連続的な乱流ベクトルを生成。
・煙や炎など、流体的な動きに最適。
・時間に Time を入力することで動的ノイズを作成可能。

■例:
・煙が空気の流れでゆらぐ。
・魔法の光が揺れながら上昇する。
・炎が不規則に揺れる。

■補足:
・Particle Systemの「Strength over Lifetime」は、Age/Lifetime によるカーブ制御で同様に再現可能。
・「Noise Quality」や「Scroll Speed」も、FrequencyやTime入力の調整で表現できる。
・VFX GraphのノイズはGPU計算されるため、より高品質かつ高速に動作します。

Collision Update Particle 内の “Collide with Depth Buffer” または “Collide with Signed Distance Field (SDF)” ノード パーティクルがシーン内のオブジェクトと衝突する設定。VFX Graphでは、物理的な衝突をGPU上で処理するための専用ノードを使用します。

■主な対応方法:
1. Collide with Depth Buffer ノード(カメラベース衝突)
・カメラのデプス情報(深度)を使って、画面に見えるオブジェクトと衝突。
・地面や壁など、視界内のメッシュとの反射・跳ね返りが可能。
・軽量でパフォーマンスに優れる。

2. Collide with Signed Distance Field (SDF) ノード(3D空間衝突)
・SDF(距離フィールド)を用いて、実際の3D形状と正確に衝突判定。
・Unityの「VFX Collider」や「SDF Baker」から生成したフィールドを使用。
・跳ね返り(Bounce)、摩擦(Friction)、貫通抑制など詳細制御が可能。

■例:
・火花が床で跳ねる。
・雨粒がキャラクターの傘で弾かれる。
・煙が壁に沿って流れる。

■補足:
・Particle Systemの「Planes」機能は、VFX Graphでは Collider(SDFやMesh) に置き換え。
・「Dampen」「Bounce」「Lifetime Loss」なども、Collide ノードのパラメータで調整可能。
Collide with Depth BufferCollide with SDF は併用も可能(軽量衝突+正確衝突の両立)。

Triggers Event Context(Trigger Event)+Collider(SDF or Depth)+Event Output ノード構成 パーティクルが特定の領域やオブジェクトに触れたときにイベントを発生させる設定。
VFX Graphでは「トリガー専用モジュール」は存在しませんが、衝突イベント(Collision Event)やカスタムEvent出力を組み合わせることで、Particle SystemのTriggers機能を再現できます。■再現の流れ:
1. Collide with SDF または Collide with Depth Buffer ノードで衝突を検知。
2. 衝突時に Event Context(On Collision) を発生させる。
3. Event Output ノードを使って、別のVFX SystemやSub-Graphにイベントを送信。
4. Eventを受けた側で、例えば「色を変える」「爆発を発生させる」「別のパーティクルを生成」などを実行。■例:
・火花が地面に当たると煙が出る。
・弾が敵に当たると爆発エフェクトを生成。
・光の粒が特定エリアに触れると色が変化。

補足:
Trigger Type(Inside / Outside / Enter / Exit)に相当する動作は、イベントの状態管理で再現可能(位置判定+前フレーム比較)。
・複数のColliderを同時に監視したい場合は、SDFコレクションまたは複数のEvent Contextを使用。
・VFX GraphのイベントはGPU上で処理されるため、トリガー反応もリアルタイムで高速に動作します。

Sub Emitters Event Context(On Death / On Collision / Custom Event)+Spawn Context パーティクルの特定のタイミングで別のパーティクルを生成(連鎖生成)する設定。
VFX Graphでは、「Event」システムを使って Particle System の Sub Emitters(親パーティクルからの子パーティクル発生)をより柔軟かつ高品質に再現できます。■再現の流れ:
1. イベントの発生元を定義
Event: On Death → 親パーティクルが消える瞬間に発生
Event: On Collision → 衝突した瞬間に発生
Event: Custom → 任意タイミングで発生2. Event Output ノード を使って、イベントを別の VFX Graph または同一Graph内の Spawn Context に送信。

3. Spawn Context で、イベントをトリガーとして受け取り、子パーティクルを生成。
→ 子は独自の見た目・動きを持つ別システムとして動作。

■例:
・花火の火玉が消えると、小さな火花が散る。
・弾丸が当たると煙と光のフラッシュを出す。
・爆発の破片からさらに火花が飛び散る。

■補足:
・Particle Systemの「Sub Emitters Type(Birth / Collision / Death)」は、VFX Graphの On SpawnOn CollisionOn Death イベントにそれぞれ対応。
・複数のSub Emitterを組み合わせる場合も、Event Contextを複数用意して分岐可能。
・VFX Graphではイベントに任意の属性(位置・速度・色など)を引き渡せるため、Particle Systemよりも精密で多彩な連鎖表現が可能です。

Animation Initialize Particle 内の “Set Texture Index” + Update Particle 内の “Flipbook Player” ノード構成 スプライトシート(1枚のテクスチャに複数フレームが並んだアニメーション)を使って、パーティクルごとにアニメ再生する設定。
VFX Graphでは、専用ノードによってより自由な制御が可能です。■再現の基本構成:
1. Texture Asset にスプライトシート(例:4×4のフレーム)を設定。2. Set Texture Index ノード(Initialize)
・再生開始フレームを指定(例:ランダム再生にする場合 Random ノードを接続)。

3. Flipbook Player ノード(Update)
・寿命や時間に応じてフレームを切り替える。
・パラメータ:
Mode:Age over Life / Custom Time / Constant Speed
Rows / Columns:テクスチャの分割数(例:4×4)
Loop / Ping-Pong:繰り返し設定。

■例:
・炎や爆発アニメーションの再生。
・魔法のエフェクトが時間とともに変化。
・煙が拡散しながらフェードアウト。

■補足:
・Particle Systemの「Frame over Time」は、Age/LifetimeFlipbook PlayerProgress入力 で再現可能。
・「Random Row」「Start Frame」なども、Random ノードや Modulo を使って同様に表現可能。
・Unity 6 では Flipbook Player ノード の機能が拡張され、ループ・再生速度・補間モードなどがより細かく制御可能になっています。

Lights “Output Particle (Lit Quad/Output Particle Point)”+「Light」ノード or Light Output Context Particle Systemでの「ライトを各パーティクルに付与する」機能は、VFX Graphではライト出力ノードまたはライト属性を持つ出力コンテキストで再現可能です。

再現の方法(2パターン)
簡易ライト表現(見た目重視)
・通常の「Output Particle (Lit Quad or Output Particle Sphere)」を使用。
・ライト風の発光表現をしたい場合は:
HDRカラーや**Emission(放射光)**を上げる。
Unlit ShaderではなくLit Shaderを使用し、Bloomポストプロセスと組み合わせて光源のように見せる。

実ライト出力(物理ライトとして出力)
・Unity 2023以降、VFX Graph に “Light Output Context” が追加され、各パーティクルからリアルなライトを発生可能。
・追加方法:
① Output Context で「+」→「Light」タイプを選択。
② Initializeで各パーティクルの位置・色・強度を定義。
③ Updateで寿命や距離減衰を制御。

主な設定項目(Light Output)
Color:ライトの色(通常はパーティクルのカラーを参照)
Intensity:光の強さ
Range:影響範囲(パーティクルサイズや距離に合わせて調整)
Light Type:Point / Spot / Directional
Attenuation:距離による減衰曲線

例:
・火花が飛ぶときに明るく点滅するライトを出す。
・魔法の光球から周囲を照らす。
・爆発時に一瞬だけ強い発光を発する。

■補足:
・Particle Systemの「Ratio」設定(パーティクルの一部のみライトを持たせる)は、RandomノードとIfノードで再現可能。
・VFX Graphではライト数が多いと処理コストが高くなるため、Bloomエフェクトなどのポスト処理で擬似的に表現する方が軽量でおすすめです。

Trails Output Particle Quad (Line Mode) または “Output Particle Strip” コンテキスト Particle Systemの「Trails(軌跡)」は、VFX Graphでは 「パーティクルストリップ(Particle Strip)」システムを使って再現します。これにより、パーティクルが動いた軌跡やラインをなめらかに描画できます。

基本構成
Spawn Context
通常のパーティクルと同様に、生成タイミングを定義。

Initialize Context(Strip 用)
・「Spawn Output → Initialize Particle Strip」を使用。
・各ストリップ(軌跡)にユニークなIDを与える。

Update Context
・「Update Particle Strip」を使用し、寿命や位置更新を管理。
・位置・速度・色などを動的に変化可能。

Output Context
・「Output Particle Strip Quad」または「Output Particle Strip Ribbon」を使用。
Ribbon: なめらかなリボン状の線
Quad: よりパーティクル的な軌跡

主な設定項目(Output Strip)
Color / Size over Life:時間経過によるフェードや細線化。
Texture:軌跡テクスチャ(例:煙・光の筋)。
UV Mode:ストレッチまたはリピート。
Facing Mode:カメラ方向(Billboard) or ワールド方向。


・光る弾道やレーザーの軌跡。
・キャラクターの動きに追従する魔法のライン。
・流星や流れる火花の尾。

補足
・Particle Systemの「Trails with Particles」設定は、VFX Graphでは Attach to ParentSource Position を組み合わせることで再現可能。
・「Inherit Color」「Die with Parent」などの挙動も、Event Context(On Death)を使えば同様に表現できます。
・Unity 6 ではストリップ描画の安定性が向上しており、ノイズによる揺らぎやUVアニメーションなどの応用も可能です。

Custom Data Exposed Property(黒板)+ Set/Get Attribute ノード(Custom Attribute) Particle Systemの「Custom Data」は、各パーティクルに任意の追加データを持たせる機能です。
VFX Graphではこれを、**独自の属性(Custom Attribute)**を定義して扱う形で再現します。■基本の考え方
Particle Systemでは「Custom1」「Custom2」に VectorColor を入れることができますが、
VFX Graphではより柔軟に、**任意の名前・型(float, vector2, vector3, color など)**で拡張可能です。■設定手順
黒板(Blackboard)にプロパティを追加
・VFX Graphの上部にある「+」ボタン → 「Vector3」などを追加。
・名前を CustomSpeedExtraColor のように定義。
・「Exposed」にチェックを入れると、C#やInspectorから制御可能。

Initialize Context で設定(Set Attribute)
・「Set Attribute」ノードを追加。
・Attribute 名を CustomSpeed にして、RandomFloat などを接続。

Update / Output Context で利用(Get Attribute)
・「Get Attribute」ノードを使って値を参照。
・例えば、velocity += CustomSpeed * deltaTime のように挙動へ反映。


・各パーティクルに「独自の色変化スピード」を持たせる。
・特定の領域内にいるパーティクルだけ挙動を変える。
・C#から「温度」や「湿度」などのデータを注入して、環境に応じた変化を表現。

補足
・Particle Systemの「Custom1」「Custom2 (X,Y,Z,W)」は、VFX Graphの「Custom Attribute (Vector4)」として再現可能。
Set Custom Attribute ノードでは、型(float / vector2 / vector3 / color)を自由に選択可能。
・VFX GraphではCustom Dataを使うことで、シェーダー連携や外部スクリプト制御がはるかに強力になります。

ポイント
VFX GraphのCustom Attributeは「Particle SystemのCustom Data」の上位互換。

Renderer Output Particle Context(Quad / Mesh / Point / Line / Strip など) Particle System の「Renderer」は、パーティクルの見た目(描画方法)を決める部分です。
VFX Graphでは「Renderer」という単一設定ではなく、**Output Context(出力コンテキスト)**として明確に分離されています。これにより、描画タイプやマテリアル設定をより柔軟にコントロールできます。■基本構造
VFX Graphでは、「Spawn → Initialize → Update → Output」という流れの中で、最終的に Output Context が描画を担当します。■代表的な Output タイプ(=Rendererの種類) ↓
– – – – – – – – – – – – – – –
Output Particle Quad 一般的なビルボード表示(常にカメラに向く) Billboard Renderer
Output Particle Mesh メッシュオブジェクトを使用した3Dパーティクル Mesh Renderer
Output Particle Point 超軽量な点描画(GPU負荷が低い) 低負荷パーティクル
Output Particle Line / Strip 軌跡表現(トレイルや光跡) Trail Renderer
Output Particle Light ライト発生 Light Module
Output Particle Decal サーフェスに投影するエフェクト Decal Renderer
Output Particle Cube / Sphere 立体的な基本形状(プロトタイプ用途) MeshRenderer(Primitive)

 

■ 主な設定項目(Output Context)

  • Color / Alpha:発光色・透明度。Set Color ノードなどで制御。
  • Size / Scale:パーティクルサイズ。Size over Life などで変化。
  • Material:使用するシェーダー/マテリアルを指定。HDRP/URP両対応。
  • Blend Mode:加算・アルファブレンド・乗算など。
  • Soft Particle Fade:カメラ距離によるフェード。
  • Motion Vector / Shadows:影やモーションブラーの対応有無。

 

■ 例:

  • 炎や爆発 → Output Particle Quad(加算ブレンド)
  • 破片や火花 → Output Particle Mesh(Lit Shader)
  • 光の筋やレーザー → Output Particle Strip Ribbon
  • 壁面に焼け跡を描く → Output Particle Decal

 

■ 補足:

  • Particle System の「Render Alignment(Billboard / Stretch / Mesh)」などは、
    VFX Graph の Output Context 内で “Facing Mode” として細かく指定可能。
  • VFX Graph では Output を複数同時に使える ため、
    ひとつのシミュレーションで「メッシュ+ライト+デカール」を同時に出力するような複合表現が可能です。
  • URP/HDRPでは、Outputごとに異なるシェーダーグラフ(Shader Graph)をリンクさせることができ、
    完全にカスタム見た目のVFXを構築できます。

 

■ まとめ:

VFX Graphの「Output Context」は、Particle Systemの「Renderer」よりも強力で、
ビルボード・メッシュ・ライト・デカール・トレイルなどを自在に組み合わせられる
“描画の設計ツール”として進化しています。

 

スポンサーリンク

【完全統合版:デザイナー向け】Particle System → VFX Graph 対応表

chatGPTにまとめるよう頼んだところ、前項までの質問経緯からデザイナー向けに簡潔なまとめをしました。

■ 対応表(要約版)

Particle System VFX Graphでの対応 わかりやすい説明
Duration Spawn Context の Duration パラメータ パーティクルの「1サイクルの長さ」。VFXでは「Spawn Rate」+「Loop設定」で制御します。
Start Delay Spawn Delay(Delayノード or Timeline制御) 再生開始を遅らせたい場合に使います。
Spawn Contextの入力前に Delay ノードを挟む形。
Start Lifetime Initialize → Set Lifetime 各パーティクルが生存する時間。
VFXでは個別にランダム設定可能。
Start Speed Initialize → Set Velocity
(Random Direction or Vector)
パーティクルの初速。
数値またはベクトルで方向とスピードを設定。
Start Size Initialize → Set Size(Uniformスカラー) 一律サイズ設定。
3D Start Size Initialize → Set Size(Vector3) XYZ方向で別々の大きさ設定。伸びた煙・楕円形などに利用。
Start Rotation Initialize → Set Angle (1軸) 2Dビルボードなどの単純な回転。
3D Start Rotation Initialize → Set Angle (Vector3) 3軸の回転(3Dメッシュ対応)。
Flip Rotation Multiply Angle by -1 回転方向を反転。右回り↔左回りの切り替え。
Start Color Initialize → Set Color 開始色。Color over Lifeで経時変化も可。
Gravity Modifier Update → Add Force (Vector3.down * 値) 重力を加える。世界重力を反映したい場合は Delta Time と組み合わせる。
Gravity Source Vector Field / Custom Force Field 特定の点・方向に重力を引き寄せたい場合。
Simulation Space Local / World Space(Graph Property) ローカル空間 or ワールド空間。親オブジェクトに追従するかを決める。
Simulation Speed Update全体のTimeスケール パーティクル挙動の時間を早く/遅く進める。
Delta Time 内部ノード(自動) フレーム間の時間。ほとんどの動作で自動利用される。
Scaling Mode Graph全体スケール or Transform Scale反映設定 親のスケール影響を受けるかどうかを指定。
Play On Awake Spawn ContextがGraph開始と同時に動作 デフォルトで自動再生。停止したい場合はC#制御で制御可能。
Emitter Velocity Mode Inherit Velocity(Spawn → Attribute: Source Velocity) 発射元オブジェクトの動きを引き継ぐ。
Max Particles Spawn Context内のCapacity 同時存在できるパーティクル上限。
Auto Random Seed 自動ランダム化(デフォルトON) 毎回違う結果を得る。固定化したい場合はRandomSeedを指定。
Stop Action Event On Complete + Action設定 パーティクル終了時の動作。例:消える、別イベント発火など。
Culling Mode System Stateによる自動停止(距離や視野外) UnityのCullingを継承。特別な設定は不要。
Ring Buffer Mode Looping Buffer Mode (Spawn) 古いパーティクルを再利用。ループエフェクトで使用。
Emission Spawn Rate(Constant/Curve/Custom) 発生量。時間・距離・イベントで制御可能。
Shape Spawn Shape(Sphere/Cone/Box/Custom Mesh) 放出形状。MeshやTextureからも放出可能。
Velocity over Lifetime Update → Add Velocity over Life 寿命に応じて速度を変化。
Limit Velocity over Lifetime Clamp Velocity ノード 速度制限をかける。空気抵抗のような効果。
Inherit Velocity Source Attribute “Parent Velocity” 発射元の動きを継承。
Lifetime by Emitter Speed Spawn Rate by Speed / Dynamic Attribute Link エミッターの動きで寿命変化。
Force over Lifetime Update → Add Force 継続的に力を加える。風・重力・渦などに。
Color over Lifetime Update → Color over Life(Gradient) 時間経過による色変化。
Color by Speed Speed Attribute → Gradient Evaluation 速度によって色を変える。
Size over Lifetime Update → Set Size over Life 寿命に応じてサイズ変化。
Size by Speed Speed Attribute → Size Mapping 速さでサイズを変える。
Rotation over Lifetime Update → Add Angle over Life 時間に応じて回転。
Rotation by Speed Velocity Magnitude × Rotation 動きに比例して回転速度を変化。
External Forces Vector Field Force / Wind 外部フィールドや風エフェクト。
Noise Update → Add Turbulence / Noise Field 揺らぎや自然な乱れ。パーリンノイズなど。
Collision Collision Context(Plane / Sphere / Signed Distance Field) 他オブジェクトとの衝突。反射・減速可。
Triggers Event Context(On Collision / On Enter / On Exit) 衝突検出をイベント発生に利用。
Sub Emitters Event Context(On Death / On Collision)+Spawn Context 他パーティクルを生成(花火・爆発など)。
Texture Sheet Animation Initialize: Set Texture Index + Update: Flipbook Player スプライトアニメ。フレームを自動再生。
Lights Output Particle Light / Emissive Color 各パーティクルが発光。リアルライト出力も可能。
Trails Output Particle Strip / Ribbon 軌跡を描く。光線や尾を表現。
Custom Data Custom Attribute(Set/Get Attribute) 任意の追加情報を持たせて挙動に反映。
Renderer Output Context(Quad / Mesh / Light / Decal / Strip) 表示方法を決定する最終段階。複数同時使用も可能。

 

■ VFX Graphの構成の全体像(デザイナー向けイメージ)

[ Spawn ]
└─ Emission Rate / Shape / Delay / Loop

[ Initialize Particle ]
└─ Size / Lifetime / Color / Velocity / Custom Attribute

[ Update Particle ]
└─ Forces / Noise / Rotation / Color over Life / Collision

[ Output Particle ]
├─ Quad(通常表示)
├─ Mesh(3D破片)
├─ Light(光)
├─ Strip(軌跡)
└─ Decal(地面焼け跡など)

■ 特徴まとめ

  • Particle Systemの各モジュールが「VFX Graph」では ノードやコンテキスト単位に細分化
  • すべての要素は「Spawn → Initialize → Update → Output」の流れに沿って構築。
  • イベント制御・カスタム属性・シェーダー連携により、表現力が格段に向上。
  • Unity 6では Flipbook / Light / Strip / Event の安定性・効率が大幅に改善。
タイトルとURLをコピーしました