Unity 车子移动,车轮旋转

控制车子移动

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 ().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;

    }
}

你可能感兴趣的:(Unity3d)