游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2056|回复: 5

关于相机碰撞检测的问题

[复制链接]

28

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2005-7-25 11:38:00 | 显示全部楼层 |阅读模式
我基于AABB实现了相机的碰撞检测,但不够精确,有些情况无法正确处理,比如要进入房间内,房子是一个mesh,门相当于一个缺口,但对AABB来说,仍然是一个闭合的整体,这样相机就进不去了,如果把房子的网格打散,理论上似乎可以了,但如果门不是方形的,而是圆形或多边形,则AABB又会导致相机进不去,我看了别人的程序,房子的网格没有打散,是一个整体,即使门很窄,仍然可以走进去,请问怎样才能处理这样的情况?是否必须构造OBB?

0

主题

16

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2005-7-25 15:35:00 | 显示全部楼层

Re:关于相机碰撞检测的问题

室内室外是两个空间,使用门系统来区分开,当人进入室内或是出门到室外时,相机应该有一个寻径,使自己能进入或出去,穿越门。你的世界里应该有许多这样的门,让门告诉相机它的运动。

28

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
 楼主| 发表于 2005-7-26 16:05:00 | 显示全部楼层

Re:关于相机碰撞检测的问题

谢谢debroa723的回答.
不过你提到的方法对门有太多的限制了,在一个场景中,考虑古建筑,事实上门可能只是一道门而已,或是围墙,或是门牌.再考虑从窗户进出的情况,从下水道,通风口等等,我们在许多FPS游戏中都看到过这些情况,显而易见,使用门系统是无法正确处理这些情况的.

2

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
发表于 2005-7-26 16:08:00 | 显示全部楼层

Re: Re:关于相机碰撞检测的问题

LuRenJia: Re:关于相机碰撞检测的问题

谢谢debroa723的回答.
不过你提到的方法对门有太多的限制了,在一个场景中,考虑古建筑,事实上门可能只是一道...


?不??鍪颤N复?度吧,很多??蚨际沁@么做的
如果你非要在通??些?窄口的地方完全使用碰撞?z?y??Q定的?,?需要仔??理被卡住、粘住之?的???

28

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
 楼主| 发表于 2005-7-26 16:34:00 | 显示全部楼层

Re:关于相机碰撞检测的问题

dancercl你好,感谢你的回答.
卡住粘住的问题,其解决方法是对碰撞检测后得到的新位置进行递归,直到找到一个有效的新位置或达到一定层数时退回原位置.
CSDN上有位朋友回答:
http://community.csdn.net/Expert/topic/4165/4165846.xml?temp=8.181399E-02
---------------------------------
AABB也好,OBB也好都是执行包围盒一级的碰撞检测

在你的问题当中,要么打散mesh,把房间分割成为多个部分,其中入口部分空白,不被任何物体的包围盒所包含;要么把碰撞检测执行到mesh的triangle一级去,也就是说,box碰撞了还要继续深入检测具体碰到了mesh的那个三角形上,如果仅仅box碰撞了,但是没有碰到具体的三角形依然认为没有碰撞。

这个是相机的碰撞没有啥关系吧,相机都是当作一个点来处理的,aabb,obb都是体之间的碰撞
-----------------------------------------------
总之要么找散MESH,要么精确到三角形的碰撞.精确到三角形应该会对性能造成一定影响.构造OBB的检测如何呢?OBB又如何来进行碰撞检测呢?

28

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
 楼主| 发表于 2005-7-26 16:42:00 | 显示全部楼层

Re:关于相机碰撞检测的问题

另外还有一个问题,一个MESH文件中只能包含一个MESH吗?能不能包含一个MESH组,他们分别有各自的AABB,又能作为一个整体进行平移,旋转,缩放?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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