Unity3D刚体不同力的测试(ForceMode,AddForce,RelativeAddForce)

摘自圣典的一段翻译:

Force
Add a continuous force to the rigidbody, using its mass.
添加一个可持续力到刚体,使用它的质量。
Acceleration
Add a continuous acceleration to the rigidbody, ignoring its mass.
添加一个可持续加速度到刚体,忽略它的质量。
Impulse
Add an instant force impulse to the rigidbody, using its mass.
添加一个瞬间冲击力到刚体,使用它的质量。
VelocityChange
Add an instant velocity change to the rigidbody, ignoring its mass.
添加一个瞬间速率变化给刚体,忽略它的质量。

VelocityChange 速率改变,无视质量,所以给的值要小一些。是累加,并非直接赋值。用过感觉好像还有个内部值,建议直接改速率好点,稳定。

Acceleration 测试似乎是和Force没什么区别

Impulse 是普通力值的100倍左右

AddForce 是相对世界坐标的力

AddRelativeForce 是相对自身坐标的力

这里单独把速率Velocity提出来说一下

一般在游戏中,主角移动会推动敌人也跟着移动,否则就穿透了,而敌人被推动的快慢可以设置质量来影响。

这时候会有一个问题,当你要将敌人浮空时,直接用AddForce会被质量影响,你得把数值设置到几万,而改变速率不受质量影响。

你可以直接改变速率或者使用AddForce的VelocityChange参数改变速率。

原文地址:https://www.cnblogs.com/hont/p/4538412.html