【摘要】:如果能到达人体模型AABB树的叶节点,则进一步进行叶节点对所包含的基元间的相交测试。本文中所涉及的两个碰撞体,分别为人体模型和2-D裁片,其中人体模型在整个动态模拟过程中为静态的,因此,只需在初始化时构造一次AABB树即可。在进行人体模型和2-D裁片碰撞检测时,根据裁片与人体模型的对应位置分别进行局部检测,有效地减少需要碰撞检测的元素。系统根据所缝合的裁片不同,建立的人体模型AABB树亦不相同。
(1)分别构建2-D裁片和人体模型AABB树。
(2)用人体模型的AABB树的根节点遍历2-D裁片的AABB树。
若发现人体模型AABB树的根节点的包围盒与裁片AABB树内部节点的包围盒不相交,则停止向下遍历并结束碰撞检测。如果遍历能到达2-D裁片AABB树的叶节点,再用该叶节点遍历人体模型AABB树。如果能到达人体模型AABB树的叶节点,则进一步进行叶节点对所包含的基元间的相交测试。(www.xing528.com)
(3)检测叶节点对包含的基元是否相交。
本文中所涉及的两个碰撞体,分别为人体模型和2-D裁片,其中人体模型在整个动态模拟过程中为静态的,因此,只需在初始化时构造一次AABB树即可。为了进一步提高碰撞检测的效率,我们在构造人体模型的AABB树时,根据2-D裁片所处位置与人体模型的几何结构,灵活构造人体模型的AABB树。例如,对于一件由四个裁片构成的上衣,在构造人体模型的AABB树时,只需取人体模型上半身数据来构造人体模型的AABB(图5-8)。
在进行人体模型和2-D裁片碰撞检测时,根据裁片与人体模型的对应位置分别进行局部检测,有效地减少需要碰撞检测的元素。系统根据所缝合的裁片不同,建立的人体模型AABB树亦不相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。