UE UObject、AActor、Component

UObject

  1. 概述 :
    • UObject是UE引擎中所有对象的基础,提供了C++的扩展性和灵活性。
    • 它支持元数据处理、反射生成、垃圾回收、序列化以及在编辑器中的可见性。
  2. 设计理念 :
    • UObject作为UE引擎的基石,其设计理念是提供一个统一的对象管理框架,使得引擎能够高效地管理内存,同时提供动态类型识别和对象序列化的能力。

AActor

  1. 概述 :
    • AActor是从UObject派生出的类,用于表示游戏世界中的所有动态元素。
    • 它具有网络复制、生成和销毁、时钟周期(Tick)等特性。
  2. 设计理念 :
    • AActor的存在使UE的世界有了动态和互动性,支持复杂的游戏逻辑和环境交互。
    • Actor的设计允许扩展多种游戏逻辑,通过组件系统增强功能,而不是在Actor内直接编写复杂逻辑。
  3. 关系 :
    • TSet<UActorComponent*> OwnedComponents 保存着这个Actor所拥有的所有Component,一般其中会有一个SceneComponent作为RootComponent。
    • TArray<UActorComponent*> InstanceComponents 保存着实例化的Components。

Component

  1. 概述:

    • Component是Actor的构成部分,用于给Actor添加具体的功能,如物理行为、渲染表现等。
    • 组件可以独立于Actor存在,提供了更高的灵活性和可重用性。
  2. 设计理念:

    • 通过将功能模块化为不同的组件,UE支持高度的可定制性和复用性,这有助于开发者根据需求快速配置和修改Actor的行为。
    • 组件系统减少了继承的使用,增加了游戏元素的组合灵活性。
    • 当这个Actor被实例化的时候,这些附属的Component也会被实例化。

SceneComponent

  1. 概述 :
    • SceneComponent是Component的子类,提供了空间定位的功能(包括位置、旋转和缩放)。
    • 它支持组件之间的父子关系,使得可以构建复杂的对象层级。
  2. 设计理念 :
    • SceneComponent的设计使得Actor可以在3D空间中被精确控制,包括其附属组件的位置和方向。
    • 它的父子关系模型提供了一种有效管理场景复杂性的方法,使得各个组件能够相对于父组件进行定位。

ActorComponent

  1. 概述 :
    • ActorComponent是所有Actor组件的基类,提供基本的功能和接口。
    • 它是非可视化的功能组件,如AI行为、用户输入处理等。
  2. 设计理念 :
    • ActorComponent的存在是为了提供一种轻量级的组件选项,允许开发者在不需要复杂渲染支持的情况下实现功能。

ChildComponent

  1. 概述 :
    • ChildComponent不是一个具体的类,而是指那些作为其他组件子级的组件,可以通过ChildActorComponent具体体现。
    • ChildActorComponent允许一个Actor作为另一个Actor的子组件,从而构建复杂的对象关系。
  2. 设计理念 :
    • ChildActorComponent的设计是为了提供一种在设计层面上将多个相关的Actor组织起来的能力,使得可以轻松地管理复杂的关系和依赖。
相关推荐
java_logo1 天前
Docker 部署 EmulatorJS:轻松搭建浏览器复古游戏平台
游戏·docker·容器·复古游戏·轩辕镜像·emulatorjs·红白机
AI小百科3 天前
AI 进游戏:游戏里的 NPC 开始有自己的性格
人工智能·游戏·ai
云-缩影3 天前
文生图技术落地:从广告到游戏,哪些场景真的能用
人工智能·游戏
hkNaruto3 天前
【AI】游戏大模型智能体OODA过程记忆问题解决方案:AgenticSTS 有界记忆契约:技术分析与流水线改造操作手册
人工智能·游戏·机器学习
tealcwu4 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
沐飞工具箱4 天前
游戏、漫画、视频里的外语怎么实时翻译?从 OCR + AI 原理聊聊 VoriTrans 屏幕翻译
人工智能·游戏·实时互动·音视频·自动翻译
小小数媒成员5 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
揽星河..5 天前
【C语言】扫雷游戏
c语言·算法·游戏
郝学胜-神的一滴5 天前
AI 编程智能体 22:解析器赋能与实战落地全指南
人工智能·程序人生·游戏·unity·游戏引擎
蒸鱼Yuzheng5 天前
游戏 GC 停顿治理:分配速率、对象存活率与增量回收
gc·unreal engine·内存优化·游戏性能·卡顿优化