1. 内存管理
1.1. 手动内存管理
1.1.1. 智能指针
1.1.1.1. TUniquePtr
1.1.1.2. TSharedPtr
1.1.1.2.1. TSharedFromThis
1.1.1.2.2. TShareRef
1.1.1.3. TWeakPtr
1.2. 自动内存管理
1.2.1. 内存分配器(分配技术)
1.2.1.1. 全局分配器
1.2.1.1.1. 分配用分配器
1.2.1.1.2. 调试用分配器
1.2.1.1.3. 其他分配器
1.2.1.2. 容器分配器
1.2.1.2.1. FHeapAllocator
1.2.1.2.2. TAlignedHeapAllocator
1.2.1.2.3. TInlineAllocator
1.2.1.2.4. TFixedAllocator
1.2.1.2.5. FAnsiAllocator
1.2.2. 垃圾回收(回收技术)
1.2.2.1. 引用计数
1.2.2.2. 标记-清除
1.2.2.3. GC复制
1.2.2.4. 算法应用
1.2.2.4.1. Object-C GC
1.2.2.4.2. Android GC
1.2.2.4.3. Lua GC
1.2.2.4.4. UE 引擎GC
1.3. 跨平台抽象
1.4. 操作系统分配概念
1.4.1. mmap
1.4.2. PSS
1.4.3. 虚拟内存
1.4.4. 交换内存
1.5. 调试工具链
1.5.1. Unknown mmap
1.5.1.1. mmreport
1.5.1.2. LLM
1.5.2. Native Heap
1.5.2.1. Instrument
1.5.2.2. Heapprofd
1.5.2.3. LoliProfier
1.5.3. 显存
1.5.3.1. UE Stat RHI
1.5.4. 静态代码/数据
1.5.4.1. pmap
1.5.5. Java虚拟机
1.5.5.1. Android Studio
2. Plugin
3. 调试分析
4. 特效
4.1. GPU粒子系统
4.2. CPU粒子系统
5. 蓝图
6. GamePlay
6.1. 技能配置系统逻辑
6.2. InputManager
6.3. CameraManager
6.4. 载具逻辑
6.5. 枪械逻辑
6.6. SubSystem
6.7. 架构
6.8. PlayerController
6.9. GameMode
6.10. AI
6.10.1. NavMesh
6.10.2. 行为树
6.11. DS
7. UMG
7.1. Layout
7.2. Widgets
7.3. 适配
7.4. Font
7.5. 优化
8. 图形
8.1. 渲染管线
8.1.1. 非光栅化
8.1.1.1. RayTracing
8.1.2. 光栅化
8.1.2.1. Deferred
8.1.2.1.1. Gbuffer
8.1.2.2. Forward
8.1.2.2.1. 流程
8.1.2.3. Forward+
8.1.2.3.1. PrePass
8.1.2.4. Cluster
8.1.2.5. GPU Driven
8.2. 平台渲染API
8.2.1. Vulkan
8.2.1.1. Shader
8.2.1.2. PipelineAPI
8.2.2. Metal
8.2.2.1. Shader
8.2.2.2. PipelineAPI
8.2.3. OpenGLES
8.2.3.1. Shader
8.2.3.2. PipelineAPI
8.2.4. Direct 3D
8.2.4.1. Shader
8.2.4.2. PipelineAPI
8.2.5. ...
8.2.6. HLSLCC(跨平台编译)
8.3. 效果
8.3.1. Shading
8.3.1.1. GI
8.3.1.1.1. 光路传播模型
8.3.1.1.2. 光照模型
8.3.1.1.3. 光源类型
8.3.2. PostProcess
8.3.2.1. Bloom
8.3.2.2. DOF
8.3.2.3. MotionBlur
8.3.2.4. ToneMapping
8.3.2.5. SSR
8.3.2.6. SSAO
8.3.2.7. PPR
8.3.2.8. LightShaft/LensFlare
8.3.2.9. 风格化
8.3.2.9.1. 描边
8.3.2.9.2. 卡通
8.3.2.9.3. 像素化
8.3.2.9.4. 其他
8.3.2.10. ImageEffects(others)
8.3.2.11. 其他滤波方式
8.3.3. AntiAlias
8.3.3.1. MSAA
8.3.3.2. FAA
8.3.3.3. TAA
8.3.3.4. 其他
8.3.4. Denoise
8.3.5. Voxel
8.3.5.1. Fog
8.3.5.2. Ray
8.3.5.3. Cloud
8.4. GPU架构
8.4.1. 硬件实现
8.4.1.1. TBDR
8.4.1.1.1. Adreno
8.4.1.1.2. Mali
8.4.1.1.3. PowerVR
8.4.1.2. IMA
8.4.1.2.1. Nvida
8.4.1.2.2. AMD
8.4.2. 排序方式
8.4.2.1. Sort First
8.4.2.2. Sort Middle
8.4.2.3. Sort Last
8.5. UE引擎
8.5.1. RHI
8.5.2. 资源
8.5.2.1. 纹理
8.5.2.1.1. 压缩
8.5.2.1.2. 加载
8.5.2.1.3. 图集
8.5.2.1.4. Mip
8.5.2.2. Mesh
8.5.2.2.1. StaticMesh
8.5.2.2.2. SkeletalMesh
8.5.2.2.3. PCG
8.6. 性能优化
8.6.1. 工具
8.6.2. 分析
8.6.3. 优化方案
9. 物理
9.1. 物理引擎
9.1.1. 结构体系
9.1.1.1. 物理世界构建
9.1.1.1.1. 物理对象
9.1.1.1.2. 力场
9.1.1.1.3. 物理材质
9.1.1.2. 作用方式
9.1.1.2.1. 直接
9.1.1.2.2. 间接
9.1.1.2.3. 影响因素
9.1.2. 功能
9.1.2.1. 载具物理
9.1.2.1.1. 飞行载具
9.1.2.1.2. 车辆载具
9.1.2.1.3. 动物载具
9.1.2.1.4. 轨道载具
9.1.2.2. 柔体物理
9.1.2.2.1. 布料
9.1.2.2.2. 毛发
9.1.2.2.3. 绳索
9.1.2.3. Ragdoll
9.1.2.3.1. Ragdoll Physics Assets制作
9.1.2.3.2. Ragdoll破碎
9.1.2.3.3. Ragdoll强交互
9.1.2.3.4. Ragdoll抽搐问题解决
9.1.2.4. 物理破碎
9.1.2.4.1. 预置物理破碎
9.1.2.4.2. 动态破碎
9.1.2.5. 植被物理
9.1.2.6. 流体物理
9.1.2.6.1. 浮力系统
9.1.2.6.2. 流体与环境交互
9.1.2.7. 风力物理
9.1.2.7.1. 风场系统
9.1.2.7.2. 风力与环境交互
9.1.3. 物理同步
9.1.3.1. 同步方式
9.1.3.1.1. 帧同步
9.1.3.1.2. 状态同步
9.1.3.2. 定点数
9.1.4. 动画
9.1.4.1. 纯物理驱动动画
9.1.4.2. 物理动画与美术动画混合
9.1.4.3. IK
9.1.5. 物理碰撞与查询
9.1.5.1. 物理查询
9.1.5.1.1. 查询类型
9.1.5.1.2. 过滤方式
9.1.5.1.3. 返回结果类型
9.1.5.2. 物理碰撞
9.1.5.2.1. 碰撞用途(CollisionEnabled)
9.1.5.2.2. 碰撞响应类型
9.1.5.2.3. ObjectTypes/Physics Layer
9.1.5.2.4. 碰撞响应过滤
9.1.5.3. 碰撞查询进阶
9.1.5.3.1. 三个阶段
9.1.5.3.2. 碰撞查询算法
9.1.6. 物理调试
9.1.6.1. 工具
9.1.6.1.1. Physics Visual Debugger
9.1.6.2. DebugDraw
9.1.6.3. Command : show collision
10. 构建
10.1. 构建原理
10.2. UAT
10.3. UHT
10.3.1. UE4反射机制原理
10.3.2. IWYU
10.4. UBT
10.4.1. UE4模块化机制
10.4.2. 联合编译
10.5. Cook
10.6. Package
10.6.1. iOS
10.6.1.1. iOS Bundle文件系统
10.6.1.2. iOS签名机制
10.6.2. Android
10.6.2.1. Android签名机制
11. UObject
11.1. 序列化机制
11.2. GC机制
11.3. 网络同步原理
11.4. MetaData
11.5. 反射机制
11.6. CDO
12. 动画
12.1. 动画系统
12.1.1. IK
12.1.2. 存储
12.1.2.1. 压缩
12.1.3. Event
12.1.4. Root Motion
12.1.5. 混合
12.1.5.1. Ragdoll