主线
1 篇游戏编程模式
17 篇依据 Robert Nystrom《Game Programming Patterns》(2014,免费网络版)。与引擎无关,每页末尾有“UE 中的对应”一节。建议学习路径:
- 01命令模式Command Pattern物化的方法调用、改键、AI 与玩家共用接口、撤销/重做
- 02享元模式Flyweight Pattern内在与外在状态、实例化渲染、共享地形对象
- 03观察者模式Observer Pattern同步通知、失效监听者、链表观察者
- 04原型模式Prototype Patternclone 生成器、原型语言、用原型委托做数据建模
- 05单例与服务定位器Singleton & Service Locator为什么单例就是全局变量、替代方案、服务定位器与空服务(合并了 Service Locator 章)
- 06状态模式与有限状态机State Pattern & Finite State MachinesFSM、状态对象、进入/退出动作、并发/分层状态机、下推自动机
- 07双缓冲Double Buffer读当前写下一、原子交换、指针交换与拷贝
- 08游戏循环与更新方法Game Loop & Update Method固定更新步长与可变渲染、更新顺序与对象列表修改(合并了 Update Method 章)
- 09字节码模式Bytecode Pattern指令集、栈式虚拟机、值表示、创作工具
- 10子类沙盒Subclass Sandbox基类提供的操作、脆弱基类、与模板方法互为镜像
- 11类型对象Type ObjectBreed 与 Monster、类型继承、类型能否改变
- 12组件模式Component Pattern实体即组件容器、三种组件通信方式
- 13事件队列Event Queue时间上的解耦、环形缓冲、事件与消息、反馈回环
- 14数据局部性Data Locality缓存行、连续数组、打包数据、冷热分离、实体即 ID
- 15脏标记Dirty Flag场景图世界变换、何时清除、粒度
- 16对象池Object Pool空闲链表、池满策略、复用时完整初始化
- 17空间分区Spatial Partition网格、层次与自适应划分、四叉树
网络同步理论
7 篇依据 Glenn Fiedler(Gaffer on Games)Networking / Networked Physics 系列,以及 Valve《Source Multiplayer Networking》与 Yahn Bernier《Latency Compensating Methods…》(2001)。引擎无关;与下方 UE5 网络页互链。
- 01多人网络游戏模型Multiplayer Networking ModelsP2P 锁步 → 权威 C/S → 预测/插值/补偿的演进与选型
- 02UDP 与游戏协议设计UDP & Game Protocol Design为何不用 TCP、虚拟连接、序列号/ack bitfield、拥塞退避、按数据类型选可靠性
- 03确定性锁步同步Deterministic Lockstep只传输入、播放延迟缓冲、冗余输入击败 TCP
- 04快照插值Snapshot Interpolation插值缓冲、Hermite/历史样本、与 Source clinterp 对应
- 05客户端预测与纠正重放Client-Side Prediction & Reconciliation本地预测、环形缓冲、回绕重放、共享移动代码
- 06延迟补偿Lag Compensation服务器回拨其他玩家、命中检测与「拐角枪」取舍
- 07快照压缩与增量编码Snapshot Compression & Delta Encoding量化、smallest three、相对 ack 基线的 delta
游戏 AI 理论
10 篇引擎无关。导览自 GEA4 §18.2.3(不整章 ingest);正文出处见各页 sources(Orkin GOAP、Simpson BT、Isla Halo 2、Mark IAUS、Red Blob A、Reynolds Boids、RVO/ORCA 等,笔记在 aw/articles/)。与下方 UE5 / Godot 实现页「原理 ↔ 实现」互链。 建议路径:总览管线 → 感知/黑板 → 决策选型 →(BT 或 Utility 或 GOAP)→ 寻路理论 → 局部避障 → 群体。
- 01游戏 AI 决策管线Game AI Sense-Decide-Act Pipeline感知→决策→执行分层;perception is reality
- 02AI 感知系统概念AI Perception Concepts视听伤害、信念≠真相、环境查询思想
- 03黑板架构Blackboard Architecture共享工作记忆;Context / Props / Working Memory
- 04决策架构选型:FSM、行为树与效用Choosing FSM, Behavior Tree & Utility AIFSM / BT / Utility / GOAP 对照与混用
- 05行为树原理Behavior Tree FundamentalsSequence/Selector、Running、数据上下文(引擎无关)
- 06效用 AIUtility AIConsideration、响应曲线、IAUS 数据驱动
- 07目标导向行动规划 GOAPGoal-Oriented Action PlanningSTRIPS 实用化、F.E.A.R.、重规划
- 09局部避障Local Collision AvoidanceVO / RVO / ORCA;全局路径 + 局部修正
- 10群体与阵型行为Group & Formation BehaviorsBoids 涌现 vs 小队编排
虚幻引擎 5
63 篇 · 11 个分类虚幻引擎 5 的实现笔记,按分类从基础读到进阶;引擎无关的原理在上面的理论分类里。
基础
6 篇依据 Epic 官方 UE 5.8 文档。建议学习顺序:
- 01UObject 与反射系统UObject & Reflection SystemUCLASS/UPROPERTY/UFUNCTION、UHT 代码生成、CDO、序列化与说明符
- 02垃圾回收与对象生命周期Garbage Collection & Object Lifecycle根集合与可达性分析、强弱引用、Destroy 与 MarkAsGarbage、GC 簇调优
- 03Gameplay 框架Gameplay FrameworkActor/组件、Pawn/Character、Controller、GameMode、GameState、PlayerState、GameInstance
- 04蓝图与 C++ 协作Blueprint & C++ Interop编程与脚本的分工、性能差异、BlueprintCallable/NativeEvent/ImplementableEvent
- 05委托与 Tick 机制Delegates & Tick单播/多播/动态委托、Tick 组与 Tick 依赖、事件与 Tick 的取舍
- 06模块、插件与构建系统Modules, Plugins & Build SystemBuild.cs 依赖、.uplugin 模块类型、UBT 与 Target.cs
玩法与内容系统
7 篇依据 Epic 官方 UE 5.8 文档,建议在完成上面的基础路径后按顺序学习:
- 01增强输入Enhanced InputInput Action、映射上下文与优先级、修饰器、触发器
- 02网络复制与 RPCNetwork Replication & RPC服务器权威模型、属性复制与 RepNotify、RPC 类型与可靠性、所有权与网络角色、相关性与优先级、Iris
- 03Gameplay 能力系统Gameplay Ability SystemASC、Gameplay Ability、Gameplay Effect、Attribute Set、Gameplay Tags、Gameplay Cue、预测与实例化策略
- 04动画蓝图与动画系统Animation Blueprint & Animation System动画蓝图、状态机、混合空间、蒙太奇与插槽、Control Rig
- 05资产管理与异步加载Asset Management & Async Loading硬/软引用、StreamableManager 异步加载、Asset Manager 主资产与资产包
- 06世界分区World Partition网格单元格流送、流送源、OFPA、数据层、HLOD
- 07MassEntity 数据导向框架MassEntity FrameworkFragment/Archetype/Processor、命令缓冲、MassGameplay 表现与 LOD
渲染与性能
6 篇依据 Epic 官方 UE 5.8 文档;每页都说明 UE 实现与图形学理论页(RTR4)的对应关系,建议先读对应的图形学页面:
- 01UE5 渲染架构UE5 Rendering Architecture游戏/渲染/RHI 三线程、场景代理、延迟渲染一帧顺序、RDG、延迟 vs 前向
- 02Nanite 虚拟化几何体Nanite Virtualized Geometry分层簇、逐簇 LOD 与流送、绕过绘制调用、限制
- 03虚拟阴影贴图Virtual Shadow Maps16k 虚拟阴影贴图与页、clipmap、SMRT 软阴影、页缓存与失效
- 04Lumen 全局光照与反射Lumen Global Illumination & Reflections屏幕追踪、软件/硬件光追、表面缓存、内容规则
- 05TSR 与抗锯齿方案Temporal Super Resolution & Anti-AliasingTSR/TAAU/FXAA/MSAA、TSR 组件与收敛、鬼影排查
- 06UE5 性能分析UE5 Profilingstat unit 定位瓶颈、stat 命令、GPU 分析、Unreal Insights
内容与工具系统
11 篇依据 Epic 官方 UE 5.8 文档(少数缺口已在各页注明);材质、Niagara、Chaos 页链接图形学/游戏数学的理论页:
- 01材质系统Material System材质图、PBR 输入、着色模型、混合模式、材质实例与静态参数、float 数据类型
- 02材质图到 HLSL 的翻译Material Graph to HLSL TranslationMaterialTemplate.ush、FHLSLMaterialTranslator、常量折叠与 LocalN
- 03Custom 材质表达式Custom Material Expression手写 HLSL、函数局部输入、禁止折叠、HLSLcc/DXC
- 04Niagara 粒子系统Niagara VFX System系统/发射器/模块栈、数据接口、CPU 与 GPU 模拟
- 05Chaos 物理与碰撞Chaos Physics & Collision碰撞对象类型与响应、物理资产、Chaos 破碎、网络物理
- 06行为树与 StateTreeBehavior Tree & StateTree事件驱动行为树与黑板、分层状态机 StateTree(原理见上方「游戏 AI 理论」)
- 08UMG、Slate 与 Common UIUMG, Slate & Common UI三层 UI 架构与最佳实践
- 09子系统Subsystems五种生命周期的自动实例化扩展点
- 11PCG 程序化内容生成框架PCG Framework点流模型、属性域、图实例、世界分区集成
引擎底层
5 篇依据 Epic 官方 UE 5.8 文档;内存、并发、资产流水线和配置的底层机制:
- 01容器与字符串Containers & StringsTArray/TMap/TSet 的值语义与稀疏数组,FName/FText/FString 怎么选
- 02智能指针与 TObjectPtrSmart Pointers & TObjectPtr引用计数智能指针与 GC 两套体系,TObjectPtr
- 03任务系统Tasks SystemUE::Tasks、依赖、管道,5.5 用超额订阅取代忙等待
- 04烘焙、打包与 Zen 加载器Cooking, Packaging & Zen LoaderBuild→Cook→Stage→Package,IoStore 容器
- 05配置文件系统Configuration Filesini 分层覆盖、数组运算符、UPROPERTY(Config)
玩法进阶
5 篇依据 Epic 官方 UE 5.8 文档(标注实验性功能):
- 01Game Features 与模块化玩法Game Features & Modular Gameplay把功能做成插件,用 Action 注入组件
- 02角色移动组件与 MoverCharacter Movement Component & MoverCMC 客户端预测与纠正重放、Mover 回滚模型
- 03相机系统Camera SystemPlayerCameraManager 与视图目标、Gameplay Camera System
- 04存档系统SaveGameUSaveGame、存档槽、异步保存
- 05Gameplay 调试器与可视化日志Gameplay Debugger & Visual Logger实时看 AI 与录制后回看
网络进阶
2 篇引擎实现;理论见上方「网络同步理论」。
渲染进阶
6 篇依据 Epic 官方 UE 5.8 文档,并链接图形学中对应的 RTR4 理论页:
- 01后处理体积与效果Post Process Volumes & Effects体积优先级与混合,对应后处理理论
- 02光源类型与静态光照Light Types & Static Lighting五种光源、三种移动性、Lightmass/GPU Lightmass
- 03天空大气与体积云Sky Atmosphere & Volumetric Clouds瑞利/米氏散射、体积云光线步进、Beer 阴影贴图
- 04Substrate 材质Substrate MaterialsSlab 与分层运算、两种 GBuffer 格式
- 05硬件光线追踪与路径追踪器Hardware Ray Tracing & Path TracerLumen 中的 HWRT、无偏路径追踪参考
- 06移动端渲染优化Mobile Rendering OptimizationDraw Call 预算、材质与 overdraw
动画进阶
3 篇工程与工具链
3 篇内容、平台与在线
9 篇依据 Epic 官方 UE 5.8 文档(个别页面用 UE 5.6 版本,页内注明):
- 01音频系统与 MetaSoundsAudio System & MetaSoundsMetaSound DSP 图、Sound Class/Mix、衰减与并发、Quartz
- 02Chaos 布料Chaos Cloth绘制遮罩流程与 Panel Cloth Editor(XPBD、Dataflow)
- 03Chaos 载具Chaos Vehicles车轮蓝图、扭矩曲线、模块化载具
- 04水体系统Water System样条水体、Water Zone、四叉树网格 LOD
- 05地形系统Landscape组件/分段与 2 的幂、推荐尺寸、地形材质图层
- 06本地化LocalizationFText、ICU、Gather→Compile 管线
- 07在线子系统与 EOSOnline Subsystem & EOS身份与会话接口、Online Services(Beta)、EOS/EOS Plus
- 08像素流送Pixel StreamingWebRTC 流送架构与上手要点
- 09MetaHuman 数字人MetaHumanUE 5.6 集成的 Creator、LODSync、Groom 几何 LOD
Godot
25 篇 · 5 个分类Godot 的实现笔记,从节点、场景和脚本读到渲染、性能与导出;引擎无关的原理在上面的理论分类里。
基础与架构
7 篇- 01节点与场景Nodes & Scenes节点树、场景即蓝图、SceneTree
- 02信号与节点通信Signals观察者、一等 Signal、解耦
- 03GDScript 与脚本语言选择GDScript & Scripting LanguagesGDScript / C / GDExtension 取舍
- 04Godot 最佳实践与场景组织Godot Best PracticesAutoload、场景 vs 脚本、何时别滥用 Node
- 05资源与场景实例化Resources & InstancingResource 共享、PackedScene、非 MultiMesh
- 06输入系统Godot InputInputEvent、InputMap、派发顺序
- 07文件与数据 IO、存档思路Godot File IO & Persistenceuser://、官方 Persist 组 + GDQuest storevar/Resource 实践
2D / 3D / 物理 / 导航
4 篇动画 / 音频 / UI / 着色
4 篇渲染 / 性能 / 网络 / 导出
5 篇- 01Godot 渲染服务器与管线概览Godot Rendering OverviewForward+ / Mobile / Compatibility、Viewport
- 02Godot 性能分析与优化Godot PerformanceProfiler、MultiMesh、CPU/GPU 手法
- 03Godot 多人与 RPCGodot Multiplayer & RPC高层 MultiplayerAPI;强链网络同步理论页
- 04Godot 导出与平台Godot Export & Platforms导出模板、移动/Web/专用服务器
- 05Godot 插件与编辑器扩展Godot Plugins & EditorEditorPlugin、@tool、addons
入门路径与社区补充
5 篇- 01Godot 官方入门路径Godot Official Getting StartedIntroduction + Step by step + First 2D/3D 地图
- 02GDQuest 学习路径索引GDQuest Learning Path Index免费路径与 study guide 索引
- 03Godot 模块化项目架构(GDQuest)Modular Godot Architecture from GDQuestAddons/Systems/UI/Content + gyms
- 04Godot Shaders 社区库索引Godot Shaders Library Indexgodotshaders.com 用法与许可
- 05Godot 常见着色技巧对照Common Godot Shader Techniques溶解/描边/风/水/后处理对照表
游戏引擎架构
54 篇依据 Jason Gregory《Game Engine Architecture》第 4 版(2026,两卷)。按书的章节顺序排列:
- 01运行时引擎分层架构Runtime Engine Architecture软实时代理模拟、数据驱动与可复用性、从硬件到游戏专属子系统的分层
- 02资产管线与工具链Asset Conditioning Pipeline & ToolsDCC 到引擎的资产调理管线、资源数据库、几种工具架构
- 03构建配置与编译优化Build Configurations & Compiler Optimization翻译单元与链接、Debug/Development/Ship/Hybrid、LTO/PGO、调试优化构建、性能分析器分类
- 04错误处理与断言Error Handling & Assertions用户错误与程序员错误、返回码/异常/断言的取舍、ASSERT 与 staticassert 的实现
- 05C++ 内存布局与对齐C++ Memory Layout & Alignment链接性、可执行映像各段、栈与堆、对齐与填充、vtable
- 06计算机硬件与内存层次Computer Hardware & Memory HierarchyCPU 组成、ISA、虚拟内存与 TLB、缓存行/组相联/一致性、NUMA
- 07并发与并行基础Concurrency & Parallelism Fundamentals并发与并行的区分、弗林分类与 SIMT、指令流水线与三类依赖、超标量/VLIW、超线程与多核、SMP/AMP
- 08进程、线程与纤程Processes, Threads & Fibers内核态与系统调用、抢占式多任务、进程地址空间、线程状态与上下文切换、纤程、协程
- 09线程同步原语Thread Synchronization Primitives数据竞争与原子性、互斥锁、临界区、条件变量、信号量、Windows 事件
- 10基于锁的并发问题Problems with Lock-Based Concurrency死锁与 Coffman 条件、活锁、饥饿、优先级反转、哲学家就餐、并发经验法则
- 11无锁编程与内存序Lock-Free Programming & Memory Ordering非阻塞进展保证、TAS/CAS/LL-SC、编译器屏障、MESI 与内存栅栏、acquire/release、std::atomic、自旋锁、无锁链表
- 12SIMD 向量化SIMD VectorizationSSE/AVX、m128 与对齐、向量化循环与点积、shuffle 与转置、向量谓词化
- 13子系统启动与关闭Subsystem Start-Up & Shut-Down静态初始化顺序问题、按需构造单例的缺陷、显式 startUp/shutDown、OGRE 与 Naughty Dog 实例
- 14自定义内存分配器Custom Memory Allocators栈/双端栈、池、对齐分配、单帧与双缓冲分配器、内存碎片、碎片整理与句柄重定位
- 15容器与哈希表Containers & Hash Tables常见容器、迭代器、大 O 与缓存、自研 vs STL/Boost、动态数组、开放/封闭哈希与探测
- 16字符串与唯一标识符Strings & Unique Identifiers字符串成本、字符串类、哈希 string id、驻留与编译期哈希、调试内存
- 17游戏本地化与 UnicodeGame Localization & UnicodeUTF-8/16/32、wchart、Windows 字符串 API、字符串数据库与按 ID 查找、Naughty Dog 本地化工具
- 18引擎配置系统Engine Configuration选项存取方式、每用户选项、Quake cvar、OGRE、Naughty Dog 调试菜单与 Scheme 数据定义
- 19引擎文件系统与异步文件读写Engine File System & Asynchronous File IO路径与各 OS 差异、搜索路径、带/无缓冲 I/O、包装原生 API、异步 I/O 与优先级、PS5 AMPR
- 20资源管理器Resource Manager运行时职责、归档与压缩、资源 GUID、注册表、生命周期与引用计数、堆/栈/池分块资源分配
- 21资源交叉引用与加载后初始化Resource Cross-References & Post-Load Initialization依赖图、GUID 与指针修正表、位数组修正表、placement new、外部引用、加载后初始化
- 22游戏时间线与时钟Game Timelines & Clocks真实/游戏/局部时间线、Δt 的测量与估计、帧率调控与 v-sync、高精度计时器、时钟单位与类型、断点处理
- 23作业系统Job System任务分解、每子系统一线程、scatter/gather、作业 API、线程池局限、纤程与协程作业、计数器、作业互斥锁、Naughty Dog 作业系统
- 24人机接口设备Human Interface Devices设备种类、轮询/中断/蓝牙通信、数字按钮/模拟轴/相对轴/加速度计/摄像头输入、震动/力反馈/DualSense 触觉等输出
- 25引擎输入系统Game Engine HID System死区、低通与滑动平均滤波、按下/松开事件、和弦与序列手势、多玩家设备、跨平台抽象、重映射、上下文控制、禁用输入
- 26日志与调试绘制Logging & Debug Drawingprintf 调试、OutputDebugString 包装、详细级别、通道与 Redis/Connector、日志镜像、崩溃报告、调试绘制 API 要求与 Naughty Dog 实现
- 27游戏内调试工具In-Game Debugging Tools游戏内菜单与 Dear ImGui、控制台、调试摄像机/暂停/慢动作、作弊、截图与录像、PS5 分享与 Remote Viewer
- 28游戏内性能与内存剖析In-Game Profiling & Memory Tracking手动插桩、包含/独占时间、样本箱与多父问题、调用次数、CSV 导出、内存追踪三大难点、高水位线、缺资产提示
- 29骨骼、姿势与动画片段Skeletons, Poses & Animation Clips四类角色动画、动画方法即压缩、关节层级、绑定/局部/全局姿势、片段与局部/全局时间线、元通道、重定向
- 30动画混合Animation Blending局部 SRT lerp/slerp、时间插值、交叉淡入淡出与缓入缓出、方向移动、一维/二维/三角剖分混合、部分骨骼混合、差分片段叠加
- 31动画压缩Animation Compression通道省略、RL 量化、采样率与关键帧省略、Granny B 样条、小波、选择性加载与流式加载
- 32动画管线与动作状态机Animation Pipeline & Action State Machines六阶段动画管线、ASM 与状态层、扁平加权平均 vs 混合树、Naughty Dog Scheme 状态、过渡矩阵与通配符/一等过渡、控制参数
- 33动画约束与后处理Animation Constraints & Post-Processing程序化动画、IK、布娃娃、挂接点、参考定位器配准、手部 IK、根运动提取与脚部 IK
- 34游戏中的物理与中间件Physics in Games & Middleware碰撞与物理在游戏中的用途、真实感与可控性的取舍、PhysX/Havok 等中间件(含时效说明)
- 35碰撞检测系统Collision Detection System可碰撞体与碰撞世界、碰撞图元、SAT/GJK、双重分派、隧穿与 CCD、宽中窄相与扫描剪除、碰撞过滤
- 36碰撞查询Collision Queries射线投射、形状投射、幻影、查询时机
- 37刚体动力学Rigid Body Dynamics质心、线性动力学、ODE、二维/三维角动力学、惯性张量、角动量、四元数导数
- 38碰撞响应与约束求解Collision Response & Constraint Solving冲量与恢复系数、惩罚力、摩擦、焊接、休眠与模拟岛、约束类型、布娃娃与动力约束、物理步骤与约束求解器
- 39物理引擎与游戏的集成Integrating a Physics Engine into a Game物理/游戏驱动/固定刚体、每帧更新顺序、固定步长、子弹/手雷/爆炸/可破坏物/角色/相机/布娃娃、高级物理
- 40声音的物理与感知Physics & Perception of Sound声压与分贝、等响曲线、距离与大气衰减、干涉与梳状滤波、混响参数、多普勒、ITD/IID/HRTF
- 41数字音频技术Digital Audio Technology麦克风与扬声器布局、电平与增益、PCM 采样、香农-奈奎斯特定理、位深、音频格式、交错布局、S/PDIF/HDMI
- 42三维音频渲染3D Audio Rendering音频世界模型、FO min/max 衰减、恒功率声像律与余量、聚焦角、混响区域、遮挡/阻挡/排除、衍射、随机传播建模、声音门户、多普勒
- 43音频引擎架构Audio Engine Architecture音频栈、音频处理图、语音与总线、辅助发送、主混音器与输出总线、环形缓冲与延迟、cue/句柄/声音库/流式、分组/闪避/实例限制/语音抢占、音频库概览
- 44游戏音频功能与角色对话Game-Specific Audio Features & Character Dialog分屏、物理驱动音频、对话系统(逻辑台词、优先级、排他性、规则与事实字典、情境台词)、音乐系统
- 45游戏世界与游戏对象Game World & Game Objects游戏机制、静态与动态元素、实例化与笔刷几何、世界块、高层游戏流程、游戏对象与类型/实例、游戏对象模型、工具侧与运行时对象模型
- 46数据驱动与游戏世界编辑器Data-Driven Engines & Game World Editors数据驱动的收益与代价、KISS、世界编辑器典型功能(图层、属性网格、区域、样条、导航网格)、迭代时间、平台相关优化时机
- 47运行时对象模型架构Runtime Object Model Architectures玩法基础系统的组成、以对象为中心(Hydro Thunder、单体层次、冒泡效应、组合与组件、纯组件模型)与以属性为中心(属性类、脚本、SoA)
- 48世界块数据格式与生成器World Chunk Data Formats & Spawners二进制对象映像、序列化与反射、类工厂、生成器与定位器、类型模式、默认值传播
- 49游戏世界的加载与流送Loading & Streaming Game Worlds栈式关卡加载与 LSR、气闸、细粒度流送与关卡加载区域、PlayGo、对象生成的内存管理、检查点与随处存档
- 50游戏对象引用与查询Game Object References & Queries裸指针的问题、智能指针与 Boost、带唯一 id 的句柄表、对象查询的专用加速结构
- 51游戏对象的实时更新Updating Game Objects in Real Time批量更新、分阶段更新与回调、依赖森林与分桶更新、一帧延迟、状态缓存、时间戳
- 52游戏对象并发更新Concurrent Game Object Updates异步请求、并行度与同步点、桶内作业、纤程阻塞调用、对象快照、对象间修改的处理
- 53事件与消息传递Events & Message Passing事件对象、事件类型与参数、处理器与职责链、兴趣注册、排队的利弊、数据通路与图形化事件系统
- 54游戏脚本系统Game Scripting语言分类、QuakeC/UnrealScript/Lua/Python/Pawn、六种脚本架构、DCScript 虚拟机与原生函数、脚本事件与状态机、协作式多线程与信号
查看知识库里的原始地图页(含学习路径)
范围:引擎架构、游戏系统、性能优化、网络同步、工具链
本领域的所有页面都要登记在这里,按从基础到进阶的顺序排列。
页面
- 多线程渲染与任务系统:内存层次与缓存友好数据、多处理器流水线与延迟、并行处理、任务系统、命令缓冲与新一代 API
游戏编程模式 (Game Programming Patterns)
依据 Robert Nystrom《Game Programming Patterns》(2014,免费网络版)。与引擎无关,每页末尾有“UE 中的对应”一节。建议学习路径:
- 总览:游戏编程模式选型:解耦与性能(位于 综合/):架构是为了改代码、解耦与性能的取舍、按问题选模式
- 重访 GoF 模式:
- 时序模式:
- 行为模式:
- 解耦模式:
- 优化模式:
网络同步理论 (Network Sync Theory)
依据 Glenn Fiedler(Gaffer on Games)Networking / Networked Physics 系列,以及 Valve《Source Multiplayer Networking》与 Yahn Bernier《Latency Compensating Methods…》(2001)。引擎无关;与下方 UE5 网络页互链。
- 多人网络游戏模型:P2P 锁步 → 权威 C/S → 预测/插值/补偿的演进与选型
- UDP 与游戏协议设计:为何不用 TCP、虚拟连接、序列号/ack bitfield、拥塞退避、按数据类型选可靠性
- 确定性锁步同步:只传输入、播放延迟缓冲、冗余输入击败 TCP
- 快照插值:插值缓冲、Hermite/历史样本、与 Source
cl_interp对应 - 客户端预测与纠正重放:本地预测、环形缓冲、回绕重放、共享移动代码
- 延迟补偿:服务器回拨其他玩家、命中检测与「拐角枪」取舍
- 快照压缩与增量编码:量化、smallest three、相对 ack 基线的 delta
建议路径:模型概览 → UDP 协议 →(锁步 或 快照插值)→ 客户端预测 → 延迟补偿 → 压缩;再读 UE5 网络复制与 RPC / 角色移动组件与 Mover。
游戏 AI 理论 (Game AI Theory)
引擎无关。导览自 GEA4 §18.2.3(不整章 ingest);正文出处见各页 sources(Orkin GOAP、Simpson BT、Isla Halo 2、Mark IAUS、Red Blob A*、Reynolds Boids、RVO/ORCA 等,笔记在 aw/articles/)。与下方 UE5 / Godot 实现页「原理 ↔ 实现」互链。
建议路径:总览管线 → 感知/黑板 → 决策选型 →(BT 或 Utility 或 GOAP)→ 寻路理论 → 局部避障 → 群体。
- 游戏 AI 决策管线:感知→决策→执行分层;perception is reality
- AI 感知系统概念:视听伤害、信念≠真相、环境查询思想
- 黑板架构:共享工作记忆;Context / Props / Working Memory
- 决策架构选型:FSM、行为树与效用:FSM / BT / Utility / GOAP 对照与混用
- 行为树原理:Sequence/Selector、Running、数据上下文(引擎无关)
- 效用 AI:Consideration、响应曲线、IAUS 数据驱动
- 目标导向行动规划 GOAP:STRIPS 实用化、F.E.A.R.、重规划
- 寻路与导航理论基础:图搜索族、A*、NavMesh、分层
- 局部避障:VO / RVO / ORCA;全局路径 + 局部修正
- 群体与阵型行为:Boids 涌现 vs 小队编排
实现对照:UE 行为树与 StateTree、AI 感知、EQS 与导航;Godot Godot 导航与寻路;FSM 通识 状态模式与有限状态机。
虚幻引擎 5 (Unreal Engine 5) 基础
依据 Epic 官方 UE 5.8 文档。建议学习顺序:
- UObject 与反射系统:UCLASS/UPROPERTY/UFUNCTION、UHT 代码生成、CDO、序列化与说明符
- 垃圾回收与对象生命周期:根集合与可达性分析、强弱引用、Destroy 与 MarkAsGarbage、GC 簇调优
- Gameplay 框架:Actor/组件、Pawn/Character、Controller、GameMode、GameState、PlayerState、GameInstance
- 蓝图与 C++ 协作:编程与脚本的分工、性能差异、BlueprintCallable/NativeEvent/ImplementableEvent
- 委托与 Tick 机制:单播/多播/动态委托、Tick 组与 Tick 依赖、事件与 Tick 的取舍
- 模块、插件与构建系统:Build.cs 依赖、.uplugin 模块类型、UBT 与 Target.cs
虚幻引擎 5 (Unreal Engine 5) 玩法与内容系统
依据 Epic 官方 UE 5.8 文档,建议在完成上面的基础路径后按顺序学习:
- 增强输入:Input Action、映射上下文与优先级、修饰器、触发器
- 网络复制与 RPC:服务器权威模型、属性复制与 RepNotify、RPC 类型与可靠性、所有权与网络角色、相关性与优先级、Iris
- Gameplay 能力系统:ASC、Gameplay Ability、Gameplay Effect、Attribute Set、Gameplay Tags、Gameplay Cue、预测与实例化策略
- 动画蓝图与动画系统:动画蓝图、状态机、混合空间、蒙太奇与插槽、Control Rig
- 资产管理与异步加载:硬/软引用、StreamableManager 异步加载、Asset Manager 主资产与资产包
- 世界分区:网格单元格流送、流送源、OFPA、数据层、HLOD
- MassEntity 数据导向框架:Fragment/Archetype/Processor、命令缓冲、MassGameplay 表现与 LOD
虚幻引擎 5 渲染与性能
依据 Epic 官方 UE 5.8 文档;每页都说明 UE 实现与图形学理论页(RTR4)的对应关系,建议先读对应的图形学页面:
- UE5 渲染架构:游戏/渲染/RHI 三线程、场景代理、延迟渲染一帧顺序、RDG、延迟 vs 前向
- Nanite 虚拟化几何体:分层簇、逐簇 LOD 与流送、绕过绘制调用、限制
- 虚拟阴影贴图:16k 虚拟阴影贴图与页、clipmap、SMRT 软阴影、页缓存与失效
- Lumen 全局光照与反射:屏幕追踪、软件/硬件光追、表面缓存、内容规则
- TSR 与抗锯齿方案:TSR/TAAU/FXAA/MSAA、TSR 组件与收敛、鬼影排查
- UE5 性能分析:stat unit 定位瓶颈、stat 命令、GPU 分析、Unreal Insights
虚幻引擎 5 内容与工具系统
依据 Epic 官方 UE 5.8 文档(少数缺口已在各页注明);材质、Niagara、Chaos 页链接图形学/游戏数学的理论页:
- 材质系统:材质图、PBR 输入、着色模型、混合模式、材质实例与静态参数、float 数据类型
- 材质图到 HLSL 的翻译:MaterialTemplate.ush、FHLSLMaterialTranslator、常量折叠与 LocalN
- Custom 材质表达式:手写 HLSL、函数局部输入、禁止折叠、HLSLcc/DXC
- 程序化片元入门(跨引擎 GLSL)见图形学 片元着色器与 GLSL 基础 与 The Book of Shaders / LearnOpenGL 一节;指令热度见 UE5 性能分析 Shader Complexity
- Niagara 粒子系统:系统/发射器/模块栈、数据接口、CPU 与 GPU 模拟
- Chaos 物理与碰撞:碰撞对象类型与响应、物理资产、Chaos 破碎、网络物理
- 行为树与 StateTree:事件驱动行为树与黑板、分层状态机 StateTree(原理见上方「游戏 AI 理论」)
- AI 感知、EQS 与导航:感知刺激、环境查询、导航网格与避让(原理见上方「游戏 AI 理论」)
- UMG、Slate 与 Common UI:三层 UI 架构与最佳实践
- 子系统:五种生命周期的自动实例化扩展点
- Gameplay 标签深入:层级标签、容器、查询(配合 GAS 页)
- PCG 程序化内容生成框架:点流模型、属性域、图实例、世界分区集成
虚幻引擎 5 引擎底层
依据 Epic 官方 UE 5.8 文档;内存、并发、资产流水线和配置的底层机制:
- 容器与字符串:TArray/TMap/TSet 的值语义与稀疏数组,FName/FText/FString 怎么选
- 智能指针与 TObjectPtr:引用计数智能指针与 GC 两套体系,TObjectPtr
- 任务系统:UE::Tasks、依赖、管道,5.5 用超额订阅取代忙等待
- 烘焙、打包与 Zen 加载器:Build→Cook→Stage→Package,IoStore 容器
- 配置文件系统:ini 分层覆盖、数组运算符、UPROPERTY(Config)
虚幻引擎 5 玩法进阶
依据 Epic 官方 UE 5.8 文档(标注实验性功能):
- Game Features 与模块化玩法:把功能做成插件,用 Action 注入组件
- 角色移动组件与 Mover:CMC 客户端预测与纠正重放、Mover 回滚模型
- 相机系统:PlayerCameraManager 与视图目标、Gameplay Camera System
- 存档系统:USaveGame、存档槽、异步保存
- Gameplay 调试器与可视化日志:实时看 AI 与录制后回看
虚幻引擎 5 网络进阶
引擎实现;理论见上方「网络同步理论」。
虚幻引擎 5 渲染进阶
依据 Epic 官方 UE 5.8 文档,并链接图形学中对应的 RTR4 理论页:
- 后处理体积与效果:体积优先级与混合,对应后处理理论
- 光源类型与静态光照:五种光源、三种移动性、Lightmass/GPU Lightmass
- 天空大气与体积云:瑞利/米氏散射、体积云光线步进、Beer 阴影贴图
- Substrate 材质:Slab 与分层运算、两种 GBuffer 格式
- 硬件光线追踪与路径追踪器:Lumen 中的 HWRT、无偏路径追踪参考
- 移动端渲染优化:Draw Call 预算、材质与 overdraw
虚幻引擎 5 动画进阶
- 运动匹配:Pose Search 加权代价查询
- IK Rig 与动画重定向:IK Rig、重定向链与重定向姿势
- Sequencer 过场动画:Level Sequence 资产与 Actor、Camera Cuts
虚幻引擎 5 工程与工具链
- 编辑器扩展与 Python 脚本:Python、Editor Utility Widget、Slate 编辑器窗口
- 自动化测试:测试类型、Spec/功能测试/Gauntlet
- Live Coding 实时编译:运行时补丁与对象重实例化
虚幻引擎 5 内容、平台与在线
依据 Epic 官方 UE 5.8 文档(个别页面用 UE 5.6 版本,页内注明):
- 音频系统与 MetaSounds:MetaSound DSP 图、Sound Class/Mix、衰减与并发、Quartz
- Chaos 布料:绘制遮罩流程与 Panel Cloth Editor(XPBD、Dataflow)
- Chaos 载具:车轮蓝图、扭矩曲线、模块化载具
- 水体系统:样条水体、Water Zone、四叉树网格 LOD
- 地形系统:组件/分段与 2 的幂、推荐尺寸、地形材质图层
- 本地化:FText、ICU、Gather→Compile 管线
- 在线子系统与 EOS:身份与会话接口、Online Services(Beta)、EOS/EOS Plus
- 像素流送:WebRTC 流送架构与上手要点
- MetaHuman 数字人:UE 5.6 集成的 Creator、LODSync、Groom 几何 LOD
Godot Engine
权威:
raw/godot-docs/html-stable/(Docs 4.7/stable HTML)。类参考留在html-stable/classes/,不进 wiki;概念页sources链到具体 class HTML。补充:raw/articles/gdquest/、raw/articles/godot-shaders/。与 UE5 / GEA / 网络同步理论 / 图形学 / 游戏数学互链,不重复抄公式。
基础与架构
- 节点与场景:节点树、场景即蓝图、SceneTree
- 信号与节点通信:观察者、一等 Signal、解耦
- GDScript 与脚本语言选择:GDScript / C# / GDExtension 取舍
- Godot 最佳实践与场景组织:Autoload、场景 vs 脚本、何时别滥用 Node
- 资源与场景实例化:Resource 共享、PackedScene、非 MultiMesh
- 输入系统:InputEvent、InputMap、派发顺序
- 文件与数据 IO、存档思路:user://、官方 Persist 组 + GDQuest store_var/Resource 实践
2D / 3D / 物理 / 导航
- Godot 2D 渲染与画布:CanvasItem、CanvasLayer、2D 光影
- Godot 3D 场景与相机:Node3D、Environment、与游戏数学互链
- Godot 物理与碰撞层:Area/Static/Rigid/CharacterBody、层掩码、非确定性
- Godot 导航与寻路:AStar vs NavigationServer、NavMesh(原理见「游戏 AI 理论」寻路/避障)
动画 / 音频 / UI / 着色
- Godot 动画系统:AnimationPlayer、AnimationTree、2D 骨架
- Godot 音频总线与播放:总线、Stream、2D/3D 播放器
- Godot UI 与 Control:容器布局、主题、BBCode
- Godot 着色器入门:canvas_item / spatial / particles;链图形学与 GDQuest/社区库
渲染 / 性能 / 网络 / 导出
- Godot 渲染服务器与管线概览:Forward+ / Mobile / Compatibility、Viewport
- Godot 性能分析与优化:Profiler、MultiMesh、CPU/GPU 手法
- Godot 多人与 RPC:高层 MultiplayerAPI;强链网络同步理论页
- Godot 导出与平台:导出模板、移动/Web/专用服务器
- Godot 插件与编辑器扩展:EditorPlugin、@tool、addons
入门路径与社区补充
- Godot 官方入门路径:Introduction + Step by step + First 2D/3D 地图
- GDQuest 学习路径索引:免费路径与 study guide 索引
- Godot 模块化项目架构(GDQuest):Addons/Systems/UI/Content + gyms
- Godot Shaders 社区库索引:godotshaders.com 用法与许可
- Godot 常见着色技巧对照:溶解/描边/风/水/后处理对照表
raw 路径:raw/godot-docs/(zip + html-stable)、raw/articles/gdquest/、raw/articles/godot-shaders/。
未进 wiki:classes/ 千级类参考;Packt 两书按用户要求不收录。
游戏引擎架构 (Game Engine Architecture)
依据 Jason Gregory《Game Engine Architecture》第 4 版(2026,两卷)。按书的章节顺序排列:
- 运行时引擎分层架构:软实时代理模拟、数据驱动与可复用性、从硬件到游戏专属子系统的分层
- 资产管线与工具链:DCC 到引擎的资产调理管线、资源数据库、几种工具架构
- 构建配置与编译优化:翻译单元与链接、Debug/Development/Ship/Hybrid、LTO/PGO、调试优化构建、性能分析器分类
- 错误处理与断言:用户错误与程序员错误、返回码/异常/断言的取舍、ASSERT 与 static_assert 的实现
- C++ 内存布局与对齐:链接性、可执行映像各段、栈与堆、对齐与填充、vtable
- 计算机硬件与内存层次:CPU 组成、ISA、虚拟内存与 TLB、缓存行/组相联/一致性、NUMA
- 并发与并行基础:并发与并行的区分、弗林分类与 SIMT、指令流水线与三类依赖、超标量/VLIW、超线程与多核、SMP/AMP
- 进程、线程与纤程:内核态与系统调用、抢占式多任务、进程地址空间、线程状态与上下文切换、纤程、协程
- 线程同步原语:数据竞争与原子性、互斥锁、临界区、条件变量、信号量、Windows 事件
- 基于锁的并发问题:死锁与 Coffman 条件、活锁、饥饿、优先级反转、哲学家就餐、并发经验法则
- 无锁编程与内存序:非阻塞进展保证、TAS/CAS/LL-SC、编译器屏障、MESI 与内存栅栏、acquire/release、std::atomic、自旋锁、无锁链表
- SIMD 向量化:SSE/AVX、__m128 与对齐、向量化循环与点积、shuffle 与转置、向量谓词化
- 子系统启动与关闭:静态初始化顺序问题、按需构造单例的缺陷、显式 startUp/shutDown、OGRE 与 Naughty Dog 实例
- 自定义内存分配器:栈/双端栈、池、对齐分配、单帧与双缓冲分配器、内存碎片、碎片整理与句柄重定位
- 容器与哈希表:常见容器、迭代器、大 O 与缓存、自研 vs STL/Boost、动态数组、开放/封闭哈希与探测
- 字符串与唯一标识符:字符串成本、字符串类、哈希 string id、驻留与编译期哈希、调试内存
- 游戏本地化与 Unicode:UTF-8/16/32、wchar_t、Windows 字符串 API、字符串数据库与按 ID 查找、Naughty Dog 本地化工具
- 引擎配置系统:选项存取方式、每用户选项、Quake cvar、OGRE、Naughty Dog 调试菜单与 Scheme 数据定义
- 引擎文件系统与异步文件读写:路径与各 OS 差异、搜索路径、带/无缓冲 I/O、包装原生 API、异步 I/O 与优先级、PS5 AMPR
- 资源管理器:运行时职责、归档与压缩、资源 GUID、注册表、生命周期与引用计数、堆/栈/池分块资源分配
- 资源交叉引用与加载后初始化:依赖图、GUID 与指针修正表、位数组修正表、placement new、外部引用、加载后初始化
- 游戏时间线与时钟:真实/游戏/局部时间线、Δt 的测量与估计、帧率调控与 v-sync、高精度计时器、时钟单位与类型、断点处理
- 作业系统:任务分解、每子系统一线程、scatter/gather、作业 API、线程池局限、纤程与协程作业、计数器、作业互斥锁、Naughty Dog 作业系统
- 人机接口设备:设备种类、轮询/中断/蓝牙通信、数字按钮/模拟轴/相对轴/加速度计/摄像头输入、震动/力反馈/DualSense 触觉等输出
- 引擎输入系统:死区、低通与滑动平均滤波、按下/松开事件、和弦与序列手势、多玩家设备、跨平台抽象、重映射、上下文控制、禁用输入
- 日志与调试绘制:printf 调试、OutputDebugString 包装、详细级别、通道与 Redis/Connector、日志镜像、崩溃报告、调试绘制 API 要求与 Naughty Dog 实现
- 游戏内调试工具:游戏内菜单与 Dear ImGui、控制台、调试摄像机/暂停/慢动作、作弊、截图与录像、PS5 分享与 Remote Viewer
- 游戏内性能与内存剖析:手动插桩、包含/独占时间、样本箱与多父问题、调用次数、CSV 导出、内存追踪三大难点、高水位线、缺资产提示
- 骨骼、姿势与动画片段:四类角色动画、动画方法即压缩、关节层级、绑定/局部/全局姿势、片段与局部/全局时间线、元通道、重定向
- 动画混合:局部 SRT lerp/slerp、时间插值、交叉淡入淡出与缓入缓出、方向移动、一维/二维/三角剖分混合、部分骨骼混合、差分片段叠加
- 动画压缩:通道省略、RL 量化、采样率与关键帧省略、Granny B 样条、小波、选择性加载与流式加载
- 动画管线与动作状态机:六阶段动画管线、ASM 与状态层、扁平加权平均 vs 混合树、Naughty Dog Scheme 状态、过渡矩阵与通配符/一等过渡、控制参数
- 动画约束与后处理:程序化动画、IK、布娃娃、挂接点、参考定位器配准、手部 IK、根运动提取与脚部 IK
- 游戏中的物理与中间件:碰撞与物理在游戏中的用途、真实感与可控性的取舍、PhysX/Havok 等中间件(含时效说明)
- 碰撞检测系统:可碰撞体与碰撞世界、碰撞图元、SAT/GJK、双重分派、隧穿与 CCD、宽中窄相与扫描剪除、碰撞过滤
- 碰撞查询:射线投射、形状投射、幻影、查询时机
- 刚体动力学:质心、线性动力学、ODE、二维/三维角动力学、惯性张量、角动量、四元数导数
- 碰撞响应与约束求解:冲量与恢复系数、惩罚力、摩擦、焊接、休眠与模拟岛、约束类型、布娃娃与动力约束、物理步骤与约束求解器
- 物理引擎与游戏的集成:物理/游戏驱动/固定刚体、每帧更新顺序、固定步长、子弹/手雷/爆炸/可破坏物/角色/相机/布娃娃、高级物理
- 声音的物理与感知:声压与分贝、等响曲线、距离与大气衰减、干涉与梳状滤波、混响参数、多普勒、ITD/IID/HRTF
- 数字音频技术:麦克风与扬声器布局、电平与增益、PCM 采样、香农-奈奎斯特定理、位深、音频格式、交错布局、S/PDIF/HDMI
- 三维音频渲染:音频世界模型、FO min/max 衰减、恒功率声像律与余量、聚焦角、混响区域、遮挡/阻挡/排除、衍射、随机传播建模、声音门户、多普勒
- 音频引擎架构:音频栈、音频处理图、语音与总线、辅助发送、主混音器与输出总线、环形缓冲与延迟、cue/句柄/声音库/流式、分组/闪避/实例限制/语音抢占、音频库概览
- 游戏音频功能与角色对话:分屏、物理驱动音频、对话系统(逻辑台词、优先级、排他性、规则与事实字典、情境台词)、音乐系统
- 游戏世界与游戏对象:游戏机制、静态与动态元素、实例化与笔刷几何、世界块、高层游戏流程、游戏对象与类型/实例、游戏对象模型、工具侧与运行时对象模型
- 数据驱动与游戏世界编辑器:数据驱动的收益与代价、KISS、世界编辑器典型功能(图层、属性网格、区域、样条、导航网格)、迭代时间、平台相关优化时机
- 运行时对象模型架构:玩法基础系统的组成、以对象为中心(Hydro Thunder、单体层次、冒泡效应、组合与组件、纯组件模型)与以属性为中心(属性类、脚本、SoA)
- 世界块数据格式与生成器:二进制对象映像、序列化与反射、类工厂、生成器与定位器、类型模式、默认值传播
- 游戏世界的加载与流送:栈式关卡加载与 LSR、气闸、细粒度流送与关卡加载区域、PlayGo、对象生成的内存管理、检查点与随处存档
- 游戏对象引用与查询:裸指针的问题、智能指针与 Boost、带唯一 id 的句柄表、对象查询的专用加速结构
- 游戏对象的实时更新:批量更新、分阶段更新与回调、依赖森林与分桶更新、一帧延迟、状态缓存、时间戳
- 游戏对象并发更新:异步请求、并行度与同步点、桶内作业、纤程阻塞调用、对象快照、对象间修改的处理
- 事件与消息传递:事件对象、事件类型与参数、处理器与职责链、兴趣注册、排队的利弊、数据通路与图形化事件系统
- 游戏脚本系统:语言分类、QuakeC/UnrealScript/Lua/Python/Pawn、六种脚本架构、DCScript 虚拟机与原生函数、脚本事件与状态机、协作式多线程与信号