Unity3d物体模型(实现旋转缩放平移自动旋转)

来源:互联网 发布:新的网络社交软件 编辑:程序博客网 时间:2024/04/28 13:18

基本功能实现:物体通过鼠标左键上下移动,中间键缩放、右键旋转,30秒没操作,物体自动旋转


实例代码:

using UnityEngine;using System.Collections;public class Script_07_11 : MonoBehaviour {public Transform target;private int MouseWheelSensitivity = 50;private int MouseZoomMin = 20;private int MouseZoomMax = 112;private float normalDistance = 500;private bool flag_Roable = true;//自动旋转标志private Vector3 normalized;private float xSpeed = 250.0f;private float ySpeed = 120.0f;private float x = 0.0f;private float y = 0.0f;private System.DateTime  oldTime;private System.DateTime  nowTime;void Start () {oldTime = System.DateTime.Now;//transform.LookAt(target);}void Update (){nowTime = System.DateTime .Now;System.TimeSpan ts1 = new System.TimeSpan(oldTime.Ticks);System.TimeSpan ts2 = new System.TimeSpan(nowTime.Ticks);System.TimeSpan ts =  ts2.Subtract(ts1).Duration();if(ts.Seconds>30 && !Input.anyKey){flag_Roable = true;oldTime = System.DateTime.Now;}if(flag_Roable && Input.anyKey){flag_Roable = false;}if(flag_Roable)//自动旋转{x-=Time.deltaTime*30;var rotation = Quaternion.Euler(0,x,0);transform.RotateAround(target.position,Vector3.up,0.3f);}else{if(Input.GetMouseButton(1)){if(Input.GetAxis("Mouse X")<0)   transform.RotateAround(target.position,Vector3.down,4); if(Input.GetAxis("Mouse X")>0)transform.RotateAround(target.position,Vector3.up,4);}else if (Input.GetAxis("Mouse ScrollWheel") != 0){    //normalized = (transform.position - CameraTarget).normalized;if (normalDistance >= MouseZoomMin && normalDistance <= MouseZoomMax){normalDistance -= Input.GetAxis("Mouse ScrollWheel") * MouseWheelSensitivity;}if (normalDistance < MouseZoomMin){normalDistance = MouseZoomMin;}if (normalDistance > MouseZoomMax){normalDistance = MouseZoomMax;}//transform.position =   normalized * normalDistance;transform.camera.fieldOfView = normalDistance;}else if(Input.GetMouseButton(0)){//print("wyz-==="+Input.GetAxis("Mouse Y"));if(Input.GetAxis("Mouse Y")<0)  //down{Vector3 temp=Vector3.up * 60.0f * Time.deltaTime;print("wyz==up==="+transform.localPosition.y);if(transform.localPosition.y>300){temp=Vector3.up * 5.0f * Time.deltaTime;transform.Translate(temp);}else{transform.Translate(temp);}}if(Input.GetAxis("Mouse Y")>0)  //up {print("wyz==donw==="+transform.localPosition.y);Vector3 temp=Vector3.down * 60.0f * Time.deltaTime;if(transform.localPosition.y<-300){temp=Vector3.up * 5.0f * Time.deltaTime;transform.Translate(temp);}else{transform.Translate(temp);}}}}}}


原创粉丝点击