unity Camera控制(上帝视角)

解决问题

  1. 解决移动速度不变带来的操作迟缓;
  2. 实现在摄像机不同角度下,始终针对地面的水平移动(而非视口的上下左右移动);
  3. 实现绕点旋转。

正文

在针对大场景(如智慧城市),需要一种行之有效的Camera控制移动方法。为了提高漫游的效率,Camera的移动速度不应该是不变的。在实际的操作过程中,水平的鸟瞰移动,比视口发上下移动更为快捷。针对某地某建筑绕点旋转比自身旋转观测更具效率。

  1. 动态改变速度

这里引入了射线的,在特定时间用射线和地面或建筑发生碰撞,得到碰撞点,通过计算距离,调整移动速度。

  1. 始终水平地面移动

解决问题要得到一个始终平行于地面的“移动向量”。首先,我们定义Input.GetAxis(“Mouse X”)和Input.GetAxis(“Mouse Y”)为Camera的“移动增量”。unity Camera的x轴是水平地面的,可以用“X移动增量”作为“移动向量的X分量”。y,z两轴是根据图中a角度改变而改变,当控制Camera向前移动时,使用Camera的x欧拉角(如图a角)和Y移动增量,分别用sin和cos计算出“移动向量”的Y、Z分量。这样所构成的向量始终平行于地面。

unity Camera控制(上帝视角)相关推荐

  1. Unity摄像机控制

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

  2. Unity Camera设置-Culling Mask

    Unity Camera设置-Culling Mask 参考文档:Unity中Camera参数-Culling Mask详解_-MCQ-的博客-CSDN博客_unity相机cullingmask 简介 ...

  3. 【三维概念】【Cesium】 Camera控制-视角-roll,pitch,heading的含义

    转载: cesium编程入门(十二)camera控制 | cesium中文网 cesium提供了三种方式,可以对camera进行操作,这三种方式,有三个共同的参数,heading,pitch,roll ...

  4. unity中控制游戏物体移动最基本的三种方法

    **unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...

  5. 基于 Tile PPU 的 Unity Camera Size 计算公式

    基于 Tile PPU 的 Unity Camera Size 计算公式 背景 公式 背景 1.背景图为1920x1080. 2.如果我们的像素单位是64x64像素,即 PPU 为64. 3.默认ca ...

  6. Unity鼠标控制摄像机 围绕物体旋转

    Unity鼠标控制摄像机 围绕物体旋转 角度范围判定 // An highlighted block using UnityEngine;public class CameraCtrl : MonoB ...

  7. unity Timeline控制动画的播放

    unity Timeline控制动画的播放 创建一个空物体GameObject,添加Playable Director组件,添加脚本组件: 新建一个长方体: 创建timeline并将其拖到空物体的Pl ...

  8. unity Camera FOV 角度转换

    unity Camera FOV 角度转换 /// <summary>/// 把垂直方向的FOV角度转化为水平方向的FOV角度/// </summary>/// <par ...

  9. Unity第三人称上帝视角控制

    通过wasd或上下左右键控制位移,鼠标控制视角旋转. public class PlayerMovement : MonoBehaviour {public float moveSpeed = 5f; ...

最新文章

  1. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)
  2. 用它调试线上bug,真得劲!
  3. HTML中单选框的设置,和提交按钮之间的组合
  4. R可视化使用ggplot2创建样本数据热力图(heatmap)
  5. C/C++程序内存分配详解
  6. php 彩蛋 flag,php4的彩蛋
  7. JeecgBoot 连接达梦数据库
  8. Hibernate多对多双向关联需要注意的问题(实例说话)
  9. 自动生成相机标定轨迹
  10. BZOJ 1599: [Usaco2008 Oct]笨重的石子( 枚举 )
  11. 【翻译】IdentityServer4:基于资源的配置
  12. 惠普m128fn中文说明书_惠普M128fp中文说明书
  13. java.lang.Integer常用方法
  14. VMware虚拟机无法自动获取IP地址的解决办法
  15. html5 骰子滚动,CSS3画一个滚动的骰子
  16. android 快速关闭键盘的方法,安卓永久关闭键盘灯的方法
  17. 微信小程序传数组给后台(thinkphp后台接受前端数组参数)
  18. 嵌入式Linux(十三)RTC实时时钟
  19. 【深度优先搜索算法】与【宽度优先搜索算法】
  20. GROUP BY小插曲

热门文章

  1. MATLAB 画点图即连线
  2. 转:比谎言更可怕的,是对真相视而不见
  3. 【麒麟操作系统】命令行下配置网卡及DNS
  4. ANDROID XML图像资源文件详细讲解(一)
  5. 开源框架面试之MyBatis面试题
  6. zblogphp登录和注册_zblog如何设置会员注册功能
  7. 小公司网络游戏可能出现的运维事故
  8. egg(九):下载excel文件,前后端
  9. 教资照片上传显示内部服务器错误,教师资格证笔试报名时,网站问题如何解决?...
  10. js实现简单的视频播放