简介: 前面已经大体浏览了 UE 的核心反射系统的基础库类型,接下来按照系统进行源码的浏览。这里用 GPT 做了一个浏览计划表,总共包含 11 个系统,按照重要程度和推荐力度进行了排序
计划表
| 排序 | 系统模块 | 学习价值 | 关键类/接口 | 主要职责 |
|---|---|---|---|---|
| 1 | Garbage Collection (GC)系统 | ★★★★ |
FGarbageCollectionHandle, AddToRoot(), UObject::ConditionalBeginDestroy()
|
自动管理UObject内存与生命周期,防止内存泄漏的核心机制 |
| 2 | 序列化系统 (Serialization) | ★★★★ |
FArchive, UObject::Serialize(), FStructuredArchive
|
支撑资源加载/蓝图编译/网络同步/持久化存档的通用数据流处理基础 |
| 3 | UHT & 反射元数据生成器 | ★★★☆ |
UnrealHeaderTool, GENERATED_BODY(), UHT预处理器
|
C++宏到运行时反射数据的编译时转换枢纽,理解引擎元数据运作的关键 |
| 4 | 多线程任务系统 (TaskGraph) | ★★★★ |
FTaskGraphInterface, TGraphTask, FAsyncTask
|
引擎并行计算骨架,驱动渲染/物理/动画等高性能模块的任务调度框架 |
| 5 | 游戏框架系统 (Gameplay Framework) | ★★★★ |
UWorld, AActor, UActorComponent, AGameModeBase
|
游戏逻辑核心架构,角色/组件/关卡/规则的交互范式与执行流程 |
| 6 | 虚幻对象管理系统 (CoreUObject) | ★★★☆ |
UObjectGlobals, StaticFindObject(), GetDefaultObject()
|
UObject生态的基础设施(对象查找/类元数据/CDO管理) |
| 7 | 资源管理系统 (Asset Manager) | ★★★☆ |
FStreamableManager, UAssetManager, FPrimaryAssetType
|
资源异步加载/卸载/引用的内存优化中枢,直接决定项目运行效率 |
| 8 | 渲染管线系统 (Renderer) | ★★★★ |
FScene, FMeshDrawCommand, RDG (Render Dependency Graph)
|
帧渲染全流程(可见性/材质/光照/后期),图形性能的核心支柱 |
| 9 | Delegate & 事件系统 | ★★★☆ |
TDelegate, DECLARE_DYNAMIC_DELEGATE, FEvent
|
模块间解耦通信机制,实现同步/异步事件驱动的现代代码结构基础 |
| 10 | 动画系统 (Animation) | ★★★☆ |
UAnimInstance, FAnimNode_Base, IAnimClassInterface
|
动画蓝图编译/状态机/蒙太奇的核心逻辑与运行时执行管道 |
| 11 | 物理仿真系统 (Chaos Physics) | ★★★☆ |
FChaosScene, FBodyInstance, FCollisionQueryParams
|
刚体/碰撞/破坏的物理模拟实现,涉及性能敏感的实时计算模型 |
📌 优先级解析说明
Tier-1 核心地基系统 (推荐首先掌握)
GC系统→序列化→UHT/反射→TaskGraph
这些是所有上层功能的运行基础,理解后能解决80%的引擎行为疑问Tier-2 游戏逻辑主干 (项目开发必备)
Gameplay Framework→CoreUObject→资源管理
直接决定游戏代码结构,需掌握Actor/Component协作模式Tier-3 专业领域模块 (按需深入研究)
渲染管线→Delegate系统→动画系统→物理系统
针对特定领域优化时再深入,注意结合官方Unreal Insights工具
实操建议:
从GC和UHT生成器代码入手,用以下Debug路径验证:
GC执行流:CollectGarbage() → FRealtimeGC::MarkObjects() → FReferencerFinder
反射生成流:UnrealHeaderTool.exe → FClass::ParseHeader() → FMetadataProcessing