全文8.2k字, 预计需要27分钟
7 物理
平面的表示
游戏中习惯用点斜式来表示平面, 需要: 平面上任意一点P, 法线n, 平面到原点的最小偏移(也就是原点法线方向上的距离)d
P \cdot \...线段与平面: 核心就是联立将线段的公式代入平面的方程中, 判断是否存在t的可行解(0~1内)....这个算法可以推广到所有同平面的凸多边形, 同向判断通常以点乘后的正负号来判断
球与平面: 最简单的方法就是计算球心在目标平面法线n方向上到原点的距离dC, 然后计算目标平面到原点的距离d, 两者相减的绝对值小于球半径那么存在相交...(2D则是四叉树, 或使用更复杂的二进制空间分割BSP)进行分区, 递归分区直到一个叶子只保留一个对象, 然后从外到内以树的节点形成的包围体作为单位进行碰撞检测从而有序筛去大部分无用的对象
基于物理的运动...以这两个点作为射线的起点和终点, 计算t最接近近平面的交点就是相机拣选的结果
9 人工智能
寻路基础
理想的寻路算法是求解最短路径, 合适的搜索空间是效率的关键, 但是搜索空间并不影响寻路算法的使用
方格结构