【Unity3D】使用鼠标键盘控制Camera视角(即时战略类游戏视角):缩近,拉远,旋转
2015-01-16 20:43
405 查看
今天写一个demo,要用到鼠标键盘控制三维视角,因此写了个脚本用于控制。
该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转。同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果。
直接把脚本拖到摄像机上就可以使用了~
该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转。同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果。
using UnityEngine; using System.Collections; public class CameraController : MonoBehaviour { public float near = 20.0f; public float far = 100.0f; public float sensitivityX = 10f; public float sensitivityY = 10f; public float sensitivetyZ = 2f; public float sensitivetyMove = 2f; public float sensitivetyMouseWheel = 2f; void Update () { // 滚轮实现镜头缩进和拉远 if (Input.GetAxis("Mouse ScrollWheel") != 0) { this.camera.fieldOfView =this.camera.fieldOfView - Input.GetAxis("Mouse ScrollWheel")*sensitivetyMouseWheel; this.camera.fieldOfView = Mathf.Clamp(this.camera.fieldOfView, near, far); } //鼠标右键实现视角转动,类似第一人称视角 if (Input.GetMouseButton(1)) { float rotationX = Input.GetAxis("Mouse X") * sensitivityX; float rotationY = Input.GetAxis("Mouse Y") * sensitivityY; transform.Rotate(-rotationY, rotationX, 0); } //键盘按钮←和→实现视角水平旋转 if (Input.GetAxis("Horizontal")!=0) { float rotationZ=Input.GetAxis("Horizontal") * sensitivetyZ; transform.Rotate(0, 0, rotationZ); } } }
直接把脚本拖到摄像机上就可以使用了~
相关文章推荐
- Unity3d 鼠标和键盘控制视角缩放、扩大、平移、旋转
- Unity3d中使用鼠标控制物体的平移旋转缩放
- 【Unity3D】键盘鼠标控制视角的移动
- 游戏编程入门(5):使用键盘和鼠标控制游戏
- Unity3D鼠标控制摄像机“左右移动控制视角+WASD键盘控制前后左右+空格键抬升高度”脚本
- unity3D鼠标滚轮来实现镜头拉近拉远及视角旋转
- Unity3D 游戏引擎之控制模型移动旋转与碰撞(七)
- (第二章)Unity3D用键盘控制物体旋转
- unity3d 2d游戏鼠标拉近旋转拖拽模型操作
- vc++ 添加可以滚动整个窗口的滚动条(水平和竖直)并可使用鼠标滚动轮和键盘上的上下键控制滚动条
- 为OpenGL考试而准备的代码——鼠标控制视角变换+简单纹理映射+键盘的光照控制+Bezier曲线
- Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放(八)
- 使用控制項Timer與ProgressBar的鼠标点击游戏,带排名
- Unity3D 游戏引擎之IOS触摸屏手势控制镜头旋转与缩放(八)
- unity3d实现控制摄像机放大缩小视野加左右可旋转视角角度
- Unity3D【脚本】鼠标对摄像机的控制 - 点击鼠标,摄像机围绕圆心旋转(第三次修改)
- Unity3D 游戏引擎之感应IOS设备旋转与iPhone键盘事件
- 使用Synergy在局域网中用一套键盘/鼠标控制多台电脑
- Unity3D入门(五):鼠标控制旋转、摄像机缩放
- unity3d 2d游戏之鼠标拉近旋转拖拽模型