mass 质量 质量越大摩擦力会越大
Suspension Distance 车轮悬架距离
wheelcollider.morotTorque 驱动力
brakeTorque 这个是刹车的动力
steerAngle 这个是控制车子的转向
wheelcollider.rpm 这个可以获取车轮的转速
float speed = (wc.rpm ) * (wc.radius * 2 * Mathf.PI) * 60 / 1000;//这个可以得到千米每小时 的速度(wc.rpm这个得到车轮每分钟转了多少圈(wc.radius2Mathf.PI)车轮的周长 (wc.rpm*(wc.radius2Mathf.PI)每分钟走了多长距离 乘60得到每小时的距离 再除以1000 就是km/h
控制车轮模型的前进转动,实际就是控制模型的旋转 可以使用
车轮模型.Rotate()进行控制,其实就是要算出每秒转动的度数
wheelcollider.rpm360得到每分钟转的度数
wheelcollider.rpm360/60得到每秒转动的度数
车轮模型.Rotate(wheelcollider.rpm360/60Time.deltaTime*Vector.right)即可
控制车轮模型的转向转动,实际是控制模型在竖直向上方向的转动,也就是Y轴方向 可以通过wheelcollider.steerAngle
代码
Vector localeuler = 轮子模型.localEulerAngle
localeuler.y = wheelcollider.steerAngle
再把localeuler赋值给 轮子模型.localEulerAngle就行了
如果都用同一个轮子的层级去控制旋转有可能会有问题,那么可以让父辈去控制轮子的转弯转动,子辈控制轮子的前进转动。 只有前轮会左右转和向前转
控制车子的刹车刹车有两种情况表示用户是要刹车,一种是车子速度大于0,用户输入后退,另一种是倒车,用户输入前进
当刹车时,需要将驱动力设为0 wheelcollider.mortorTorque = 0
wheelcollider.brakeTorque = 1000 表示刹车动力为1000
wheelcollider有个属性判断轮子是否着地
通过wheelcollider.GetGroundHit(out hit) 其中out hit 变量类型是 WheelHit hit