当前位置: 首页 > news >正文

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交互
AIControllerAI的大脑随AI生成/销毁敌人AI、宠物
GameMode游戏规则服务器关卡存在时胜利条件、角色生成
GameState同步全局游戏状态随关卡存在多人游戏得分、时间
PlayerState单个玩家的状态玩家连接时创建玩家名称、得分
UserWidgetUI界面手动创建/销毁菜单、血条、技能栏
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解答,仅作参考)

http://www.dtcms.com/a/290338.html

相关文章:

  • el-table固定高度,数据多出现滚动条,表头和内容对不齐
  • Eltable tree形式,序号列实现左对齐,并且每下一层都跟上一层的错位距离拉大
  • 深入解析Hadoop MapReduce Shuffle过程:从环形缓冲区溢写到Sort与Merge源码
  • VMware Workstation Pro克隆虚拟机导致网络异常解决方法
  • 深度学习 pytorch图像分类(详细版)
  • 【设计模式】观察者模式 (发布-订阅模式,模型-视图模式,源-监听器模式,从属者模式)
  • HTTP性能优化:打造极速Web体验的关键策略
  • 从实践出发--探究C/C++空类的大小,真的是1吗?
  • 西门子 S7-1500 信号模块硬件配置全解析:从选型到实战
  • 如何快速比较excel两列,拿出不同的数据
  • 在.NET Core API 微服务中使用 gRPC:从通信模式到场景选型
  • 用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发
  • 大模型高效适配:软提示调优 Prompt Tuning
  • The Survey of Few-shot Prompt Learning on Graph
  • AI Agent开发学习系列 - langchain之LCEL(3):Prompt+LLM
  • JavaScript Promise全解析
  • Prompt Engineering(提示词工程)基础了解
  • 【PTA数据结构 | C语言版】列出连通集
  • 归并排序:优雅的分治排序算法(C语言实现)
  • 什么是商业智能BI数据分析的指标爆炸?
  • Leetcode 3624. Number of Integers With Popcount-Depth Equal to K II
  • nerf-2020
  • Python 列表操作—基础和进阶技巧
  • spring简单项目实战
  • H3C技术考核
  • ACE 插入元件
  • SQL审计、Archery实战记录
  • 深入解析Hadoop YARN:三层调度模型与资源管理机制
  • [Python]函数调用链中局部变量的内存影响:通过memory_profiler分析
  • AR巡检和传统巡检的区别