纳金网

标题: 物品展示必备代码(旋转与缩放代码) [打印本页]

作者: 狂风大尉    时间: 2014-6-30 18:32
标题: 物品展示必备代码(旋转与缩放代码)
  1. <pre>using UnityEngine;
  2. using System.Collections;
  3. // 直接放在相机上,控制相机的旋转和缩放 //
  4. public class CameraContro : MonoBehaviour {
  5.        
  6.         public Transform target;            
  7.         public float xSpeed=200, ySpeed=200, mSpeed=10;
  8.         public float yMinLimit=-50, yMaxLimit=50;
  9.         public float distance=7, minDistance=2, maxDistance=30;
  10.        
  11.         //bool needDamping = false;
  12.         public bool needDamping =true;  
  13.         float damping = 5.0f;
  14.        
  15.         public float x = 0.0f;
  16.         public float y = 0.0f;
  17.        
  18.        
  19.         public void SetTarget( GameObject go )
  20.                
  21.                
  22.         {
  23.                 target = go.transform;
  24.         }
  25.         // Use this for initialization
  26.         void Start () {
  27.                 Vector3 angles = transform.eulerAngles;
  28.                 x = angles.y;
  29.                 y = angles.x;
  30.         }
  31.        
  32.         // Update is called once per frame
  33.         void LateUpdate ()  
  34.         {
  35.                
  36.                
  37.                 if (target)  
  38.                 {
  39.                         //use the light button of mouse to rotate the camera
  40.                         if( Input.GetMouseButton(0) )
  41.                         {
  42.                                 x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
  43.                                 y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
  44.                                
  45.                                 y = ClampAngle(y, yMinLimit, yMaxLimit);
  46.                                
  47.                                 //print(Input.GetAxis("Mouse X"));
  48.                                 //print( Input.GetAxis("Mouse Y"));
  49.                                 //print(x);
  50.                                 //print(y);
  51.                                
  52.                                 //<a  target="_blank" class="relatedlink">unity3d</a>教程手册:www.unitymanual.com
  53.                         }  
  54.                        
  55.                        
  56.                         distance -= Input.GetAxis("Mouse ScrollWheel")*mSpeed;
  57.                         distance = Mathf.Clamp(distance, minDistance, maxDistance);
  58.                        
  59.                        
  60.                         Quaternion rotation = Quaternion.Euler(y, x, 0.0f);
  61.                         Vector3 disVector = new Vector3( 0.0f, 0.0f, -distance );
  62.                         Vector3 position = rotation * disVector + target.position;
  63.                         //adjust the camera
  64.                         if( needDamping )
  65.                         {
  66.                                 transform.rotation = Quaternion.Lerp(transform.rotation, rotation, Time.deltaTime*damping);
  67.                                 transform.position = Vector3.Lerp(transform.position, position, Time.deltaTime*damping);
  68.                         }
  69.                         else
  70.                         {
  71.                                 transform.rotation = rotation;
  72.                                 transform.position = position;
  73.                         }
  74.                         //Unity3D教程手册:www.unitymanual.com
  75.                        
  76.                 }
  77.         }
  78.        
  79.         static float ClampAngle (float angle, float min, float max)  
  80.         {
  81.                 if (angle < -360)
  82.                         angle += 360;
  83.                 if (angle > 360)
  84.                         angle -= 360;
  85.                 return Mathf.Clamp (angle, min, max);
  86.         }
  87. }
  88. </pre><div></div>
复制代码

作者: HIDEOKOJIMA    时间: 2014-6-30 18:50
Thanks for sharing !
作者: wucnj    时间: 2014-7-1 10:37
感谢分享!!!
作者: icerein    时间: 2014-7-1 12:47
感谢分享!!!
作者: 绝世爱笑    时间: 2014-7-8 17:46
mark一下。
作者: shenyg77    时间: 2014-8-12 21:02
Thanks for sharing !
作者: zhangzhen551    时间: 2014-8-12 21:16
that is  great
!




欢迎光临 纳金网 (http://course.narkii.com/club/) Powered by Discuz! X2.5