ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Unity - Point Effector 2D:ある点に接触したオブジェクトに力を加える

初めに

 Point Effector 2D を使うことで、ゲームオブジェクト のコライダーが互いに接触するときに、引き付けたり、跳ね返したりするための力を設定できます。

Point Effector 2D とは

 Point Effector 2D を使うことで 、ゲームオブジェクト のコライダーが互いに接触するときに、引き付けたり、跳ね返したりするための力を設定できます。

youtu.be

使い方

 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 ターゲットとの距離が離れるにつれて、二乗的に力が弱まる