游戏开发论坛

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

求教关于室外场景的碰撞检测处理方法

[复制链接]

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
发表于 2008-7-16 14:02:00 | 显示全部楼层 |阅读模式
室外的碰撞处理一般可以使用空间八叉树,但是我只比较了解标准的空间八叉树,就是均分且使用指针的那种,此种方法很费内存,所以只能做到对象级别的划分。场景中只有几千的对象,这种内存消耗还在承受范围内。

但是对象级别的碰撞处理不是很精确,有时需要三角面级别的碰撞处理(比如上楼梯或台阶的时候),这种时候怎么办呢?如果对模型进行三角形级别划分,这种内存消耗是无法承受的。

不知道现在主流的做法是怎样的,请内行人指导一下?

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-7-16 19:07:00 | 显示全部楼层

Re:求教关于室外场景的碰撞检测处理方法

首先对空间进行划分,四叉,八叉都行
查找角色所在的空间范围内的对象,进行判定,这样缩小了检测的范围,基本的判定可用AABB,opcode也行
还嫌不够,搞个物理引擎进来做碰撞检测也可以。

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2008-7-16 19:52:00 | 显示全部楼层

Re:求教关于室外场景的碰撞检测处理方法

opcode是什么?

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-7-16 21:09:00 | 显示全部楼层

Re:求教关于室外场景的碰撞检测处理方法

一个碰撞检测库,不过我的程序里面没用它,我直接用了物理引擎了

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
 楼主| 发表于 2008-7-16 22:08:00 | 显示全部楼层

Re:求教关于室外场景的碰撞检测处理方法

那我如果要进行三角面级别的碰撞处理呢?
现在的主要问题不是碰撞后的结果,而是如何快速的找到与之碰撞的对象和三角面。

19

主题

42

帖子

44

积分

注册会员

Rank: 2

积分
44
发表于 2008-7-17 13:13:00 | 显示全部楼层

Re:求教关于室外场景的碰撞检测处理方法

室外场景我一般不用BSP,只在室内用
室外和地面的碰撞因为有高度图数据很好计算,和室外模型的碰撞,一般采用很少面的包围盒,并且把室外场景分成很多Tile,每个tile有自己的模型组,人物处于某个tile就与这个tile的中离角色近的模型做碰撞检测,
至少WOW是这样处理的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 23:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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