摄像机选择碰壁脚本1
需积分: 0 164 浏览量
更新于2022-08-08
收藏 41KB DOCX 举报
标题 "摄像机选择碰壁脚本1" 描述的是一段Unity3D中的C#脚本,用于控制摄像机在场景中的行为。这段脚本的主要功能是通过鼠标的滚轮滚动来调整摄像机与场景中设定点之间的距离,并且当摄像机接近场景中的物体时,会自动调整到一个预设的最近距离,以避免摄像机穿墙或过于靠近物体的情况发生。
我们来看一下脚本中涉及的关键变量和它们的作用:
1. `camera1`: 这是一个`Camera`类型的变量,用于存储我们要控制的摄像机对象引用。
2. `detectpoint`: 这是一个`Transform`类型的变量,表示一个设定点,摄像机会围绕这个点进行移动。
3. `mousescrollwheel`: 存储鼠标滚轮当前的值,用于判断摄像机的滚动方向和距离。
4. `sensitivityW`: 定义了鼠标滚轮滚动的灵敏度,数值越大,摄像机移动的速度越快。
5. `pnearview`: 当摄像机碰到物体时,它会退回到这个距离,即摄像机与设定点的最近安全距离。
6. `meetdistance`: 定义了摄像机检测物体的距离,如果在这个范围内碰到物体,摄像机会触发近距模式。
7. `nearview` 和 `farview`: 分别代表摄像机因鼠标滚轮操作能到达的最近和最远距离。
在 `Start()` 函数中,`mousescrollwheel` 的初始值被设置为 `camera1` 的局部位置在Z轴上的值,这通常是摄像机到原点的距离,用于初始化滚轮的参考值。
`Update()` 函数是每帧都会调用的方法,这里处理了鼠标滚轮的输入和摄像机的移动。`Input.GetAxis("Mouse ScrollWheel")` 获取鼠标的滚轮滚动值,然后乘以 `sensitivityW` 来控制摄像机的移动速度。`if` 语句确保摄像机不会超出 `nearview` 和 `farview` 设定的范围。将更新后的 `mousescrollwheel` 值赋给 `camera1` 的Z轴位置,实现摄像机的平滑移动。
在 `Update()` 函数中,还有一段Raycast代码,用于检测摄像机是否即将碰到物体。`Physics.Raycast` 方法从 `detectpoint` 发射一条射线,如果射线在 `meetdistance` 内碰到物体,摄像机会切换到 `pnearview` 所设定的最近安全距离,防止摄像机穿墙或过于接近物体。
总结来说,这个脚本提供了一个动态调整摄像机视距的机制,同时考虑了物理碰撞的限制,确保了游戏视角的流畅性和合理性。在Unity3D开发中,这样的脚本对于创建具有沉浸感的游戏体验非常有用,特别是在第一人称视角或第三人称视角的游戏中。
Jaihwoe
- 粉丝: 20
- 资源: 350
最新资源
- 员工培训需求调查问卷.doc
- 如何确定针对性的培训需求.doc
- 素质能力培训需求分析模型.doc
- 怎样进行有效的培训需求分析(doc 9).doc
- 制造业各工位培训需求.doc
- 做好培训需求分析,奠定企业员工培训的基础(DOC 8页).doc
- SQLSERVER2005卸载方法word文档doc格式最新版本
- MicrosoftSQLServer2008安装和数据库实例创建操作手册doc版冯冰最新版本
- 西电微机原理实验PDF
- P6ProfessionalSetup R24.12 安装包
- MicrosoftSQLServer2008数据库安装图解集合[特别整理版]最新版本
- 含光伏的储能选址定容模型 14节点 程序采用改进粒子群算法,对分析14节点配网系统中的储能选址定容方案,并得到储能的出力情况,有相关参考资料 这段程序是一个粒子群算法(Particle Swarm O
- PROGPPCNEXUS读写烧录刷写软件 飞思卡尔MPC55xx 56xx 57xx 58xx 没有次数限制
- 01_python_基本语法_纯图版.pdf
- 考虑新能源消纳的火电机组深度调峰策略 摘要:本代码主要做的是考虑新能源消纳的火电机组深度调峰策略,以常规调峰、不投油深度调峰、投油深度调峰三个阶段,建立了火电机组深度调峰成本模型,并以风电全额消纳为前
- EV3100电梯专用变频器源代码