游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4081|回复: 11

请问碰撞的问题

[复制链接]

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-7-11 11:17:00 | 显示全部楼层 |阅读模式
我正在做碰撞检测,使用的是轴向包围盒,我原以为单纯用顶点与面碰撞就行,但肯定不是这样的。因为我遇到这种情况,我想请问大家是怎样做碰撞检测的。[em24]
这幅是前视图(图中“v”代表顶点,黑色是物体A的原位置,紫色是物体A的新位置,红色是物体B,物体B并没有移动):
sf_2005711111649.bmp

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-11 11:18:00 | 显示全部楼层

Re: 请问碰撞的问题

这是左视图:
sf_2005711111748.bmp

11

主题

114

帖子

118

积分

注册会员

Rank: 2

积分
118
QQ
发表于 2005-7-11 11:37:00 | 显示全部楼层

Re:请问碰撞的问题

早一些的DX9SDK里有一个CullBox的例子,里面有一个完整的碰撞检测算法

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-7-11 12:52:00 | 显示全部楼层

Re:请问碰撞的问题

新的DX9C有个小球的例子,可以发射很多球碰撞的,也可以参考

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2005-7-11 13:21:00 | 显示全部楼层

Re:请问碰撞的问题

要做三角型到三角形的碰撞,大体的思路是把三角型拆成三条线段,然后做线段和三角型的碰撞检测,分别做三次。碰撞的时候首先是把三角形弄成一个面的方程,然后把三条线段的方程和面的方程联解,有解的话,就判断交点是否在三角形内。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-11 17:49:00 | 显示全部楼层

Re:请问碰撞的问题

有几个很重大的问题:
1、还要不要顶点与三角形碰撞?
2、用包围盒时,是不是保留八个顶点个他们的索引,还是用其他方法
暂时这么多了,我实在弄不行

15

主题

248

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
发表于 2005-7-12 02:12:00 | 显示全部楼层

Re:请问碰撞的问题

碰撞检测啊,其实我也只研究过一部分(很久以前)……
那个方法大概是:
判断ElapsedTime后,是否有顶点在平面内穿过平面(判断ElapsedTime先后顶点与平面的位置关系)
盒A的每个顶点与盒B的6个面检测,然后用盒B的每个顶点与盒A的6个面检测。一般情况下只要检测到一次碰撞就可以不用继续检测了。然后更新移动盒的位置信息。
(多边形与盒发生碰撞的话,通常只用多边形的3个点与盒的6个面进行检测,因为多边形的大小与盒相比相对小些,不过也有多边形比盒大的情况)
……很久以前看过的了,现在应该有更好的AABB盒的算法

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-7-12 09:05:00 | 显示全部楼层

Re:请问碰撞的问题

关注

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-12 19:06:00 | 显示全部楼层

Re:请问碰撞的问题

还有一个问题问一下大家,AABB盒是怎样构建的?是载入一个盒子然后修改其数据,还是更具最大最小点自己构建一个?

15

主题

248

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
发表于 2005-7-12 20:05:00 | 显示全部楼层

Re:请问碰撞的问题

……
我觉得AABB盒只是一些“数据”而已,应该中心坐标+长宽高,两个3维向量……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 10:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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