介绍
本篇文章给大家分享的是有关使用团结实现场景漫游相机的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>前言强>
拿到场景后总喜欢在场景里面玩一段时间,那这个脚本就是你的不二选择
代码里加了注释,改起来也很方便。
<强>使用方法强>
把脚本拖拽到场景相机上,开箱即用。
- <李> WASD前后左右移动李> <>李量化宽松为上下李> <李>转变加速李> <李>鼠标右键按住旋转视角李> <>李ESC退出游戏
李,>
源码
#如果ENABLE_INPUT_SYSTEM,,ENABLE_INPUT_SYSTEM_PACKAGE #定义USE_INPUT_SYSTEM 使用UnityEngine.InputSystem; 使用UnityEngine.InputSystem.Controls; # endif 使用UnityEngine; 公开课SimpleCameraController: MonoBehaviour { #地区相机状态///& lt; summary>///相机状态///& lt;/summary> 类CameraState { 公共偏航浮动; 公共浮动球场; 公共浮动辊; 公共浮动x; 公共y浮动; 公共浮动z; 公共空间SetFromTransform(变换t) { 距=t.eulerAngles.x; 偏航=t.eulerAngles.y; 滚=t.eulerAngles.z; x=t.position.x; y=t.position.y; z=t.position.z; } 公共空间翻译(Vector3翻译) { Vector3 rotatedTranslation=四元数。欧拉(音高、偏航、卷)*翻译; x +=rotatedTranslation.x; y +=rotatedTranslation.y; z +=rotatedTranslation.z; } 公共空间LerpTowards (CameraState目标,positionLerpPct浮动,浮动rotationLerpPct) { 偏航=Mathf。昆虫蜜(偏航、目标。偏航,rotationLerpPct); 距=Mathf。昆虫蜜(音高、目标。球场上,rotationLerpPct);=Mathf滚。昆虫蜜(卷、目标。滚,rotationLerpPct); x=Mathf。昆虫蜜(x,目标。x, positionLerpPct); y=Mathf。昆虫蜜(y)的目标。y, positionLerpPct); z=Mathf。昆虫蜜(z,目标。z, positionLerpPct); } 公共空间UpdateTransform(变换t) { t。eulerAngles=new Vector3(音高、偏航、卷); t。位置=new Vector3 (x, y, z); } } # endregion CameraState m_TargetCameraState=new CameraState (); CameraState m_InterpolatingCameraState=new CameraState (); (标题(“运动设置移动设置“)) 工具提示(“指数>以促进因素上就是使用团结实现场景漫游相机的方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。使用团结实现场景漫游相机的方法