03-虚幻引擎蓝图类的各父类作用讲解

发布于:2025-07-23 ⋅ 阅读:(18) ⋅ 点赞:(0)

虚幻引擎(Unreal Engine)的蓝图系统提供了多种父类,每种父类都有其特定的用途和生命周期。理解这些父类的作用,是高效使用蓝图开发游戏的基础。以下是虚幻引擎中常见蓝图父类的详细讲解:
在这里插入图片描述


1. Actor

  • 作用:所有可以放入关卡(Level)中的对象的基类,包括静态网格、灯光、摄像机等。
  • 特点
    • 可放置:可直接从内容浏览器拖拽到关卡中。
    • 生命周期:由关卡管理,随关卡的加载/卸载而创建/销毁。
    • 组件化:通过添加组件(如StaticMeshComponentCameraComponent)实现功能。
  • 常见用途:场景中的门、开关、可破坏物体、NPC等。

2. Pawn

  • 作用:所有可控制的实体的基类(包括玩家和AI),代表“棋子”。
  • 特点
    • 可被Controller控制:通过PossessUnpossessPlayerControllerAIController绑定。
    • 物理交互:支持移动组件(如FloatingMovementComponentCharacterMovementComponent)。
  • 常见用途:车辆、飞行单位、自定义AI角色(非人形)。

3. Character

  • 作用:人形角色的专用类,继承自Pawn,内置角色移动组件(CharacterMovementComponent)
  • 特点
    • 人形移动:支持行走、跳跃、游泳、攀爬等复杂移动模式。
    • 碰撞胶囊体:默认带有CapsuleComponentSkeletalMeshComponent
    • 网络同步:优化了多人游戏的移动同步。
  • 常见用途:玩家角色、NPC敌人、队友等。

4. PlayerController

  • 作用玩家输入与Pawn之间的桥梁,处理玩家的输入、UI交互和相机管理。
  • 特点
    • 控制Pawn:通过Possess控制一个PawnCharacter
    • 输入响应:接收键盘、鼠标、手柄输入并转发给控制的Pawn。
    • UI交互:管理HUD和UMG用户界面。
  • 常见用途:玩家的“灵魂”,即使角色死亡,PlayerController依然存在(可重生角色)。

5. AIController

  • 作用:AI的“大脑”,控制AI行为(如寻路、决策)。
  • 特点
    • 行为树:通过Behavior TreeBlackboard实现复杂AI逻辑。
    • 感知系统:支持视觉、听觉等AI感知(AI Perception Component)。
  • 常见用途:敌人AI、NPC、宠物等。

6. GameMode

  • 作用定义游戏规则(如胜利条件、角色生成、关卡切换)。
  • 特点
    • 服务器权威:仅在服务器存在(多人游戏中客户端无GameMode)。
    • 全局管理:控制玩家出生点(PlayerStart)、角色生成类(Default Pawn Class)。
  • 常见用途:射击游戏的团队规则、大逃杀的缩圈机制、RPG的任务系统。

7. GameState

  • 作用同步游戏状态给所有客户端(如得分、时间、玩家列表)。
  • 特点
    • 网络同步:自动复制数据到所有连接的客户端。
    • 全局访问:通过GetGameState在任何地方获取。
  • 常见用途:多人游戏的实时分数、比赛剩余时间、玩家状态列表。

8. PlayerState

  • 作用单个玩家的状态数据,与PlayerController关联。
  • 特点
    • 网络同步:如玩家名称、得分、Ping值。
    • 持久存在:即使角色死亡,PlayerState仍保留(直到玩家离开游戏)。
  • 常见用途:排行榜、玩家击杀数、自定义玩家属性。

9. HUD & UserWidget

  • HUD(已过时)
    • 旧版2D界面系统,现已被UMG(UserWidget)取代。
  • UserWidget(UMG)
    • 作用:创建UI元素(按钮、血条、菜单)。
    • 特点:支持蓝图可视化设计,可绑定到PlayerController
    • 常见用途:游戏主菜单、背包界面、技能冷却显示。

10. GameInstance

  • 作用跨关卡的全局管理器,生命周期贯穿整个游戏会话。
  • 特点
    • 持久存在:从游戏启动到退出始终存在。
    • 跨关卡数据:保存全局设置、玩家档案、DLC管理。
  • 常见用途:语言设置、成就系统、在线会话管理。

11. Level Blueprint

  • 作用关卡的专属蓝图,直接操作关卡中的Actor和事件。
  • 特点
    • 关卡独有:每个关卡(Level)有一个独立的Level Blueprint。
    • 事件驱动:处理关卡特定事件(如关卡加载、触发器激活)。
  • 常见用途:过场动画、关卡切换逻辑、Boss战触发。

12. Subsystem

  • 作用轻量级全局管理器,按模块自动生命周期管理。
  • 特点
    • 无需手动创建:通过UGameInstanceSubsystemUEditorSubsystem等自动实例化。
    • 模块化:避免GameInstance过度膨胀。
  • 常见用途:成就系统、在线商店、Mod管理。

总结表格

父类 核心作用 生命周期 典型用例
Actor 场景中的基础对象 随关卡加载/卸载 门、开关、道具
Pawn 可控制的实体 随生成/销毁 车辆、无人机
Character 人形角色 随生成/销毁 玩家、NPC敌人
PlayerController 玩家输入与Pawn的桥梁 玩家连接时创建,断开时销毁 玩家控制、UI交互
AIController AI的大脑 随AI生成/销毁 敌人AI、宠物
GameMode 游戏规则 服务器关卡存在时 胜利条件、角色生成
GameState 同步全局游戏状态 随关卡存在 多人游戏得分、时间
PlayerState 单个玩家的状态 玩家连接时创建 玩家名称、得分
UserWidget UI界面 手动创建/销毁 菜单、血条、技能栏
GameInstance 跨关卡全局数据 游戏启动到退出 语言设置、DLC管理
Level Blueprint 关卡专属逻辑 随关卡存在 过场动画、Boss战触发
Subsystem 模块化全局管理器 按模块自动管理 成就系统、在线商店

选择父类的原则

  1. 场景对象Actor
  2. 可控制角色Pawn/Character(人形用Character)。
  3. 玩家输入PlayerController(非角色逻辑)。
  4. AI逻辑AIController + 行为树
  5. 游戏规则GameMode(服务器)+ GameState(同步)。
  6. 跨关卡数据GameInstanceSubsystem

理解这些父类的边界和协作方式,可以避免架构混乱(如将玩家输入逻辑误写到Character中)。

(PS:该系列文章为笔者学习UE过程中所遇问题的AI解答,仅作参考)


网站公告

今日签到

点亮在社区的每一天
去签到