1. 程式人生 > >unity相機豎直方向上下無限制旋轉

unity相機豎直方向上下無限制旋轉

Unity開發中經常需要將視角轉向上下左右,一般的方法,上下轉到90度方向就轉不動了。這裡採用視角正前方一點作為旋轉中心,使用RotateAround就可以實現了同樣的效果。視角需要逆時針旋轉時,RotateAround則順時針旋轉。反之變然。

 Vector3 ptCenter = Camera.main.transform.position + Camera.main.transform.forward * 1.0f;
            float drag_speed = 50.0f;
            float rotX = Input.GetAxis("Mouse X") * drag_speed * Time.deltaTime;
            float rotY = Input.GetAxis("Mouse Y") * drag_speed * Time.deltaTime;
            Camera.main.transform.RotateAround(ptCenter, Vector3.up, rotX);
            Camera.main.transform.RotateAround(ptCenter, -Camera.main.transform.right, rotY);