控制车子移动
效果图附上!
1.首先4个车轮复制一遍为车轮2备用
2.给车轮2全部添加wheel collider,只剩下车轮碰撞器和transform组件
3.给原版4个车轮添加脚本wheel,变量共有,面板赋值,依次添加车轮2里面的车轮colider,最后给车子添加总移动脚本carmove
1.每个车轮的脚本
public class Wheel : MonoBehaviour
{
public WheelCollider mycolider; //面板赋值,拽入已经复制好的轮子的碰撞体。
private float speed=0;
void Update ()
{
//rotation 是一个四元数,综合w的位置信息变化
transform.rotation = mycolider.transform.rotation * Quaternion.Euler (speed, mycolider.steerAngle, 0);
speed += mycolider.rpm * 360 /60 *Time.deltaTime; //1s转的角度
}
}
2.车子的脚本
public class Carmove : MonoBehaviour
{
public WheelCollider backleftcolider;
public WheelCollider backrightcolider;
public EasyJoystick joystick; //遥感控制
public float force = 500; //涡轮力
public float angle = 20; //汽车转弯偏移角度
void Start ()
{
GetComponent<Rigidbody> ().centerOfMass = new Vector3 (0f,-0.8f,0f);
}
void Update ()
{
//改变位移,给涡轮力
backleftcolider.motorTorque = force * joystick.JoystickTouch.y;
backrightcolider.motorTorque = force * joystick.JoystickTouch.y;
//改变方向
backleftcolider.steerAngle = angle * joystick.JoystickTouch.x;
backrightcolider.steerAngle = angle * joystick.JoystickTouch.x;
}
}