有哪位大神研究过半条命2的物理引擎!

我的小丫丫 2013-12-26 12:07:26
有哪位大神研究过半条命2的物理引擎!
最近在研究fps游戏相关的物理引擎!
我现在的做法是:
前提:游戏中需要计算碰撞的物体有1、玩家(所有玩家身高和体积一样,椭圆体,身高180,胖40),2、手雷(为球体,直径为10)
数据结构:用比较老的bsp切分法将整个游戏场景切分成一个一个的凸面空间,即node 和 leaf这样子的典型划分法,leaf和leaf之间用Portal
预先处理:由于只有玩家和手雷两个移动碰撞物体,将用bsp切分得到的所有多边形按照玩家的椭圆形和手雷的球体进行扩展,将本应该用椭圆体和球体进行碰撞计算的转换成点和面的碰撞,这样子做计算方法简单,但有很多不足,
比如:游戏中要增加一个小怪物,碰撞体和原来的玩家以及手雷的不同,这时候就又需要再按照上面的方法进行多边形预处理,内存中又多出一份来,如果再增加一个小车的碰撞,就又多一份内存!
看到半条命2的移动碰撞方法是对碰撞体进行扩展然后再去计算碰撞结果,这个扩展性很好,而且他的算法很牛,不过看不太懂原理和数据结构,希望有大神指点下,或者介绍几个相关的网站,我自己去看也成,小弟跪谢了
...全文
665 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiandingzhe 2014-01-02
  • 打赏
  • 举报
回复
有一本书叫game physics engine development,在CSDN上就能下到PDF。它详细讲解了游戏物理引擎的各个方面,从刚体动力学,到碰撞检测、穿透解决,到物体稳定化。你看完了会发现,一个稳定工作的物理引擎,很可能比你想的要复杂。 然后,碰撞检测本身就是一个专门的领域。有一本Elsevier的书叫《碰撞检测算法技术》,里面涉及了从基本的图元、几何体测试,到空间划分的几种方法,到任意凸多面体的碰撞检测。《游戏编程精粹7》这本书里将了一种叫MPR的碰撞检测算法,有非常高的通用性,可以应用于几乎任何凸体(不光是凸多面体)。 另外,其实我建议你使用一个现成的物理引擎,因为自己开发的几乎不可能在性能和正确性上比得过那些(当然,自己搞有乐趣)。现在的3D引擎有Newton、Bullet、ODE几个开源的,其中Bullet开发比较完善,而且支持显卡运算,另两个不太清楚。还有PhysiX是Nvidia搞的,支持在N卡上做物理加速。
我的小丫丫 2013-12-27
  • 打赏
  • 举报
回复
我是个游戏工作者
derekrose 2013-12-26
  • 打赏
  • 举报
回复
你是什么专业的?
我的小丫丫 2013-12-26
  • 打赏
  • 举报
回复
其实我就想研究研究source engine里的碰撞而已,有相关文章吗?
赵4老师 2013-12-26
  • 打赏
  • 举报
回复
3D碰撞问题域真是“广阔天地,大有作为。”啊!!!! 头脑风暴一下: 物理引擎 表面张力 分子间作用力 万有引力 月球车 机器人触觉 异性相吸 …… 够发展至少一个世纪了!
我的小丫丫 2013-12-26
  • 打赏
  • 举报
回复
自己顶一下!别沉了

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧