虚幻引擎中的Gameplay框架提供了多个类和组件,可用作项目的构建块。
-
Actor是可以在关卡中放置或生成的对象的基类。Actor可以包含一系列Actor组件,这些组件用于控制Actor的移动方式和渲染方式。Actor支持在游戏期间在网络上复制属性和函数调用。
-
摄像机表示玩家的视角,例如世界在玩家眼里的样子。PlayerController指定摄像机类并实例化摄像机Actor,用于计算玩家查看世界的位置和方向。
-
Pawn类是可以由玩家或AI控制的所有Actor的基类。Pawn是世界中的玩家或AI实体的物理呈现。角色是能够四处行走的一种特殊类型的Pawn。默认情况下,控制器和Pawn之间存在一一对应关系,即每个控制器在任何给定时间仅控制一个Pawn。
-
控制器是可持有Pawn或从Pawn派生的类(例如角色)以控制其操作的非物理Actor。玩家控制器由人类玩家用于控制Pawn,而AI控制器为它们控制的Pawn实现人工智能。控制器使用Possess函数控制Pawn,并使用UnPossess函数放弃对Pawn的控制。
-
Gameplay定时器创建对特定函数指针的异步回调,以在延迟后或一段时间内触发要执行的事件。
-
游戏框架的基类是GameMode。AGameModeBase Actor在为Gameplay初始化关卡时实例化。GameMode设置游戏的规则,它仅在服务器上实例化,从不存在于客户端。
-
游戏功能和模块化Gameplay插件可帮助开发人员为其项目创建独立功能。这些插件能使项目的代码库保持整洁、易于阅读,并避免不相关的功能之间出现意外的交互或依赖性。
-
用户界面(UI)和平视显示器(HUD)用于向玩家提供有关游戏的信息,并且在一些情况下允许玩家与游戏交互。
框架类关系
此流程图演示了这些核心Gameplay类彼此之间的关系。一个游戏由一个GameMode和一个GameState构成。加入游戏的人类玩家与PlayerController关联。
这些PlayerController允许玩家持有游戏中的Pawn,以便在关卡中有物理表示。 PlayerController还为玩家提供了输入功能按钮、平视显示器(简称HUD)和用于处理摄像机视图的PlayerCameraManager。