阅读新闻

如何沿墙壁滑动

[日期:2007-04-26] 来源:  作者: [字体: ]
         
碰撞一般分成两个部分,碰撞的检测和碰撞的响应
碰撞的检测前面已经说过了,无非就是射线与三角形求交。
当已经检测有碰撞发生了以后,你当然不能让主角停在原地不动了吧,
所以当主角与墙壁发生碰撞以后,让主角沿墙壁滑动就显得相当的重要了。

其实这个算法很简单,见下图:
uploads/200610/08_153451_graph.gif


假设当前速度为V,当前坐标为p1,通过速度V我们可以求出p2点,
所以p1,p2两点组成一条线段,首先检测碰撞,即p1,p2组成的线段是否与平面相交

如果已经相交,则进行碰撞处理:
1 - 先求出p2到平面的距离d
2 - 将d 乘以 面的法线N,得到向量v1
3 - 得到向量 (p2 - O) = v3
4 - 所以如图 v0 = v1 + v3

所以v0即为沿墙壁滑动的向量,所以最终的滑动的位置 p3 = O + v0

滑动就这么简单。


阅读:
录入:admin

评论 】 【 推荐 】 【 打印
上一篇:各种垃圾回收算法的通俗解释
下一篇:
相关新闻      
本文评论       全部评论
发表评论
字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款