4 - Pawn类和玩家控制器类
希望我能尽快入门UE5!本章将介绍虚幻引擎C++编程的相关内容,在本篇中我将学到:
- Pawn类的基本概念;
- 玩家控制器类的基本概念;
- 如何设置游戏模式,玩家控制器和Pawn类;
通过新创建的空白C++模板来学习。
虚幻引擎Pawn类
在虚幻引擎中,Pawn类是最基本的Actor类,它形象地代表游戏中的玩家或AI。这个类中的代码与游戏实体相关,包括交互、移动和能力逻辑。玩家在游戏中的任何时候都只能拥有一个Pawn。此外,玩家可以在游戏过程中放弃一个Pawn而控制另一个Pawn。
DefaultPawn类
在Pawn类的基础上,该类包含了允许它在世界中移动的附加代码。
SpectatorPawn类
有些游戏提供了观赛功能,使得玩家能够通过摄像头观看其他玩家游玩。有些游戏还提供了回放功能,允许观看过去或游戏中任意时刻发生的特定游戏行为。
这是一种特殊类型的Pawn,提供了观看游戏的示例功能。它包含了执行此操作所需的所有基本工具,例如Spectator Pawn Movement组件。
玩家控制器类
玩家控制器类可以视为代表玩家的实体,是Pawn的核心。玩家控制器接收来自用户的输入,然后将其传递给Pawn和其他类,以便玩家与游戏进行交互。
在处理该类时,需要注意以下几点:
- 与Pawn类不同,在一个关卡中只能由一个玩家控制器类。
- 玩家控制器类在整个游戏中持续存在,而Pawn可能不会(例如玩家角色的死亡与重生)。
- Pawn是临时的,玩家控制器是永久的,开发人员需要记住应该将哪些代码添加到正确的类中。
实操练习
创建蓝图类
首先,我们先创建一个基于游戏模式类GameMode的蓝图类:
然后再创建基于Pawn类和基于PlayerController类的蓝图类:
修改蓝图类
打开游戏模式蓝图类,并切换到“事件图表”选项卡。给BeginPlay事件添加一个Print String节点,参数是My gamemode has started!
。最后编译蓝图。
同理,也给剩余两个蓝图添加相应输出字符串。
应用蓝图类
修改完蓝图类后,就能应用它们了。在关卡编辑器中,点击右侧设置,找到世界场景设置选项。将游戏模式相关参数修改成我们编写的蓝图类:
最终上面的游戏模式和相关参数类被我们指定,开始执行我们写的蓝图代码:
参考资料
- 《UE5游戏开发完全学习教程-C++篇》