虚幻引擎结构之AActor

在虚幻引擎中,AActor 是一个核心类,作为游戏世界内所有可交互对象的基础。任何可以在关卡中放置或动态生成的对象,几乎都是从 AActor 类派生而来。这包括但不限于角色、道具、特效、静态和动态物体等。

  1. AActor 的基本概念

AActor 作为基类,为所有继承自它的类提供了一套通用的功能和接口。它不仅代表了游戏中可见的实体,还包含了控制这些实体行为的逻辑。每个 AActor 都可以拥有多个组件(如渲染组件、碰撞组件、音频组件等),这些组件赋予 AActor 特定的行为和特性。通过组合不同的组件,开发者可以构建出复杂且功能丰富的游戏元素。

  1. 理解 AActor

AActor 是构成游戏世界的基石,它们是能够被添加到关卡中的实体,具有自己的位置、旋转和缩放属性(通常称为变换)。AActor 可以承载多种类型的组件来增强其功能,例如视觉表现、物理交互或声音效果。无论是玩家角色、敌人单位、环境物品还是触发器,都可以是 AActor 的实例,因为它们都需要与游戏世界或其他对象进行互动。

  1. AActor 的应用

创建一个新的游戏元素时,通常是通过定义一个新的类来实现,这个新类会继承自 AActor 或其子类。例如,如果我们要创建一个名为 "Monster" 的怪物,我们会定义一个 Monster 类,并让它继承自 AActor 或更具体的子类(如 APawn,用于可控角色)。在这个类中,我们可以添加特定于怪物的属性(如生命值、攻击力)和方法(如移动、攻击)。一旦定义完成,我们就可以在游戏中实例化 Monster 类,创建出具体的游戏对象。每一个这样的对象都是 AActor 或其子类的实例,具备与其他游戏元素交互的能力。

  1. AActor 的定位与遍历

在虚幻引擎中,所有的 AActor 实例都由 ULevel 类管理,存储在一个名为 Actors 的成员变量中,该成员是一个 TArray 容器,包含着当前关卡中所有的 AActor 对象。这意味着你可以通过遍历这个数组来访问和操作关卡内的所有 AActor。此外,虚幻引擎还提供了多种工具和函数,使得查找特定类型的 AActor 或根据条件筛选 AActor 变得更加容易。例如,可以使用 GetAllActorsOfClass 函数来获取指定类的所有实例,或者使用 TActorIterator 来遍历符合特定条件的 AActor。

虚幻引擎的Ulevel类成员里保存了AActor所有的实例 成员名叫"Actors"

这个类成员 是TArray类型

定位到Actors就能拿到游戏中所有AActor的实例

TArray<AActor*> Actors;

相关推荐
qq_428639619 分钟前
虚幻基础:模型
虚幻
qq_428639617 天前
虚幻基础:AI
虚幻
北冥没有鱼啊11 天前
UE 材质几个输出向量节点
ue5·游戏引擎·ue4·虚幻·材质
qq_4286396111 天前
虚幻基础:摄像机
虚幻
Thinbug13 天前
UE(虚幻)学习(六)插件打包在UE5.3.2下Value cannot be null的错误
学习·ue5·虚幻
笑鸿的学习笔记13 天前
虚幻引擎5-Unreal Engine笔记之摄像头camera
笔记·ue5·虚幻
笑鸿的学习笔记14 天前
虚幻引擎5-Unreal Engine笔记之Qt与UE中的Meta和Property
笔记·ue5·虚幻
笑鸿的学习笔记14 天前
虚幻引擎5-Unreal Engine笔记之Default Pawn与GamMode、Camera的关系
笔记·ue5·虚幻
笑鸿的学习笔记14 天前
虚幻引擎5-Unreal Engine笔记之什么时候新建GameMode,什么时候新建关卡?
笔记·ue5·虚幻
hellolxb14 天前
Linux 安装 Unreal Engine
游戏引擎·虚幻