游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1746|回复: 4

碰撞检测的问题

[复制链接]

63

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2009-11-4 16:19:00 | 显示全部楼层 |阅读模式
convex和box的碰撞检测如何实现?
点在空间内?
点面相交?
面面相交?

另外小件物体和大件物体检测到碰撞,如何区别“不能穿越”和“在桥上可以通过”,或者“在边缘落下”,“在边缘不能落下”呢?

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2009-11-4 18:02:00 | 显示全部楼层

Re:碰撞检测的问题

dx11刚发布的的api已经包含碰撞检测的部分了,而且好像可以在dx9下面用,我才知道的,还没来得及去看

63

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2009-11-5 08:45:00 | 显示全部楼层

Re:碰撞检测的问题

这么牛。
那以后引擎部分啥都不用干了。

不过还是想搞懂底层的说。

9

主题

53

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2009-11-5 22:04:00 | 显示全部楼层

Re: 碰撞检测的问题

最简单的使用SAT分离轴测试算法,支持任意凸多面体和凸多面体碰撞,很多碰撞库使用GJK方法这种方法不但能检测凸多面体还能检测任意凸包之间的碰撞 比如圆柱体VS球体,甚至不需要具体形状只要给出该凸包的特征方程(通过Support Vertex),非常高效,还有就是V-CLip这个算法已经被Miricht申请了专利所以不大有人用不过也很高效

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2009-11-6 09:44:00 | 显示全部楼层

Re:碰撞检测的问题

box拆为四边形。然后变为poly2poly

box2d
http://www.box2d.org/

看代码包的 Box2D\Source\Collision\b2CollidePoly.cpp

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-18 05:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表