使用团结实现场景漫游相机的方法

  介绍

本篇文章给大家分享的是有关使用团结实现场景漫游相机的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>前言

拿到场景后总喜欢在场景里面玩一段时间,那这个脚本就是你的不二选择
代码里加了注释,改起来也很方便。

<强>使用方法

把脚本拖拽到场景相机上,开箱即用。

    <李> 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 ();
  
  (标题(“运动设置移动设置“))
  工具提示(“指数>以促进因素上就是使用团结实现场景漫游相机的方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

使用团结实现场景漫游相机的方法