表示テーマ
VectorField Component
3Dの方向場に沿ってGPU Particleの速度を誘導します。
設定する手順
- Field AssetまたはPresetを設定し、ParticleにVectorField Moduleを追加します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| FGA | field | DefaultAsset? | 読取・変更 | {} | VectorFieldのデータ参照です。 |
| 範囲 | size | Vector3 | 読取・変更 | {10, 10, 10} | 形状の幅・高さ・奥行きです。TransformのScaleも掛かります。 |
| 種類 | preset | ParticleVectorFieldPreset | 読取・変更 | ParticleVectorFieldPreset::Wind | 組み込みの方向場の種類です。 |
| 強さ | intensity | float | 読取・変更 | 1 | 光や効果の強度倍率です。 |
| 追従 | tightness | float | 読取・変更 | 0 | 方向場の速度へ近づける追従度です。 |
| layerMask | layerMask | uint | 読取・変更 | 1 | 影響先・判定対象のLayerをbit集合で選びます。 |
| 有効 | enabled | bool | 読取・変更 | true | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 種類・FGA | Editor / C# | preset / field | Vortexは渦、Windは風、Assetは外部FGAの方向場です。Asset方式のときにFGA参照欄を使います。Particle側にはVectorField Moduleを追加します。 |
| 範囲・強さ・追従 | Editor / C# | size / intensity / tightness | 場の大きさ、流れの強さ、粒子速度を流れへ近づける度合いです。追従を強くすると元の発生初速度より方向場の動きが支配的になります。 |
| 有効・対象Layer | Editor / C# | enabled / layerMask | 作用させるFieldをParticle側のマスクで選別します。CPUの剛体用の流体計算ではありません。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はVectorFieldです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
選択値(Enum)
| 型・各値の詳説 | 使える値 |
|---|---|
| ParticleVectorFieldPreset | Asset / Vortex / Wind |
VectorField
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public static VectorField FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
public bool enabled | プロパティ(読取・変更) | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
public DefaultAsset? field | プロパティ(読取・変更) | VectorFieldのデータ参照です。 |
public float intensity | プロパティ(読取・変更) | 光や効果の強度倍率です。 |
public uint layerMask | プロパティ(読取・変更) | 影響先・判定対象のLayerをbit集合で選びます。 |
public ParticleVectorFieldPreset preset | プロパティ(読取・変更) | 組み込みの方向場の種類です。 |
public Vector3 size | プロパティ(読取・変更) | 形状の幅・高さ・奥行きです。TransformのScaleも掛かります。 |
public float tightness | プロパティ(読取・変更) | 方向場の速度へ近づける追従度です。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
強さと追従度を上げすぎると元の初速を打ち消します。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。