Unity官方文档
WheelCollider.motorTorque
描述:
轮轴上的电动机扭矩,以牛顿米为单位。正或负取决于方向。 要模拟制动,请不要使用负电动机转矩,而应使用制动转矩。
背景
在开发赛车游戏DEMO时,使用addForce(new Vector3())来施加力会使赛车在运动中显得很不真实。而对轮胎使用motorTorque来施加一个扭矩力来驱动赛车,并且设置前轮转角和轮胎转动效果会更加真实。
然而,在我使用motorTorque后,预览效果中只有WheelCollider在转动,但是整个车身并没有前进而是原地不动。
解决
在经历了一下午的查找资料,检查都没找出问题出在哪了。起初以为是脚本中没有获取到轮胎的Collider,结果代码确实没有出错。后来怀疑就是车辆模型可能有问题,但是发现轮胎转动效果可以正常显示,前轮转动也正常,就是没有速度。最后,发现问题在于物理设置栏中,将重力Y轴改为-10后成功前进。
分析
由于设置重力全为0,赛车模型在空中与地面还有很细小的间隙,导致轮胎全在空中空转,自然也不会前进了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。