添加观察视角
2023年6月11日 2025年5月20日
说明
当游戏角色生命值为0, 我们尝试剥夺玩家对游戏角色的控制, 此时仍能旋转Camera; 左右旋转视角时, Character身体也会旋转
我们可以在游戏角色死亡时, 切换玩家控制的Pawn:一方面, 彻底剥夺玩家对游戏角色的控制, 另一方面, 允许玩家做合理的操作
观察视角
- 对应一个APawn派生类, ASpectatorPawn
- 关卡的默认类型里, 观察者类使用ASpectatorPawn
- 玩家死亡后, 使其操控SpectatorPawn, 仍能继续观看游戏
场景中的SpectatorPawn
漂浮的Camera, 除了可以前后左右移动, 还可以上下移动, 亦支持旋转, 由鼠标控制
本小节使用默认的观察者类
游戏角色死亡后, 切换到观察视角
C++
先前我们已设置STUGameModeBase使用STUPlayerController类.
APawn::Controller和具体的Controller对象动态绑定. 由于其声明里使用AController, 所以我们包含AController的头文件而非STUPlayerController的.
游戏角色死亡时, 切换到观察视角
ShootThemUp: Player/STUBaseCharacter.cpp
1#include "GameFramework/Controller.h" 2 3// OnDeath 4if (Controller) 5{ 6 Controller->ChangeState(NAME_Spectating); 7}
查看
虚幻编辑器
查看SpectatorPawn
-
WorldSetting中, GameMode默认选择SpectatorPawn作为Spectator Class
-
Pawn也可选择SpectatorPawn
验证观察视角
Character死亡后, 世界大纲新增SpectatorPawn1