【源码】物品展示必备代码

【原创】物品展示必备代码(旋转与缩放代码)

using UnityEngine;
using System.Collections;
// 直接放在相机上,控制相机的旋转和缩放 //
public class A : MonoBehaviour {
 public Transformtarget;             
 public float xSpeed=200, ySpeed=200,mSpeed=10; 
 public float yMinLimit=-50,yMaxLimit=50; 
 public float distance=7, minDistance=2,maxDistance=30; 
 
 //bool needDamping =false; 
 public bool needDamping=true;  
 float damping = 5.0f; 
 
 public float x = 0.0f; 
 public float y = 0.0f; 
 
 
 public void SetTarget( GameObject go) 
  
  
 { 
  target =go.transform; 
 } 
 // Use this forinitialization 
 void Start () { 
  Vector3 angles =transform.eulerAngles; 
  x =angles.y; 
  y =angles.x; 
 } 
 
 // Update is called once perframe 
 void LateUpdate()  
 { 
  
  
  if(target)  
  { 
   //use thelight button of mouse to rotate the camera 
   if(Input.GetMouseButton(0) ) 
   { 
    x+= Input.GetAxis("Mouse X") * xSpeed *0.02f; 
    y-= Input.GetAxis("Mouse Y") * ySpeed *0.02f; 
    
    y= ClampAngle(y, yMinLimit, yMaxLimit); 
    
    //print(Input.GetAxis("MouseX")); 
    //print(Input.GetAxis("Mouse Y")); 
    //print(x); 
    //print(y); 
    
    //Unity3D教程手册:www.unitymanual.com
   }  
   
   
   distance -=Input.GetAxis("Mouse ScrollWheel")*mSpeed; 
   distance =Mathf.Clamp(distance, minDistance,maxDistance); 
   
   
   Quaternionrotation = Quaternion.Euler(y, x, 0.0f); 
   Vector3disVector = new Vector3( 0.0f, 0.0f, -distance); 
   Vector3position = rotation * disVector +target.position; 
   //adjust thecamera 
   if(needDamping ) 
   { 
    transform.rotation= Quaternion.Lerp(transform.rotation, rotation,Time.deltaTime*damping); 
    transform.position= Vector3.Lerp(transform.position, position,Time.deltaTime*damping); 
   } 
   else 
   { 
    transform.rotation= rotation; 
    transform.position= position; 
   } 
   //Unity3D教程手册:www.unitymanual.com
   
  } 
 } 
 
 static float ClampAngle (float angle, float min,float max)  
 { 
  if (angle <-360) 
   angle +=360; 
  if (angle >360) 
   angle -=360; 
  return Mathf.Clamp (angle, min,max); 
 } 
}
 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值