本书考虑的层次表达仅限于四方包围体或球包围体。此外,假设物体的图元为三角形。该假设不仅加快了图元-图元相交性测试,同时也简化了方向包围盒的树结构。轴向包围盒和包围球的表达不受该假设的影响。
一般而言,由于碰撞检测高度依赖于待考虑的物体的相对位移,因此尚不清楚哪种层次表达最好。例如,如果物体彼此的距离足够近,OBB表达法的效果通常比其他方法更好,因为它的紧密贴合,能够大量减少图元-图元相交性测试的数量。另外,如果物体距离较远,AABB表达法和BS表达法提供的包围体相交性测试资源消耗较少,是层次表达的更好选择。现代方法采用混合层次结构,基于内部节点和叶节点的接近度,其内部节点具有不同的表示。例如,在混合层次结构中,顶层内部节点采用AABB,粗略剔除非碰撞区域,在叶节点和底层内部节点采用OBB,实现改进的和更精确的非碰撞区域剔除。
无论使用哪种层次表达,都可以通过自顶向下或自底向上的方式构建层次结构树。在自顶向下的方法中,物体的初始图元是最上层包围体,根据某些分割规则,以递归的方式分解为子包围体,直至每个子包围体只有一个图元或一组图元为止。在自底向上方法中,当且仅当图元组无法再根据分割规则被进一步细分时,细分过程终止。自顶向下方法的例子将在4.2节中详细讨论。在自底向上方法中,每个图元单独分配一个初始包围体。接下来,依照某些合并规则,包围体合并,直至层次结构树中仅有一个包含所有图元的最上层包围体。(www.xing528.com)
包围体分割为两个或更多子包围体,或者合并两个或更多子包围体,因此构造层次结构树的方法有多种。分割方法包括二叉树(一个父节点有两个子节点)、四叉树(一个父节点有4个子节点)和八叉树(一个父节点有8个子节点)。本书的分析仅限于使用自顶向下方法构建二叉树的最常用方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。