游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: zlcnkkm

碰撞用的四叉树的搜索效率如何才能体现出来?

[复制链接]

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
 楼主| 发表于 2005-10-16 23:18:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

哦~这样的~还是先理解理解四叉树

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
 楼主| 发表于 2005-10-16 23:23:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

有个疑问,按场景空间来划分,那么物体有可能同时存在于多个节点中吗?

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2005-10-16 23:27:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

都可以,这主要看你自己希望如何实现。一般比较简单的做法是如果同时占用多个节点的,那么把它放到所有被占用的节点的共同祖先节点中去(也就是刚好可以完全包裹该物体的节点)。

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
 楼主| 发表于 2005-10-16 23:53:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

当物体完全包裹某节点所代表的区域时,才把物体加入到该节点吗?

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2005-10-17 00:00:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

是的,这使得整个场景的管理规范和简单,而且对于动态的物体来说尤其简单。

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
 楼主| 发表于 2005-10-17 00:17:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

哦~基本明白了,十分感谢!

我该睡了,明天再讨论~ :)

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-10-17 13:15:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

我还是那个观点,不建议动态对象使用树来管理,可能我接触网络游戏多了,动态对象变换节点和搜索速度之间的代价很难平衡,一般场景管理使用BSP树来处理,当然场景中也有动态对象,但那些对象运动的频率都是有限的

3D的网络游戏一般不会有人物碰撞检测,就是人和人之间可以穿行,但人和场景之间有碰撞检测

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2005-10-17 13:39:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

其实我觉得应该看具体应用,动态对象用树来管理其实没有什么问题,即使BSP也是树,都有着划分场景的本质。但对于室内场景来说,叉树在渲染速度方面比BSP的确逊色不少,因为BSP有很好的Portal和PVS的支持,BSP的结构化面很多时候就是一块遮挡板。但叉树在室外场景的例地形中却是很好的应用。只要选择合适的构造参数基本上可以保证每一帧的碰撞等运算量在可接受范围之内。搜索速度也是挺快的。因为每一个动态的物体都会记录了自己上一帧在那个节点,这一帧很可能是在原来节点的父节点的另一个子节点中(毕竟正如正如所说运动频率是有限的),这样的搜索可以很好的进行优化。

53

主题

241

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
 楼主| 发表于 2005-10-17 13:47:00 | 显示全部楼层

Re:碰撞用的四叉树的搜索效率如何才能体现出来?

如果场景中的动态物体不单是在地面上,而是整个空间中,每个人物(或者其它对象)会同时放出相当数量的攻击道具,道具也不是一定会打中的,整个场景使用一点较拟真的物理运算,不用树来管理不是更糟吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 07:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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