游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3776|回复: 10

[长标题]在大量静态模型、少量动态模型、精度要求不是

[复制链接]

7

主题

78

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2009-11-16 16:11:00 | 显示全部楼层 |阅读模式
是射线碰撞好呢,还是用包围体好呢
[em4]求解
[em6]最好能给来个孰优孰劣

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2009-11-16 17:26:00 | 显示全部楼层

Re:[长标题]在大量静态模型、少量动态模型、精度要求不

射线碰撞是啥?听起来好像你要做的是鼠标拾取....
刚体碰撞一般都先判断包围盒,如果包围盒碰撞再进一步检测。
进一步检测中通常都会把物体抽象为基本物体,包括球,立方体,圆柱体,胶囊等等,也可以是这些基本物体的组合体。物理引擎中也包含了按照Mesh的碰撞检测方法,只是比较耗时一般不会使用。
柔体的灰常复杂,我不会。

7

主题

78

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2009-11-16 17:57:00 | 显示全部楼层

Re: Re:[长标题]在大量静态模型、少量动态模型、精度要求

artint: Re:[长标题]在大量静态模型、少量动态模型、精度要求不是很高的场景中的碰撞检测中。。。。

射线碰撞是啥?听起来好像你要做的是鼠标拾取....
刚体碰撞一般都先判断包围盒,如果包围盒碰撞再进一步检...

鼠标拾取用到了射线碰撞
射线碰撞啊。由刚体按照某种算法向某个(些)方向发出射线,如果射线与某物体相交,且相交距离小于某个指定值,那么这两个物体相交。可以用来独立作为场景的碰撞检测系统。不过纯射线碰撞的bug有不少,于是又出现了“射多面体”的射线- -|||
问题在于。。。。。。。。。我顶楼说的还不够明白吗
[em17]

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2009-11-16 18:00:00 | 显示全部楼层

Re:[长标题]在大量静态模型、少量动态模型、精度要求不

还有人用bsp分割的方法进行碰撞检测的,效率比较高,我目前还没用上

或者用物理引擎算了,比较省心

7

主题

78

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2009-11-16 18:05:00 | 显示全部楼层

Re: [长标题]在大量静态模型、少量动态模型、精度要求不

怎么用,如何用,我都差不多知道,关键是不知道何时用 [em6]

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-11-16 19:08:00 | 显示全部楼层

Re:[长标题]在大量静态模型、少量动态模型、精度要求不

无论ray还是bv都只是某种具体算法而已

对一个游戏来说,需要的是一整个碰撞检测系统,具体用哪种算法,只是碰撞检测系统中求解的最后一部分。

系统应该对不同类型的碰撞使用不同类型的算法,没有哪种算法是可以满足所有需求的,比如地形使用高度场;用BV做第一层级的检测;用ray做子弹的碰撞等等。

9

主题

53

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2009-11-16 23:16:00 | 显示全部楼层

Re: [长标题]在大量静态模型、少量动态模型、精度要求不

   如果只是检测是否发生碰撞,射线检测和包围盒都可以,如果涉及到碰撞后反应,那只能做精确到Bounding Volume级别的检测,还有使用射线检测速度未必就比使用凸包算法GJK,SAY,VCLIP等来的快特别是你的每个物体产生很多射线的情况,不论哪种方法Broad Phase阶段重要性都超过Narrow Phase阶段

13

主题

312

帖子

312

积分

中级会员

Rank: 3Rank: 3

积分
312
发表于 2009-11-17 02:54:00 | 显示全部楼层

Re:[长标题]在大量静态模型、少量动态模型、精度要求不

学习了!!!



------------------------------------------------------------------------------------------

欢迎访问开源图形处理器体系结构论坛(OpenGPU论坛) http://www.opengpu.org/bbs/

OpenGPU Graphics Open Source community(图形开源社区),聚焦领域(focus domain)包括:
  * GPU Architecture(图形处理器体系结构)
  * Graphics Algorithm(图形算法)
  * GPGPU Programming (面向通用的图形处理器编程)
  * Open Source Rendering Engine(开源渲染器)
  * Open Source GPU Simulator/RTL Implement(开源GPU模拟器

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2009-11-17 10:54:00 | 显示全部楼层

Re:[长标题]在大量静态模型、少量动态模型、精度要求不

射线检测这种没用过....感觉很费资源啊....
BSP检测是查询点所在的叶子节点,如果Begin和End所在的节点都在一个叶子,或者在不同叶子并且End的叶子不是实心节点,就认为是没有与场景的面碰撞,如果End在实心节点就说明发生碰撞了...

2

主题

141

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2009-11-17 11:23:00 | 显示全部楼层

Re:[长标题]在大量静态模型、少量动态模型、精度要求不

先根据节点位置 粗略判断是否要 进一步挑选
    然后可分2步
    1.很扁平的物体, 只需判断已经导象后的四点是否在平截体中
    2.非很扁平的物体,用平截体和物体AABB做进一步判断
我在游戏中就是这样做的 很不错了

sorry 看错, 我进行的是平截体和包围盒的碰撞, 不过你两个物体的碰撞是完全类似的, 不过你要注意的是当两个物体碰撞你决定要弹开它们的话, 一定要先保存原数据, 检测这帧是否碰了, 如过碰了, 要作废本次位移, 恢复保存的数据, 而不能先让它移动了再判断, 否则东西会抖动的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-18 01:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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