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

虚幻引擎结构之AActor

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

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

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

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

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

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

这个类成员 是TArray类型

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

TArray<AActor*> Actors;


http://www.kler.cn/a/451406.html

相关文章:

  • JAVAweb学习日记(三)Ajax
  • MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
  • 小程序租赁系统开发指南与实现策略
  • 【C++】模板与泛型编程(一):定义模板,控制实例化、效率与灵活性
  • 亚信安全举办“判大势 悟思想 强实践”主题党日活动
  • 保护模式基本概念
  • 电子应用设计方案70:智能挂钟系统设计
  • C语言——数据在内存中的存储
  • Django REST framework (DRF)中的api_view和APIView权限控制
  • 如何设置爬虫的访问频率?
  • 物理层知识要点
  • Oracle 数据库锁与阻塞分析与解决指南
  • 优化程序中的数据:从代数到向量解
  • 2024最新鸿蒙开发面试题合集-HarmonyOS NEXT Release(API 12 Release)
  • 【unity c#】深入理解string,以及不同方式构造类与反射的性能测试(基于BenchmarkDotNet)
  • 一款基于.NET开发的AI无损放大工具
  • vue3 的ref和reactive的区别?
  • 3D造型软件solvespace在windows下的编译
  • elasticsearch 数据库查询很慢如何优化
  • Stable-diffusion-WebUI 的API调用(内含文生图和图生图实例)
  • DocFlow票据AI自动化处理工具,提升企业票据数字化管理效能
  • mybatis框架——缓存,分页
  • 【c++高阶DS】图
  • node.js的异步工作之---回调函数与回调地狱
  • 用Python在Excel工作表中创建、修改及删除表格区域
  • C#(事件)2