高级碰撞检测及响应算法——碰撞检测.docVIP

  • 12
  • 0
  • 约4.81千字
  • 约 10页
  • 2018-11-29 发布于河北
  • 举报

高级碰撞检测及响应算法——碰撞检测.doc

高级碰撞检测及响应算法——碰撞检测

高级碰撞检测及响应算法——碰撞检测 2010-11-18 22:35 1.概述 移动的物体可以由椭球体近似表达,这种椭球体更容易逼近类人和动物的形状,比如说人的头,就是一个X-Y-Z轴半径相等的椭球体,髋骨,盆骨等都可以较好地用椭球体体现出来。多个椭球体组成的集合的形状也使它们易于在障碍物上平滑地移动,这一点在3D游戏中显得特别重要,因为玩家绝不希望在激烈的战斗中自己被卡在某个死角里不能动弹。 我们希望能在场景中来回移动我们的物体(或者角色)。它可以由一个椭球体表现,其中椭球体的中心位置代表了角色的位置,半径向量则定义了椭球体沿三个轴向的尺寸。见图3.1。 图3.1:椭球体的半径向量 通过对角色施加某方向的力,他就能在场景世界中移动。这个过程由速度向量(velocity vector)表示。我们希望椭球体能够在场景世界中移动,那么它的新的位置等于它当前位置加上速度向量。见图3.2。 图3.2:通过一个速度移动椭球体 但是我们还不清楚我们是否能成功完成这个移动,因为可能在过程中会出现一些事情,例如组成场景世界的一个或者多个三角片挡住了椭球体的去路。我们不可能事先准确地知道椭球体会撞上哪个三角片,所以我们应该检查所有的三角片(这里,可以将一个大的网格体化分成一个八叉树,这个八叉树被用来帮助我们检查那些靠近角色的三角片)。同时,我们还不能在检测到一个可能碰撞的三角片后就立即停止检测

文档评论(0)

1亿VIP精品文档

相关文档