unity3d旋转摄像机脚本 【转】

unity3d旋转摄像机脚本

[c-sharp] view plaincopy
  1. void Update ()  
  2. {  
  3.   if(Input.GetMouseButton(1))  
  4.   {  
  5.    if (axes == RotationAxes.MouseXAndY)  
  6.    {  
  7.     // Read the mouse input axis  
  8.     rotationX += Input.GetAxis("Mouse X") * sensitivityX;  
  9.     rotationY += Input.GetAxis("Mouse Y") * sensitivityY;  
  10.     rotationX = ClampAngle (rotationX, minimumX, maximumX);  
  11.     rotationY = ClampAngle (rotationY, minimumY, maximumY);  
  12.       
  13.     Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);  
  14.     Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, Vector3.left);  
  15.       
  16.     transform.localRotation = originalRotation * xQuaternion * yQuaternion;  
  17.    }  
  18.    else if (axes == RotationAxes.MouseX)  
  19.    {  
  20.     rotationX += Input.GetAxis("Mouse X") * sensitivityX;  
  21.     rotationX = ClampAngle (rotationX, minimumX, maximumX);  
  22.     Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);  
  23.     transform.localRotation = originalRotation * xQuaternion;  
  24.    }  
  25.    else  
  26.    {  
  27.     rotationY += Input.GetAxis("Mouse Y") * sensitivityY;  
  28.     rotationY = ClampAngle (rotationY, minimumY, maximumY);  
  29.     Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, Vector3.left);  
  30.     transform.localRotation = originalRotation * yQuaternion;  
  31.    }  
  32.   }  

posted @ 2012-02-26 17:30  渡蓝  阅读(1848)  评论(1)    收藏  举报