前面,学了物体的移动功能,现在来学一下C#实现鼠标控制摄像机(视角)移动。

代码如下:

C#脚本(在Unity 5.5.1 下能运行):

using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseView : MonoBehaviour { public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 } public RotationAxes m_axes = RotationAxes.MouseXAndY; public float m_sensitivityX = 10f; public float m_sensitivityY = 10f; // 水平方向的 镜头转向 public float m_minimumX = -360f; public float m_maximumX = 360f; // 垂直方向的 镜头转向 (这里给个限度 最大仰角为45°) public float m_minimumY = -45f; public float m_maximumY = 45f; float m_rotationY = 0f; // Use this for initialization void Start () { // 防止 刚体影响 镜头旋转 if (GetComponent()) { GetComponent ().freezeRotation = true; } } // Update is called once per frame void Update () { if (m_axes == RotationAxes.MouseXAndY) { float m_rotationX = transform.localEulerAngles.y + Input.GetAxis ("Mouse X") * m_sensitivityX; m_rotationY += Input.GetAxis ("Mouse Y") * m_sensitivityY; m_rotationY = Mathf.Clamp (m_rotationY, m_minimumY, m_maximumY); transform.localEulerAngles = new Vector3 (-m_rotationY, m_rotationX, 0); } else if (m_axes == RotationAxes.MouseX) { transform.Rotate (0, Input.GetAxis ("Mouse X") * m_sensitivityX, 0); } else { m_rotationY += Input.GetAxis ("Mouse Y") * m_sensitivityY; m_rotationY = Mathf.Clamp (m_rotationY, m_minimumY, m_maximumY); transform.localEulerAngles = new Vector3 (-m_rotationY, transform.localEulerAngles.y, 0); } } }

调用时,只需把该脚本绑定给物体即可。这里是绑定摄像机,以摄像机为第一人称视角转动。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

unity鼠标控制镜头旋转_Unity3D实现鼠标控制视角转动|chu相关推荐

  1. unity鼠标控制镜头旋转_unity3D鼠标滚轮来实现镜头拉近拉远及视角旋转

    镜头拉近拉远的代码(无限拉远拉近) 代码如下: if( Input.GetAxis("Mouse ScrollWheel") != 0 ) { this.gameObject.tr ...

  2. Unity实现触摸屏手势控制镜头旋转与缩放

    一.关于 Unity实现触摸屏手势控制镜头旋转与缩放脚本 /*** * Title:"三维可视化" 项目 * 主题:手势控制物体的旋转缩放 * Description: * 功能: ...

  3. Unity 全景漫游过程中使用AWSD控制镜头移动,EQ控制镜头升降,鼠标右键控制镜头旋转。

    镜头的旋转设置 首先为镜头设置一个父类,通过父类的Y值设置镜头左右的旋转,在通过镜头本身的X值控制镜头上下的旋转.  代码: if (Input.GetMouseButton(1)){float mo ...

  4. WebGL入门(三十四)-三维空间中鼠标控制物体旋转,用鼠标控制立方体的旋转

    用鼠标控制立方体的旋转 1. demo效果 2. 实现要点 2.1 注册鼠标事件 2.1.1 注册鼠标事件函数的声明 2.1.2 注册鼠标事件函数的调用 2.2 纹理图片加载 2.3 图形绘制 3. ...

  5. Unity3D研究院之IOS触摸屏手势控制镜头旋转与缩放

    前几篇文章介绍了很多Unity3D引擎自身的一些问题, 今天我们在回到IOS设备上讨论一些触摸屏幕手势,本章的目标是通过触摸iPhone屏幕手势 实现模型左右的旋转,与模型的缩放. 大家想一想模型的旋 ...

  6. unity鼠标控制镜头旋转_Unity Camera教程之 摄像机跟随鼠标移动而旋转

    FollowMouseMove 脚本具体内容如下: using UnityEngine; public class FollowMouseMove : MonoBehaviour { public f ...

  7. unity物体自身轴旋转_unity3D中物体实现任意角度自旋转

    主要涉及函数: Input.GetAxis("Mouse x") 可取得鼠标横向(x轴)移动增量 Input.GetAxis("Mouse y") 可取得鼠标竖 ...

  8. unity物体自身轴旋转_unity3D实现物体任意角度自旋转

    本文实例为大家分享了unity3D实现物体任意角度自旋转的具体代码,供大家参考,具体内容如下 主要涉及函数: Input.GetAxis("Mouse x") 可取得鼠标横向(x轴 ...

  9. Unity3D 鼠标拖动和旋转物体以及鼠标拖动图片

    1.鼠标拖动物体Cube using System.Collections; using System.Collections.Generic; using UnityEngine; using Un ...

最新文章

  1. Spring Security原理之springSecurityFilterChain
  2. 2020 我的C++学习之路 C++PrimerPlus第十一章课后习题
  3. 雨中赶班车 2019-12-19
  4. Oracle中过程/函数返回结果集
  5. [转]阿里开源低代码引擎LowCodeEngine
  6. classpass 配置mysql_jmeter压测学习18-JDBC配置连接mysql数据库
  7. ISE14.7逻辑综合与实现工作过程
  8. J - 简单枚举类型——植物与颜色
  9. 如何更好地玩转 GitHub?
  10. 胶囊碰撞体(CapsuleCollider)
  11. jq 如何获取和当然元素相同类名的标签_JS/JQ基于localStorage的本地数据储存指南...
  12. RHCSA红帽认证考试题库--上午考试题
  13. 修改环境变量删除了path
  14. 车辆模型-动力学模型(Dynamics Model)
  15. 分享两款免费的-思维导图-Freeplane-Setup,百度脑图
  16. 小心!新媒体环境下,营销传播还有几个大坑!
  17. 码距和检错纠错能力的关系、CRC和Hamming Code
  18. 怎样用计算机给ipd传电影,怎样不使用iTunes将电影导入iPad?
  19. ntp服务restrict_NTP服务搭建详解一条龙
  20. 前端基础面试题(HTML + CSS)

热门文章

  1. [Python人工智能] 三.TensorFlow基础之Session、变量、传入值和激励函数
  2. 2017年第八届蓝桥杯C/C++ A组国赛 —— 第三题:表达式计算
  3. WebDriver自动化测试框架详解
  4. 关于invSqrt( )函数
  5. 【Linux】一步一步学Linux——telinit命令(144)
  6. 【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法
  7. 一个4体低位交叉的存储器_GD25Q16CSIG|NRAM存储器的原理及优势是什么?
  8. linux登录界面主题,Ubuntu 18.10(Cosmic Cuttlefish) 新登录界面亮相,主题为Yaru
  9. 最新 Docker 部署nginx Tocmat跑项目(解决springBoot启动两次的问题)
  10. 如何在Windows下安装Linux子系统(Ubuntu,openSUSU,SUSU Linux Server)