分类:虚幻 5
学习路径:由浅入深,按顺序阅读效果最好(共 100 篇)
-
21. AActor 生命周期:PostInitProperties 到 EndPlay
把 AActor 从出生到销毁的每个虚函数拆开,讲清每个阶段该干什么、不该干什么。
-
22. ActorComponent 架构:注册、Tick 集成与组合优于继承
讲清 UActorComponent 的注册机制、Tick 集成方式,以及"组合优于继承"在 UE 里的具体落地。
-
23. UWorld 与 Level:PersistentLevel/StreamingLevel 的组织
多关卡共存时 Actor 到底归谁管:UWorld 与 ULevel 的持有关系、OwningWorld 链和流送关卡的增删全流程。
-
24. Subsystem 体系:五种 Subsystem 的生命周期差异
Engine/GameInstance/World/LocalPlayer/Editor 五种 Subsystem 各活多久、随谁销毁,以及为什么它能取代手写单例。
-
25. Tick 机制:FTickFunction 的分组与依赖
TickGroup 为什么是这个顺序、Prerequisite 怎么在组内排序、LastDemotable 为什么不能被提升——一次把帧内时序的源码翻透。
-
26. Enhanced Input:UInputAction 到 Trigger 的触发链
从原始按键到 BindAction 回调之间的四层管线:MappingContext 求值、Modifier 变换、Trigger 状态机、事件派发,逐层看源码。
-
27. GameState/PlayerState 的职责边界
多人游戏里一段状态到底放 GameMode、GameState、PlayerState 还是 PlayerController——按"谁需要看到它"划线的判断框架。
-
28. LevelStreaming 源码:ULevelStreaming 的加载状态机
从 SetShouldBeVisible 到 Actor BeginPlay 之间隔着哪些状态、谁推动迁移、WorldComposition 到 World Partition 改了哪一层。
-
29. 渲染线程模型:GameThread/RenderThread/RHIThread 的边界
三条线程各自干什么、ENQUEUE_RENDER_COMMAND 背后是什么队列、帧同步栅栏怎么保证游戏线程不踩渲染线程。
-
30. RHI 抽象层:FRHICommandList 与平台后端
为什么 UE 要把命令录成"数据"再翻译一遍、FRHICommandList 与 ID3D12GraphicsCommandList 之间隔了几层、PSO 缓存为什么绕不开。
-
-
32. Nanite Cluster 剔除流程:两级 HZB 与持久线程的源码走读
拆解 Nanite 剔除流水线:DAG 按误差切割、两遍遮挡剔除、持久线程调度,源码基于 UE5.3。
-
33. Nanite 光栅化与 VisBuffer:软件光栅写可见性缓存
为什么 Nanite 要拆软硬两条光栅路径、VisBuffer 里到底存了什么、材质分类 pass 怎么把几何和着色解耦。
-
34. Nanite 流送:Cluster Page 的按需加载与驻留管理
拆解 Nanite 流送的驻留模型:page 粒度如何选、剔除结果怎么变成加载请求、显存池满时的换出策略,源码基于 UE5.3。
-
35. Lumen 的 Surface Cache 与 Radiance Cache:两级缓存结构拆解
讲清 Lumen 间接光的两级缓存:Surface Cache 的 Card 图集怎么存材质,Radiance Cache 的探针怎么插值复用。
-
36. Lumen Final Gather:屏幕探针与 SDF 追踪的间接光闭环
拆解 Lumen Final Gather 的完整链路:屏幕探针怎么布置、SDF 追踪怎么取Radiance、时域累积怎么滤波,源码基于 UE5.3。
-
37. Lumen 硬件光追路径:HWRT 与 SWRT 的切换逻辑
对比 Lumen 的软件光追(SDF)与硬件光追(HWRT)两条路径:各自的数据结构、切换条件、质量差异和性能账本,源码基于 UE5.3。
-
38. Virtual Shadow Map:虚拟页表的阴影贴图
拆解 Virtual Shadow Map 的设计:为什么需要 16K 虚拟分辨率、页表怎么映射、缓存命中率怎么决定性能,源码基于 UE5.3。
-
39. GPU Scene 与 SceneProxy:场景数据如何上 GPU
拆解 UE5 的场景数据通路:FPrimitiveSceneInfo 怎么注册、SceneProxy 的游戏线程/渲染线程分工、GPU Scene 大缓冲的增量更新机制。
-
40. 材质编译与 Shader Permutation:FMaterialShaderMap 的生成链路
拆解 UE5 材质编译的全链路:HLSL 怎么生成、permutation 组合爆炸怎么来的、DDC 怎么缓存编译结果,源码基于 UE5.3。