Unity3d对车轮的模拟做了个WheelCollider的组件,是U3d做汽车类型游戏的关键所在。WheelCollider模拟的轮子的碰撞过程,还模拟了汽车的悬挂系统,引擎系统,以及轮胎与地面摩擦等汽车行驶的关键物理算法。
通常,在Unity3D中实现汽车运行效果的方法有如下几个:
1 汽车使用translate做坐标移动,就是忽略wheelcollide和rigidbodyr物理引擎,新手适用,简单方便,但在细节效果上会有很多问题。
2 用wheelcollider的悬挂设置和摩擦力设置做。这个应该是最标准的,但WheelCollider的使用实在比较困难。
3 车轮使用wheelCollider,但汽车移动的动力不使用轮子的motorTorque,而是在汽车的rigidbody上施加Force来传动(官方的例子是这样的)。很奇怪为何官方不完全使用WheelCollider来实现汽车的运行,可能是因为WheelCollider本身还存在缺陷吧。
下面是WheelCollider的一些参数说明(来源于http://www.unity3d8.com/)
Variables
center
轮子中心,相对于本地坐标系的
radius
轮子半径,相对于本地坐标系。
suspensionDistance