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

虚幻引擎(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解答,仅作参考)

相关推荐
火星机器人life1 小时前
(二)Unity3d-ROS联合仿真:运行Unity-Robotics-Hub
unity·游戏引擎·unity3d-ros联合仿真
这是我583 小时前
unity实现梦日记式效果
unity·c#·游戏引擎·unity3d·游戏开发·csharp·c#11.0
tealcwu11 小时前
【Unity基础】Unity中2D和3D项目开发流程对比
3d·unity·游戏引擎
开发游戏的老王12 小时前
2025最新版虚幻引擎5(UE5)入门教程:前言——你的随身教程和学习笔记
ue5·游戏引擎·游戏开发·虚幻·虚幻5
死也不注释1 天前
【Unity编辑器开发GUI.Window】
unity·编辑器·游戏引擎
ZPC82102 天前
奥比中光双目摄像头实现物品抓取的机器人系统
c++·python·unity·机器人·游戏引擎·github
will_csdn_go2 天前
unity Physics.RaycastNonAlloc
unity·游戏引擎
DaLiangChen2 天前
Unity教程:如何使用LineRenderer绘制圆环
unity·游戏引擎
向宇it3 天前
【unity游戏开发入门到精通——3D篇】3D光源之——unity使用Lens Flare (SRP) 组件实现太阳耀斑镜头光晕效果
游戏·3d·unity·游戏引擎·材质