【Unity】 Area Effector 2D
動作検証環境
- Unity 2022.2.0f1
はじめに
Area Effector 2D は Collider で設定した領域と接触した時に様々な力を与えるコンポーネントです。
プロパティ
プロパティ名 | 説明 |
---|---|
Use Collider Mask | Collider Mask を使いたい時にチェック。 |
Collider Mask | ここでチェックを付けた Layer に対してのみ Area Effector 2D の処理対象となる。 |
Use Global Angle | チェックを付けると Force Angle の指定がワールド座標での角度として指定される。 |
Force Angle | 力を加える向き(角度)。 |
Force Magnitude | 力の強さ。 |
Force Variation | ランダムで設定される力の強さ。「Force Magnitude+0~ここで指定した値の範囲のランダム値」が最終的に出力される力の強さになる。 |
Force Target | 力を加える位置を指定。Collider を選択した場合には Collider の位置に、 Rigidbody を選択した場合には重心に力が加えられる。 |
Drag | 移動を抑える力の強さを設定。 |
Angular Drag | 回転(角速度)を抑える力の強さを設定。 |
解説
Force Magnitude と Force Angle
緑色エリアには Area Effector 2D を設定し、赤い Box に力が加わる環境を準備します。 なお、 Box の Rigidbody 2D の Gravity Scale は 0 に設定して重力はかかっていない状態にします。
この状態でこの様に Force Managitude に 10 を設定すると Box は右へ移動して行きます。 これは Force Angle が 0 で有ること合わせた効果です。
Force Angle を 90、180、270 に変更した場合には Box はこの様な方向へ移動します。
Force Variation
この2つの緑色エリアにはどちらにも Force Magnitude と Force Variation に同じ値を設定をしています。
「Force Magnitude + Force Variation でのランダム値」の力が加えられるので実行させると2つの Box の移動量に差が発生します。
Drag
Drag の値が大きいほど減速が大きい事が確認できます。
Angular Drag
Angular Drag の値が大きいほど回転の減速が大きい事が確認できます。