【UE5】五大基类及其使用

UObject

UObject表示对象,准确来说,虚幻引擎中的对象基础类为UObject

UObject提供了以下功能:

  1. 垃圾收集(Garbage collection)
  2. 引用自动更新(Reference updating)
  3. 反射(Reflection)
  4. 序列化(Serialization)
  5. 自动检测默认变量的更改(Automatic updating of default property changes)
  6. 自动变量初始化(Automatic property initialization)
  7. 和虚幻引擎编辑器的自动交互(Automatic editor integration)
  8. 运行时类型识别(Type information available at runtime)
  9. 网络复制(Network replication)

使用UObject是因为要使用上述某些功能,而不是因为他是UE对象基类

Actor

· 所有可以放入关卡的对象都是Actor,比如摄像机、静态网格体、玩家起始位置。Actor支持三维变换,例如平移、旋转、缩放,你可以通过游戏逻辑代码(C++或蓝图)创建(生成)或销毁Actor

· 在C++中,AActor是所有Actor的基类

· Actor继承自UObject

· Actor能够被挂载组件

· Actor拥有Tick的能力

· 组件是Component,并不是Actor

· Actor并不自带Transform,Actor的Transform来自于其RootComponent

· 绝大部分在场景中的对象,无论是有形的还是无形的,都是Actor

Component

· 组合大于继承

· 为了弱化Actor的继承链,提出了Component的概念

· Component继承自UObject,比Actor轻量

· 主要存在两种Component,SceneComponent和ActorComponent,SceneComponent在场景中存在Transform,也能有坐标系父子关系

· UE更倾向于编写功能单一的Component,而不是一个整合了其他Component的大管家Component

· Component应该作为Actor较独立可复用性功能的载体,Actor本身也拥有数据存储能和逻辑实现能力,主要用于实现游戏业务逻辑

· Actor在世界中的位置属性、父子关系,全权由Component接管

Pawn

· 继承自Actor

· Pawn相比于Actor,可以被Controller控制

· 相比于Actor的逻辑,Pawn通过Controller解耦了游戏的业务逻辑,将Pawn自身实现的逻辑和上层控制逻辑分开

· 解耦:耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象,解耦就是用某种方法将两种体系分离开来处理

问题

Controller

· Controller继承自Actor(为了使用Actor的挂载组件、Tick等功能)

· AController

· Controller里只是保存了一个Pawn指针(一对一)

· Controller在逻辑上应该实现玩家逻辑

· Controller的Transform作用

虚幻引擎核心设计:MVC

相关推荐
承渊政道17 小时前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
mengzhi啊3 天前
UE5 沙漠添加植物,然后在湖泊游泳。关键词:湖泊使用蓝图的重叠事件,湖泊的碰撞偏移。所有的物体都可以使用蓝图来使用它
ue5
Zhichao_9710 天前
【UE5.8】VS2026安装
ue5
DolitD11 天前
UE像素流与云渲染技术方案对比分析
3d·云原生·ue5·云计算·图形渲染
Дерек的学习记录12 天前
Unreal Engine 5:第三人称运动系统和人物动画
开发语言·学习·ue5
zrc00700712 天前
steam无法登录 steam错误 登录时出现错误。请稍后再试。解决办法 steam无法登录解决办法 湖南地区steam DNS问题解决办法
windows·经验分享·游戏·缓存·游戏程序·创业创新·玩游戏
努力学习的小廉15 天前
UE5 入门系列(三):核心框架类全解析
ue5
郝学胜-神的一滴15 天前
游戏设计:原型与开发 17:数字化系统里的思维体操
人工智能·游戏·游戏程序·游戏策划·游戏设计
平行云16 天前
建筑BIM/3D可视化轻量级实时评审与分享方案
unity·ue5·3dsmax·实时云渲染·云桌面·云游戏·建筑bim
Aman198420 天前
优雅的红点系统:MV数据视图分离与全局集中管理
系统架构·游戏程序