该技能面向虚幻引擎5.8,用于构建或修复游戏摄像机。目标引擎为UE 5.8,文中API针对5.8头文件验证。5.8提供两套摄像机栈:经典栈位于Engine模块(Classes/Camera、GameFramework/SpringArmComponent.h),抖动模式在EngineCameras插件,电影式摄像机在CinematicCamera;数据驱动的Gameplay Camera System在GameplayCameras插件中,5.8为实验性但默认启用。Build.cs需包含Core、CoreUObject、Engine,按需加CinematicCamera、EngineCameras、GameplayCameras。开头建议读取.agents/ue-project-context.md了解模块、约定、启用插件与GAS/网络配置,缺失也不中断。经典管线由APlayerCameraManager逐帧更新,UpdateViewTarget填充FMinimalViewInfo,ApplyCameraModifiers按优先级执行修改器,结果缓存供GetCameraLocation等读取;bAutoManageActiveCameraTarget默认true使附身Pawn自动成为视角目标。第三人称使用USpringArmComponent,注意SocketOffset在臂旋转空间、TargetOffset在世界空间,bUsePawnControlRotation只能放在臂或相机之一,可用GetTargetRotation和IsCollisionFixApplied查询。第一人称将UCameraComponent附到网格或胶囊并设bUsePawnControlRotation为true,bEnableFirstPersonFieldOfView与bEnableFirstPersonScale需同时开启才生效。视角切换用SetViewTargetWithBlend,混合函数含Linear、Cubic、EaseIn/Out/InOut、PreBlended,bLockOutgoing在传送或销毁旧目标时冻结其POV;该操作不复制,服务端改单客户端视角需调用ClientSetViewTarget。自定义管理器可重写UpdateViewTarget并设置ViewPitchMin/Max、DefaultFOV,注册到PlayerCameraManagerClass。相机修改器每帧后处理POV,重写ModifyCamera,返回true会阻止低优先级修改器;可通过DefaultModifiers声明式添加,或运行时代码增删。抖动由UCameraShakeBase与其RootShakePattern组成,C++通常继承USimpleCameraShakePattern并重写UpdateShakePatternImpl,用State.Update与权重推进,否则抖动不结束;内置模式包括PerlinNoise、WaveOscillator、Composite、Legacy。Gameplay Camera System支持相机资产、节点图与State Tree导演,但5.8为实验性、API仍变动;可与经典栈混用,因为AGameplayCamerasPlayerCameraManager继承自APlayerCameraManager。更完整的经典API、节点目录与调试见其references文档;具体收费、平台与使用步骤资料暂未提供。
ue-gameplay-cameras
通用与其它
更新于 10-16 04:56