发明名称 |
一种实时碰撞检测系统的实现方法 |
摘要 |
本发明提供了一种实时碰撞检测系统的实现方法,包括如下步骤:A、将场景分割成四叉树,制作场景中需要发生碰撞的物体的带逻辑等级的碰撞模型,生成碰撞模型的模型数据文件以及场景的四叉树及结点信息文件;B、读取所述四叉树及结点信息文件,创建管理模型的四叉树;读取模型数据文件,根据碰撞模型的数量读取碰撞模型中的三角形数据,创建保存三角形数据的数组,并生成碰撞模型的沿轴排列包围盒AABB,根据最长坐标轴对碰撞模型进行排序,然后建立AABB树;C、在客户端和服务器侧检测在射线检测距离内的射线与四叉树的碰撞,以及射线与四叉树叶结点、AABB树及三角形的碰撞,其中在客户端测试最近的碰撞点,在服务器侧判断是否碰撞。 |
申请公布号 |
CN102509317B |
申请公布日期 |
2013.12.25 |
申请号 |
CN201110289671.0 |
申请日期 |
2011.09.27 |
申请人 |
北京像素软件科技股份有限公司 |
发明人 |
张明阳;龚静 |
分类号 |
G06T11/00(2006.01)I |
主分类号 |
G06T11/00(2006.01)I |
代理机构 |
北京德琦知识产权代理有限公司 11018 |
代理人 |
牛峥;王丽琴 |
主权项 |
一种实时碰撞检测方法,其特征在于,包括如下步骤:A、将场景分割成四叉树,制作场景中需要发生碰撞的物体的碰撞模型,设置碰撞模型的逻辑等级,生成碰撞模型的模型数据文件以及场景的四叉树及结点信息文件;B、读取所述四叉树及结点信息文件,创建管理模型的四叉树;读取模型数据文件,根据碰撞模型的数量读取碰撞模型中的三角形数据,创建保存三角形数据的数组,并生成碰撞模型的沿轴排列包围盒AABB,根据最长坐标轴对碰撞模型进行排序,然后建立AABB树;C、在客户端和服务器侧检测在射线检测距离内的射线与四叉树的碰撞,以及射线与四叉树叶结点、AABB树及三角形的碰撞,其中,射线仅与高于自身逻辑等级的碰撞模型对应的AABB发生碰撞,在客户端测试最近的碰撞点,在服务器侧判断是否碰撞。 |
地址 |
102200 北京市昌平区科技园区火炬街21号401-07室 |