unity pc端 采用右键选择相机,中键盘移动缩放模型
来源:互联网 发布:屏蔽广告软件 编辑:程序博客网 时间:2024/06/03 19:24
using UnityEngine;
using System.Collections;
public class CameraMove : MonoBehaviour {
public Texture2D cur;
public Texture2D[] cursors;
public float rotateSpeed;
public float wheelSpeed;
public float dragSpeed;
private GameObject _camera;
private ChooseObject _chooseObject;
Vector2 startPosition;
Vector2 startPosition1;
// Use this for initialization
void Start()
{
_camera = GameObject.Find(“Main Camera”);
_chooseObject = this.GetComponent();
}
// Update is called once per framevoid Update () { //快速缩进视角{ if (Input.GetKeyUp (KeyCode.F)) { if (_chooseObject.target != null) { Hashtable args = new Hashtable(); args.Add("position", _chooseObject.target.transform.position); args.Add("time", 0.5f); iTween.MoveTo(_camera, args); } } //} //移动{ if (Input.GetMouseButtonDown(2)) //用来初始化鼠标点击 { startPosition1 = Input.mousePosition; } if (Input.GetMouseButton(2)) //PC端右键控制旋转 { //_camera.transform.position += new Vector3(((Input.mousePosition.x - startPosition1.x) / Screen.width) * dragSpeed, -((Input.mousePosition.y - startPosition1.y) / Screen.height) * dragSpeed, 0); _camera.transform.Translate(-Vector3.right * ((Input.mousePosition.x - startPosition1.x) / Screen.width) * dragSpeed); _camera.transform.Translate(Vector3.up * -((Input.mousePosition.y - startPosition1.y) / Screen.height) * dragSpeed); startPosition1 = Input.mousePosition; } //} //旋转{ if (Input.GetMouseButtonDown(1)) //用来初始化鼠标点击 { startPosition = Input.mousePosition; } if (Input.GetMouseButton(1)) //PC端右键控制旋转 { float a = ClampAngle(_camera.transform.localEulerAngles.x - ((Input.mousePosition.y - startPosition.y) / Screen.height) * rotateSpeed, -50, 50); _camera.transform.localEulerAngles += new Vector3(0, ((Input.mousePosition.x - startPosition.x) / Screen.width) * rotateSpeed, 0); _camera.transform.localEulerAngles = new Vector3(a, _camera.transform.localEulerAngles.y, 0); startPosition = Input.mousePosition; } //} //缩放{ Vector3 fwd = transform.TransformDirection(Vector3.forward); _camera.transform.Translate(Vector3.forward * Input.GetAxis("Mouse ScrollWheel") * wheelSpeed, _camera.transform); //}}static float ClampAngle(float angle, float min, float max){ if (angle > 120) { angle -= 360; } return Mathf.Clamp(angle, min, max);}public void CursorChange(){ //Cursor.SetCursor(cur, Vector2.zero, CursorMode.Auto);}
}
阅读全文
0 0
- unity pc端 采用右键选择相机,中键盘移动缩放模型
- 在PC或者手机端旋转、移动、缩放模型
- Unity通过射线碰撞选择模型,然后控制模型的移动、旋转、缩放等动作
- unity 触摸事件 移动,缩放,以及相机移动超出边界
- Unity鼠标中键滚动缩放相机,左键点击场景中模型居中显示
- Unity 3D:控制相机旋转、移动、缩放等功能
- unity 移动端 缩放 旋转
- unity中播放视频(PC端和移动端)
- 【Unity】 相机移动脚本
- Unity中用鼠标缩放相机。
- Unity中用鼠标缩放相机
- 移动端、PC端时间选择
- Unity实现在场景中自由移动游览的相机
- Unity 移动端简单手势控制(移动,旋转,缩放)
- unity 键盘控制移动
- unity相机跟随人物移动
- unity之--相机跟随移动
- PC端下,Unity键盘事件被屏蔽
- UML建模之时序图(Sequence Diagram)
- 日常整理算法笔记
- oracle for windows 监听问题之TNS-12545: 因目标主机或对象不存在, 连接失败
- 微信开发常见错误解析
- 电商实例、业务并发、网站并发及解决方法
- unity pc端 采用右键选择相机,中键盘移动缩放模型
- 数据结构实验之查找四:二分查找
- 加密相关文档下载链接
- 171219---LAMP Apache和PHP结合
- Java高级工程师面试知识汇总(一)
- 使用springMvc解决跨域问题
- home键检测
- 锐盾KVM-1901RD产品特性
- linux防火墙iptables设置