“幽灵视角”,适合用来漫游场景

把代码加载到摄像机上

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Control : MonoBehaviour {public float zoomSensitivity = 10f;public float mouseSensitivity = 5f;public float speedSensitivity = 20f;private float m_deltX = 0f;private float m_deltY = 0f;private Camera mainCamera;void Start () {mainCamera = GetComponent<Camera>();m_deltX = mainCamera.transform.rotation.eulerAngles.x;m_deltY = mainCamera.transform.rotation.eulerAngles.y;}// Update is called once per framevoid Update (){if (Input.GetMouseButton(0)){LockCursor(true);UFOMove();ZoomMove();}else LockCursor(false);}private void FixedUpdate(){if (Input.GetMouseButton(0)){LookRotation();}}private void ZoomMove(){if (Input.GetAxis("Mouse ScrollWheel") != 0){mainCamera.transform.localPosition = mainCamera.transform.position + mainCamera.transform.forward * Input.GetAxis("Mouse ScrollWheel") * zoomSensitivity; ;}}private void UFOMove(){float horizontal = Input.GetAxis("Horizontal");float vertical = Input.GetAxis("Vertical");if (Input.GetKey(KeyCode.LeftShift)){horizontal *= 3; vertical *= 3;}mainCamera.transform.Translate(Vector3.forward * vertical * speedSensitivity * Time.deltaTime);mainCamera.transform.Translate(Vector3.right * horizontal * speedSensitivity * Time.deltaTime);}private void LookRotation(){m_deltX += Input.GetAxis("Mouse X") * mouseSensitivity;m_deltY -= Input.GetAxis("Mouse Y") * mouseSensitivity;m_deltX = ClampAngle(m_deltX, -360, 360);m_deltY = ClampAngle(m_deltY, -70, 70);mainCamera.transform.rotation = Quaternion.Euler(m_deltY, m_deltX, 0);}private void LockCursor(bool b){//Cursor.lockState = b ? CursorLockMode.Locked : Cursor.lockState = CursorLockMode.None;Cursor.visible = b ? false : true;}float ClampAngle(float angle, float minAngle, float maxAgnle){if (angle <= -360)angle += 360;if (angle >= 360)angle -= 360;return Mathf.Clamp(angle, minAngle, maxAgnle);}
}

控制说明:按住左键开始操作,shift加速,wsad滚轮控制,鼠标旋转,俯仰角70°

unity简单自由漫游摄像机控制脚本相关推荐

  1. Unity SKFramework框架(十七)、FreeCameraController 上帝视角/自由视角相机控制脚本

    目录 一.简介 二.功能 1.键盘控制平移 2.鼠标控制平移 3.视角拉近拉远 4.绕视角中心旋转 5.视角聚焦 6.活动区域限制 7.闲置时绕视角中心旋转 三.核心变量 一.简介 FreeCamer ...

  2. Unity3D第三人称摄像机控制脚本

    好久没有敲Blog该.感谢您的留言.注意.私人信件和其他支持,但我似乎没有办法继续自己曾经写了一篇博客系列,因为我在网上找到有关unity3D太少的内容,U3D相关的文章!.. 第三人称视角 第三人称 ...

  3. unity摄像机控制脚本

    一.摄像机结构 二.安卓端已验证,可以使用:调整旋转的速度和阻尼值的时候需谨慎,否则会出现反转现象(完整包下载链接) 三.代码 using System.Collections; using Syst ...

  4. Unity简单的实现动画三连击脚本

    思路讲解 三连击动作动画状态转换关系如下 (1)Idle->Attack1->Idle (2)Idle->Attack1->Attack2->Idle (3)Idle-& ...

  5. Unity 3D 一个简单的角色控制脚本

    之所以写这个脚本,是因为我想起了我还是新手的时候,那时为了一个角色控制脚本百度了半天还是一无所获,因为看不懂啊,都写的太高级了 希望这个脚本能够帮助那些 像曾经的我一样迷失于代码中的新手们能够清晰的理 ...

  6. 【Unity 工具,简单学习】DoTween,脚本控制动画工具

    DOTween:脚本控制动画工具 简单介绍 安装 简单使用 eg.1 简单移动,跳动 eg2. 缓动 Easing(动画插值) eg3. 循环 Looping eg4. 变换颜色,变换大小 eg5. ...

  7. Unity简单第一人称移动和摄像机旋转

    美女镇文 图片没找到,请重新加载 两个对象,一个当前需要移动的物体,一个摄像机物体,摄像机物体放到移动物体子物体下,然后两个脚本分别挂在到对应物体上,组件对象见图: 之后在玩家身上挂载刚体(rigid ...

  8. Unity实现安卓端手势控制摄像机的旋转和缩放

    说明   上一篇记录了PC端鼠标控制摄像机的移动和缩放,这一篇写的是在安卓机上实现手势控制摄像机围绕一个物体进行旋转和缩放,两篇的代码逻辑基本一样只是输入检测有区别,这里我是分开记录,没有整合[Uni ...

  9. Unity摄像机控制

    Unity摄像机控制: 控制摄像机移动,旋转,缩放,跳跃:有视野限制,且摄像机高度越高运动幅度越大. 视野缩放:通过向前滚动鼠标滑轮可拉近视野,向后滚动鼠标滑轮可拉远视野. 视野移动:按住鼠标左键不放 ...

最新文章

  1. IBM 消费者洞察报告,揭示 5G 娱乐时代的三大关键趋势
  2. python读取txt文件代码-从文本文件中读取Python代码
  3. java panel 左对齐,将Shape的中心与JPanel的中心对齐 - java
  4. tf.pad函数功能介绍
  5. 程序员/设计师能用上的 75 份速查表
  6. vuecli3 配置多个代理
  7. 雷军是这样评价马斯克的
  8. 中国酒器市场趋势报告、技术动态创新及市场预测
  9. 存储过程中“ 警告: 聚合或其他 SET 操作消除了 Null 值” 导致错误的解决
  10. 单片机原理及应用复习
  11. 华为交换机console口登录密码遗忘
  12. Android学习资料网站搜集
  13. 【做图工具】MulimgViewer 论文图像处理神器
  14. 半导体储存器例题小试--十安辰
  15. 理解高阶函数,修炼编程内功
  16. 分布式定时任务调度平台Elastic-Job技术详解
  17. 【英语】大学英语CET考试,听力部分2(长选项关键词,答题技巧总结)
  18. 为何一张JPG图片能价值千万,新媒体艺术迎来爆发时刻?
  19. 六种常用的文本聚类算法介绍
  20. Bootstrap仿制CSDN用户主页页面

热门文章

  1. 报错TypeError: Cannot set property ‘type‘ of undefined
  2. 3灰度颜色反转毛玻璃融合边缘浮雕颜色油画
  3. 如何解决git上传文件出错 [rejected] cjp -> cjp (fetch first)error: failed to push some refs to
  4. 生活随笔:遇到电梯吸烟烟鬼
  5. IPV4报头详细分析
  6. html css清空文本框,HTML+CSS入门 输入框聚焦如何解决
  7. win10配置html桌面,Windows配置 | Win10系统配置 - ManageEngine Desktop Central
  8. 什么是微软的 Application Framework?
  9. JavaWeb——day32 HTTP协议 ,Request,Respond,servlet及生命周期,ServletConfig
  10. 虚拟串口服务器原码,虚拟串口的完整源代码