Initialize
メニューパス : Context > Initialize Particle
Initialize Context は Spawn Event または GPU Event を処理して、Particle または ParticleStrip シミュレーションの新しい要素を初期化します。
Context 設定
設定 | Type | 説明 |
---|---|---|
Space | Enum | (Inspector) システムに対する シミュレーション空間 です。 |
Data Type | Enum | (Inspector) システム内の要素のデータタイプです。オプションは以下の通りです。 • Particle: システムはパーティクルを生成します。 • Particle Strip: システムはパーティクルストリップを生成します。 |
Capacity | uint | シミュレーション内の要素の固定量です。これは、パーティクルシステムのメモリ割り当てをスケールします。 |
Particle Per Strip Count | Uint | パーティクルストリップごとのパーティクルの固定量です。 この設定は、Data Type を Particle Strip に設定したときのみ表示されます。 |
Context 入力プロパティ
プロパティ | Type | 説明 |
---|---|---|
Bounds | AABox | システムに定義されるバウンディングボックスです。このプロパティは、Visual Effect アセット で定義される Culling Flags プロパティに従って、評価されます。 |
フロー
ポート | 説明 |
---|---|
Input | スポーン、GPU イベント、または イベント Context からの接続です。入力フローの互換性に関する詳細は、入力フローの互換性 を参照してください。 |
Output | Update (単数) または Output (単数/複数) Context への接続です。 |
詳細
過剰スポーン
新しい要素は、ブロック を Context の本体に追加して作成できます。Visual Effect Graph は、作成に十分なメモリが残っていれば、これらのブロックをシミュレーションに追加します。実行後、Unity はこの方法で投入できないすべての要素を破棄します。
Alive 属性
Alive 属性 を Initialize コンテキストで false に設定すると、死んだパーティクルが作成されます。
これはパーティクルを生成時に破棄できる一方で、過剰スポーンの問題はまだ残ります。パーティクルは次の更新呼び出しの時に、死んでいるものと見なされます。つまり、残り数よりも多くのパーティクルを(生死にかかわらず)作成することはできません。
呼び出し順序
Visual Effect Graph は新しい要素につき一度のみ、最初の Update 前に Initialize Context を実行します。実行のフレームで、Visual Effect Graph は新しい要素を初期化し、要素の際のの更新を実行し、そして最後に要素をレンダリングします。
ソース属性の可用性
Initialize Context では、ブロックおよび演算子は Get Attribute (Source) の Operator (演算子) または Inherit <Attribute> ブロックを使って、ソース属性 から読み込みができます。
入力フローの互換性
Initialize Contexts は、以下のルール持つコンテキストを出力する、1 つまたは多くの SpawnEvent から接続することができます。
- Initialize Contexts が任意の数の Spawn およびまたは Event Context から接続できます。
- Initialize Contexts が単独の GPU Event Context から接続できます。
- GPU と CPU の Event/Spawn Context を入力ポートに接続できません。GPU Event と Spawn Context の両方を接続すると、コンソールには以下のエラーが表示されます。
Exception while compiling expression graph: System.InvalidOperationException: Cannot mix GPU & CPU spawners in init
(式グラフのコンパイル中の例外: System.InvalidOperationException: init で GPU と CPUのスポナーを混在させることはできません)