wasd移动,按住左键旋转视角

    Transform camTrans;
    Vector3 camAng;
    float camHeight = 2.5f;

    Quaternion rotation = Quaternion.identity;


    void Start()
    {
        camTrans = Camera.main.transform;

        Vector3 startPos = transform.position;

        startPos.y += camHeight;

        camTrans.position = startPos;

        camTrans.rotation = transform.rotation;        camAng = camTrans.eulerAngles;
    }


    private void Update()
    {
        if (Input.GetMouseButton(0))
        {
            float y = Input.GetAxis("Mouse X");

            float x = Input.GetAxis("Mouse Y");

            camAng.x -= x;

            camAng.y += y;

            camTrans.eulerAngles = camAng;

           camTrans.position = new Vector3(this.transform.position.x, camTrans.position.y, this.transform.position.z);

            float camy = camAng.y;

            rotation .eulerAngles = new Vector3(this.transform.eulerAngles.x, camy, this.transform.eulerAngles.z);//使用四元数旋转

            Vector3 startPos = transform.position;

            //startPos.y += camHeight;

            camTrans.position = startPos;
        }
        if (Input.GetKey(KeyCode.W))
        {
            this.transform.Translate(Vector3.forward * Time.deltaTime * 20f);
        }
        if (Input.GetKey(KeyCode.S))
        {
            this.transform.Translate(Vector3.back * Time.deltaTime * 20f);
        }
        if (Input.GetKey(KeyCode.A))
        {
            this.transform.Translate(Vector3.left * Time.deltaTime * 20f);
        }
        if (Input.GetKey(KeyCode.D))
        {
            this.transform.Translate(Vector3.right * Time.deltaTime * 20f);
        }
    }

你可能感兴趣的:(鼠标,unity)