由外向内进行分析吧,看车挂了哪些脚本:transform和Rigidbody就不说了。
Vehicle Controller类:
VehicleViewConfig类:
就是个控制视口的面板参数的类,调整摄像机视口的。
VehicleAudio类:
在Vehicle Controller对车辆进行控制的时候提供声音的支持。例如提供向前驱动的时候马达会响起来啦这种。
VehicleStandardInput类:
输入类,当我们在键盘上输入的时候,车辆的前进转向神马的,都是通过对Vehicle Controller类调用完成的。
VehicleDamage类:
车损类,当车辆发生碰撞时,对车体产生的形变是这个类完成的。由于车体没有骨骼动画,所以可以自由地控制模型点的位置,来完成动态的形变。由Vehicle Controller触发回调来通知损坏,损坏的位置点也由Vehicle Controller类提供。
VehicleTireEffects类:
轮胎特效类,车轮产生的烟尘等效果由这个类控制。
RigidbodyPause类:
还有个暂停物理世界的控制键类。
好了,基本一个车就这些代码就完成了车体的所有行为了,再就是UNITY5中的WheelCollider-特别准备的车轮物理体。
其实Vehicle Controller类的模拟车轮的大多数行为都是对WheelCollider参数的控制,所以Unity公司还是把持了车辆物理效果的底层,废话不多说我们看面板参数吧。
- Mass:轮胎质量
- Radius:轮胎半径
- Wheel Damping Rate:车轮阻尼系数
- Suspension Distance:悬挂距离
- Force App Point Distance:受力点距离
- Center:中心点
- Suspension Spring:悬挂弹簧参数
- Spring:弹力系数
- Damper:阻力系数
- Target Position:受力为0时的目标位置 角度/位置 的系数值
- Forward Friction:正向摩擦
- Extremum Slip:滑动摩擦极值
- Extremum Value:滑动摩擦值
- Asymptote Slip:滑动摩擦渐进系数
- Asymptote Value:滑动摩擦渐进值
- Stiffness:刚性系数
- Sideways Friction:侧向摩擦
- 参数同上
具体的效果还是测试出来的,毕竟只是提供了系数,目前位置官方的文档还不全,资料也很少。不过至少通过这个例子可以做一款车辆的游戏或应用了。