添加观察视角
2023年6月11日 2024年1月11日
说明
当游戏角色生命值为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