表示テーマ
ForceField Component
周囲のGPU Particleへ引力・斥力・回転などの力を与えます。
設定する手順
- 範囲・強さ・方式を指定し、Particle側にForceField Moduleを追加します。
- SceneViewまたはGameViewで結果を確認します。
- 編集中のSceneまたはPrefabを保存します。
項目の説明
| 項目 | C#名 | 型 | 操作 | 定義時の初期値 | 意味 |
|---|---|---|---|---|---|
| 種類 | type | ParticleForceFieldType | 読取・変更 | ParticleForceFieldType::Attraction | 形状または動作の種類です。 |
| 軸方向 | axis | Vector3 | 読取・変更 | {0, 1, 0} | 形状・回転・関節などの基準軸です。 |
| 強さ | strength | float | 読取・変更 | 1 | 効果や力の強さです。 |
| 範囲 | range | float | 読取・変更 | 10 | Fieldなどの影響範囲です。 |
| 減衰 | falloff | float | 読取・変更 | 1 | 範囲の端へ近づくほど弱める減衰です。 |
| layerMask | layerMask | uint | 読取・変更 | 1 | 影響先・判定対象のLayerをbit集合で選びます。 |
| 有効 | enabled | bool | 読取・変更 | true | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
Inspectorの設定と使い方
「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。
| 設定・操作 | 編集場所 | C#の入口 | 意味・使い方 |
|---|---|---|---|
| 種類・軸方向・強さ | Editor / C# | type / axis / strength | Attractionは吸引、Repulsionは反発、Vortexは渦、Windは風です。軸方向と強さを指定し、Particle側へForceField Moduleを追加します。Rigidbodyへ直接力を加えるComponentではありません。 |
| 範囲・減衰 | Editor / C# | range / falloff | 力が届く範囲と端へ向かう弱まり方です。Transformで配置し、範囲外の粒子まで引き寄せる設定ではないことを確認します。 |
| 有効・対象Layer | Editor / C# | enabled / layerMask | 有効なFieldのうち、Particleの対象マスクと一致するものだけを使います。描画の可視性とは別の選別です。 |
初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。
C#から使う
操作型はForceFieldです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。
選択値(Enum)
| 型・各値の詳説 | 使える値 |
|---|---|
| ParticleForceFieldType | Attraction / Repulsion / Vortex / Wind |
ForceField
| 宣言・詳説 | 種類・操作 | 役割 |
|---|---|---|
public static ForceField FromEntity(GameObject gameObject) | 関数 | 既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。 |
public Vector3 axis | プロパティ(読取・変更) | 形状・回転・関節などの基準軸です。 |
public static int componentTypeID | プロパティ(読取専用) | 組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。 |
public bool enabled | プロパティ(読取・変更) | このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。 |
public float falloff | プロパティ(読取・変更) | 範囲の端へ近づくほど弱める減衰です。 |
public uint layerMask | プロパティ(読取・変更) | 影響先・判定対象のLayerをbit集合で選びます。 |
public float range | プロパティ(読取・変更) | Fieldなどの影響範囲です。 |
public float strength | プロパティ(読取・変更) | 効果や力の強さです。 |
public ParticleForceFieldType type | プロパティ(読取・変更) | 形状または動作の種類です。 |
継承する共通操作:Component
継承する共通操作:Object
使用時の注意
Particle側のLayerMaskとこのComponentのLayerを一致させます。
Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。