专题简介
欢迎来到”游戏中的数学”专题。本系列文章旨在构建一套深度与广度兼备的学习路径,不仅覆盖 API 的使用,更深入数学原理层面,剖析向量、矩阵、物理模拟、图形渲染等核心机制,为游戏开发打下坚实基础。
本系列以 Unity / C# 为主要示例环境,概念同样适用于 Unreal、Godot 或自研引擎。部分图形学文章使用 GLSL/HLSL 着色器代码。
推荐阅读路径
根据你的目标,可以选择不同的阅读顺序:
纯新手路径(从零开始): 标量数学 → 三角函数 → 向量 → 矩阵 → 四元数 → 距离与检测 → 运动学 → 碰撞响应
图形程序路径(侧重渲染): 向量 → 矩阵 → 四元数 → 渲染管线 → 光照模型 → 曲线数学
玩法 / AI 路径(侧重游戏逻辑): 标量数学 → 向量 → 距离与检测 → 相交检测 → 运动学 → 碰撞响应 → 随机与噪声 → 导航与行为
当然,按目录顺序从头读到尾也是完全没有问题的。
目录
第一阶段:基础工具箱 (01-basics)
目标:解释游戏引擎 Mathf /
FMath 类中最常用的函数。
- 标量数学与实用函数
(Scalar Math)
- Lerp, InverseLerp, Remap, Clamp, SmoothStep
- 三角函数入门
(Trigonometry)
- Sin/Cos 单位圆原理
- Atan2 与朝向计算
第二阶段:线性代数 (02-linear-algebra)
目标:理解空间、方向和变换。
- 向量
(Vectors)
- 向量的定义与基本运算
- 点积与叉积的几何意义及应用
- 矩阵与变换
(Matrices)
- 平移、旋转、缩放矩阵
- 逆矩阵与法线变换
- 旋转表示法对比(矩阵 vs 欧拉角 vs 四元数)
- 四元数
(Quaternions)
- 欧拉角与万向节死锁
- Slerp 球面插值
第三阶段:几何学 (03-geometry)
目标:处理形状、距离和相交检测。
- 距离与检测
(Distances)
- 欧几里得 vs 曼哈顿
- 点到平面/直线的距离
- 相交检测
(Intersections)
- 射线检测 (Raycast) 原理
- AABB 包围盒碰撞算法
第四阶段:物理模拟 (04-physics)
目标:让游戏世界动起来。
- 运动学基础
(Kinematics)
- 速度、加速度与积分器 (Euler vs Verlet)
- 抛物线运动模拟
- 碰撞响应
(Collision Response)
- 动力学基础:力、质量与动量守恒
- 反射向量与弹力
- 冲量求解与摩擦力模型
第五阶段:图形学 (05-graphics)
目标:理解像素背后的数学。
- 渲染管线中的数学
(Rendering Pipeline)
- 坐标空间变换流程
- 透视除法与投影矩阵
- 光照模型
(Lighting Models)
- Lambert 漫反射
- Phong vs Blinn-Phong 镜面反射
第六阶段:动画与曲线 (06-animation)
目标:让运动更自然。
- 曲线数学 (Curves)
- 贝塞尔曲线 (Bezier) 与 De Casteljau 算法
- Catmull-Rom 样条与曲线选型指南
- 骨骼动画数学
(Skeletal Animation)
- 正向动力学 (FK) vs 反向动力学 (IK)
- CCD 与 FABRIK 算法简介
第七阶段:AI 与过程生成 (07-ai-procgen)
目标:创造智能与无限内容。这两篇分别对应过程生成(噪声驱动的内容生产)和运行时 AI(导航与群体行为),它们共同回答如何用算法替代手工的问题。
- 随机与噪声
(Random & Noise)
- Perlin 噪声算法原理
- Simplex / Worley 噪声对比与工程实践
- 导航与行为
(Navigation)
- A* 寻路算法基础
- Boids 群体模拟 (分离、对齐、内聚)
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【游戏中的数学】游戏中的数学 (3) - 向量基础
游戏开发数学系列第一篇:向量。介绍向量的定义、加减法、标量乘法、点积与叉积及其在游戏中的实际应用。
【游戏中的数学】游戏中的数学 (1) - 基础工具箱:标量数学
详解游戏引擎中常用的标量数学函数:Lerp, InverseLerp, Remap, Clamp, SmoothStep 等。不仅有公式,更有实际应用场景。
【游戏中的数学】游戏中的数学 (2) - 基础工具箱:三角函数
深入浅出地讲解游戏开发中的三角函数:Sin, Cos, Atan2。从单位圆原理到圆周运动、波浪动画和朝向计算的实际应用。
【游戏中的数学】游戏中的数学 (4) - 矩阵与变换
深入理解游戏开发中的矩阵:TRS 变换与代码实践、矩阵乘法与组合变换、MVP 管线详解、逆矩阵、法线变换,以及旋转表示方式对比。