[Unity]Rigidbody.AddForce 的4個類型比較

如我們所知Rigidbody.AddForc是用來針對剛體進行施力使用的。
依據官網說明 Rigidbody.AddForce 除了要輸入力量方向外,還有4種ForceMode可選擇。
ForceMode類型如下 :

分別是
Force : 施加一個連續力到剛體,並參考其質量。
Acceleration: 施加一個連續加速度到剛體,並忽略其質量。
Impulse: 施加一個瞬間力衝擊到剛體,並參考其質量。
VelocityChange: 施加一個瞬間速度改變到剛體,並忽略其質量。
這邊作個實驗
假使放置4個方塊,每個方塊質量都是10
力量是Y = 100。
方塊由左到右分別是 Force, Acceleration, Impulse, VelocityChange
在這個狀況下會發生什麼情形。
在單次觸發下

在連續觸發下

我們可以發現,位移量的改變都是
Force < Acceleration < Impulse < VelocityChange
(PS : 力量小於 90 時 Force不會有位移)
假使,每個方塊質量都是1000
力量是Y = 100
在單次觸發下
在連續觸發下
我們可以發現,當質量很大的時候,位移量的改變則是Force = Impulse < Acceleration
留言
張貼留言