回る男の備忘録

どこかでプログラム書いてシャニマスして野球見てTwitterやってる人間の駄文

【Unity】AddForceのオプション

メモです。Unityです。

AddForceとは

AddForceとは「力を加える」という意味で、特定方向のベクトルに対し力を加えます。
力を加えることでオブジェクトを飛ばしたりできます。

ForceMode

AddForceには2種類のパラメータを設定できます。 詳しくはここ参照。

public void AddForce (Vector3 force, ForceMode mode= ForceMode.Force);

forceは力を加えるベクトルの強さを指します。
modeは力を加える種類を指定できます。

力を加える種類ってなんぞや?デフォルトでForceMode.Forceになっとるやろ。

ForceMode

公式見るのが手っ取り早いです。

ForceMode.Force

継続的に力を加えるということです。
イメージとしてはモノを押し続けるようなイメージですかね。

ForceMode.Acceleration

質量を無視して継続的に力を加えます。
ForceMode.Forceは質量を考慮します。

カビゴンピカチュウの質量を無視して押し続けるって考えると中々シュール。

ForceMode.Impulse

瞬間的な力を加えます。
イメージとしては弾丸の射出とかですかね。

ForceMode.VelocityChange

質量を無視して瞬間的な力を加えます。

まとめ

必要に応じてForceModeを使い分けられるといいよね。