游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4225|回复: 12

请教个碰撞问题!

[复制链接]

77

主题

203

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
发表于 2006-1-11 19:52:00 | 显示全部楼层 |阅读模式
我用用包围合检测碰撞,现在我有一个小问题请教一下,假如某一时刻两个物体正好交叉通过(一个水平,一个竖直),那么我是不是应该不考虑其他细微的细节,直接判断两物体碰撞?

77

主题

203

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
 楼主| 发表于 2006-1-11 20:18:00 | 显示全部楼层

Re:请教个碰撞问题!

这个就是包围合:

把高速移动的物体前一帧的位置和后一帧的位置当作包围合的两个端点,然后画成长方体,看这个长方体有没有和相应人物的包围合相交.....这种做法解决了连续性问题。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-1-12 14:05:00 | 显示全部楼层

Re:请教个碰撞问题!

是这样的。

6

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2006-1-13 12:05:00 | 显示全部楼层

Re:请教个碰撞问题!

"假如某一时刻两个物体正好交叉通过(一个水平,一个竖直),"

你怎么判断这两个物体正好交叉通过,当然要精确判断两个物体的碰撞信息.先做包围盒碰撞,如果物体包围盒发生碰撞,再进入物体三角形级别的碰撞检测.

77

主题

203

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
 楼主| 发表于 2006-1-13 13:08:00 | 显示全部楼层

Re: Re:请教个碰撞问题!

azureyes: Re:请教个碰撞问题!

上一侦到这一桢的连接体,与物体进行碰撞检测。

应该是与物体包围合进行碰撞监测吧?

15

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2006-1-13 18:26:00 | 显示全部楼层

Re:请教个碰撞问题!

我没看过关于碰撞检测的文章,但是我自己想出的碰撞检测方法也是使用包围合,不知道是否科学~

50

主题

992

帖子

1012

积分

金牌会员

Rank: 6Rank: 6

积分
1012
发表于 2006-1-13 23:55:00 | 显示全部楼层

Re:请教个碰撞问题!

方法有多种,6楼的是常用的方法

77

主题

203

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
 楼主| 发表于 2006-1-14 16:31:00 | 显示全部楼层

Re:请教个碰撞问题!

"假如某一时刻两个物体正好交叉通过(一个水平,一个竖直),"

你怎么判断这两个物体正好交叉通过,当然要精确判断两个物体的碰撞信息.先做包围盒碰撞,如果物体包围盒发生碰撞,再进入物体三角形级别的碰撞检测.

有一个问题不懂,怎样进行物体三角形级别的碰撞检测?还有,能提供这篇文章么?
可以发上来,也可以传到我的邮箱里,我的邮箱gyj1981_11@163.com,谢谢!

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2006-1-15 17:47:00 | 显示全部楼层

Re:请教个碰撞问题!

实际上多数情况下对精度的要求不是很高,用精度足够的obb/aabb/k-dop就行了。很多游戏都是这么做的(e.g.cs/war3)

17

主题

61

帖子

67

积分

注册会员

Rank: 2

积分
67
QQ
发表于 2006-1-15 22:40:00 | 显示全部楼层

Re:请教个碰撞问题!

我的想法是判断一个物体的顶点是否在另一个物体内, 对于2D的好像有个函数
BOOL PtInRegion(
  HRGN hrgn,  // handle to region
  int X,      // x-coordinate of point
  int Y       // y-coordinate of point
);
可以检验的, 如果物体所有的顶点都不被另一个物体所包含,那么两物体没有发生碰撞. 不过这样子的话, 计算量可能很大.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 08:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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