这篇文章写的非常详细: RootMotionSource原理分析和插件封装
这一系列梳理虚幻引擎的摄像机系统:先讲清 5.5 之前的原生摄像机如何从 PlayerCameraManager 一路算到最终的 FMinimalViewInfo,再进入 5.5 实验性插件 Gameplay Camera System(GCS)——它怎么用、编辑器工具链长什么样,以及运行时内核如何初始化与更新。
GCS 是 UE5.5 推出的实验插件(预计 5.7/5.8 正式发布),中文资料稀缺,所以把使用方式和源码内核一起记下来。建议按顺序读:先吃透原生系统,再看 GCS 怎么在它之上接管视角。
目录
性能优化
simulate step
所谓的step,就是当一帧时间过长时候(帧率低或者卡顿的时候),移动组件会把这个时间拆分成小的step,每一个step完整跑一段移动模拟,每一段移动模拟至少产生三次物理碰撞检测(sweep),step up,step forward, step down。
本文主要是介绍虚幻5.5以前的摄像机系统
摄像机工作原理
在游戏中,**摄像机(Camera)就像是玩家的眼睛,决定了我们如何观察这个虚拟世界。
它控制着玩家的视点(POV)位置和视野(FOV)**大小。
类似于现实中的相机,游戏引擎中的摄像机可以挂载在角色身上,也可以独立存在。
虽然一个游戏系统中可以同时存在多个摄像机,但实际游戏画面通常只显示其中一个。
根据设计需求,游戏会在适当的时间切换不同的摄像机,例如释放绝招、播放剧情动画等。
游戏中的摄像机会根据玩家的输入变化来调整所观察到的画面。此外,在游戏的特殊阶段(比如cutscene),摄像机会沿着预设轨道而移动。
Six ingredients for a dynamic third person camera
Camera Shake
UCameraShakePattern
- UWaveOscillatorCameraShakePattern:A camera shake that uses oscillations to move the camera.
- UPerlinNoiseCameraShakePattern:A camera shake that uses Perlin noise to shake the camera.