--- title: 相机系统扩展 date: 2026-05-03 00:00:00 excerpt: 相机动画水平翻转和自动释放机制 tags: - ARC - Gameplay - Camera rating: ⭐ --- # 相机系统扩展 返回 [[Gameplay]] ## 概述 为格斗游戏的相机需求扩展了 `CameraAnimInst`。 ## 水平翻转(bPlayCameraAnimFlipH) ```cpp bool bPlayCameraAnimFlipH; ``` 在格斗游戏中,当玩家 1 和玩家 2 交换左右位置时(交叉),相机动画需要水平翻转以保持视觉一致性。此标记控制相机震动、特写等动画的水平翻转。 ## 自动释放(bAutoReleaseWhenFinished) ```cpp bool bAutoReleaseWhenFinished; ``` 相机动画播放完毕后自动释放实例,避免格斗游戏频繁的相机震动(受击、必杀技等)导致的实例泄漏。 ## 完整代码解析 ```cpp // CameraAnimInst.h — 相机动画实例扩展 class UCameraAnimInst { // ASW 新增:播放完毕后自动释放实例 // 格斗游戏频繁触发相机震动(受击、必杀技), // 没有自动释放会导致实例泄漏 UPROPERTY() bool bAutoReleaseWhenFinished; // ASW 新增:水平翻转相机动画 // 格斗游戏中玩家交换左右位置(交叉)时, // 相机震动需要水平翻转以保持视觉一致 UPROPERTY() bool bPlayCameraAnimFlipH; }; ``` ## 代码修改情况 | 文件路径 | 修改类型 | 修改内容 | |---------|---------|---------| | `Source/Runtime/Engine/Classes/Camera/CameraAnimInst.h` | 新增 | `bAutoReleaseWhenFinished` 自动释放标记 | | `Source/Runtime/Engine/Classes/Camera/CameraAnimInst.h` | 新增 | `bPlayCameraAnimFlipH` 水平翻转标记 |