Unity - Point Effector 2D:ある点に接触したオブジェクトに力を加える
初めに
Point Effector 2D を使うことで、ゲームオブジェクト のコライダーが互いに接触するときに、引き付けたり、跳ね返したりするための力を設定できます。
Index
Point Effector 2D とは
Point Effector 2D を使うことで 、ゲームオブジェクト のコライダーが互いに接触するときに、引き付けたり、跳ね返したりするための力を設定できます。
使い方
2D 用になります。Collider2D がついているオブジェクトに、Point Effector 2D コンポーネントをアタッチします。
Collider2D コンポーネントの IsTrigger と UsedByEffector を有効にします。
これで、Collider と Rigidbody2D をもったオブジェクトが接触したときに、力を加えるようになります。
コンポーネントのプロパティ
Force Magnitude
適用する力の大きさを変更できます。正の数の場合、オブジェクトと反対方向に力を与え、負の数の場合、オブジェクトに近づける方向に力を与えます。
(正の場合)
youtu.be
(負の場合)
youtu.be
Force Variation
適用される力の大きさの範囲を表します。
Distance Scale
ソースと対象間で距離に適用されるスケール。距離を計算する際にこの値をかけ合わせ、適用する力の量を管理するのに効果的な距離の変更を可能にします。
Force Source
対象オブジェクトに力を与える基準となる点。Collider の位置と Rigidbody の位置のどちらかを選択できます。
Force Target
力を与えられる側の基準となる点。Collider の位置と Rigidbody の位置のどちらかを選択できます。
Force Mode
力の計算の仕方を選択できます。
力の計算方法 | 説明 |
---|---|
Constant | ターゲットとの距離に関係なく一定 |
Inverse Linear | ターゲットとの距離が離れるにつれて、直線的に力が弱まる |
Inverse Squared | ターゲットとの距離が離れるにつれて、二乗的に力が弱まる |