知识总结

1. AI

寻路

路径规划之 A* 算法

[译]寻路优化

JPS/JPS+ 寻路算法

在AI寻路决策中运用势力图(Influence Map)

LPA* 与 D* Lite

NavMesh 生成算法

A* 的估价:设起点为 S、终点为 T,可以选择 D0 * ManhattanDist(S, T) + D1 * abs( Cross(Se, Te) )

其中 D0 = 2,D1 = 0.001

2. 动画

骨骼动画

骨骼动画原理

3. Gameplay

基础

Effective C++

架构

浅谈《守望先锋》中的 ECS 构架

漫谈Entity Component System (ECS)

4. 工具流

引入第三方库

c++库文件的理解

5. UI

6. 网络

预测、和解、插值

技能系统与网络同步

KCP

7. 物理

碰撞

多边形碰撞检测

SAT:每个方向的投影都有重叠部分则图形碰撞。实际上不需要检测所有方向,二维使用 每条边 的法向量检测;三维使用 每个面 的法向量、两个图形的边两两组成的面 的法向量进行检测即可。

GJKGJK

两个图形的闵可夫斯基差包含原点则图形碰撞。实际上不需要求出具体的闵可夫斯基图形,只要维护一个逼近原点的单纯形即可,该单纯形至多有三个顶点。三维时需要维护一个四面体。

EPA

基于 GJK 算法进行扩展,确定物体的碰撞点和碰撞深度。需要注意的是,维护的单纯形可能顶点数会多于三个。

8. 渲染

图形学

四元数——基本概念

如何形象地理解四元数?

四元数(Quaternions)

图形学入门

图形渲染基础:光栅化算法

[图形学] 基础知识 - 渲染管线

法线变换、切线空间、法线贴图

延迟渲染

上万字手把手教学,从零开始写软渲染器(光栅化版本)

PBR

重新认识PBR

卡通渲染

卡通渲染学习总结

大世界

大世界技术浅析——超远视距处理

9. 性能优化

IMR, TBR, TBDR 还有GPU架构方面的一些理解

深入GPU硬件架构及运行机制