unity物体移动三种方式之——AddForceAtPosition(二)


  上次介绍了给物体施加力的一个函数AddForcePosition(),介绍了这个函数的三个参数和效果,今天我们继续来介绍这个函数。


  这个函数是通过给物体施加力的方式,来使物体运动,我们都学过牛顿三定律,物体的的速度受物体质量的影响,当你用10N的力去推一个质量为1kg的物体和一个100kg的物体的时候(没有阻力的情况下),他们的速度是不相同的。同样,在untiy中,这个道理同样成立,因为unity本来就可以模仿真实世界的受力情况。让我们来看一下。
  首先来说,使用 AddForcePosition()函数的物体,本身必须有Rigibody组件,在Rigibody组件中我们可以选择物体是否受重力影响,

unity物体移动三种方式之——AddForceAtPosition(二)_第1张图片


  第一个红框是代表物体的质量(密度),第二个红框代表是否受重力影响,其他参数,大家可以参考官方文档,可以点击组件右上角的小书(带一个小问号)的按钮即可。
  现在,我再代码中将物体质量设置为5,我们来看效果:



  我们可以看出小球速度非常快,轻易就击倒了目标,
  我们再看看我将小球质量调整为30以后的效果:



  小球的速度变得非常慢。
  这里我们可以看出质量对于物体的运动速度的影响(恒力条件下),所以,我们在用这个函数的时候,一定要注意物体的质量。

你可能感兴趣的:(菜鸟学习Unity)