PhysX 3.2中的场景查询(2)-过滤

场景查询,Scene Query,是物理引擎被非常广泛使用的一个功能,帮助我们查询到感兴趣的物体。在查询过程中,有一个事情非常重要,那就是如何过滤掉我们不感兴趣的物体,减少不必要的计算量--毕竟很多时候,我们的查询都是目的性很强的,只对某些类别的物体感兴趣,比如,计算一颗手雷爆炸伤害的时候,我们通常只需要查询出伤害范围内的动态物体即可,而对静态物体施加伤害没什么意义。这一篇中,我们就说说PhysX 3.2中场景查询的过滤。

 

PhysX中,场景查询可以有Raycast,Sweep,和Overlap检测三类,同时,这些查询又可以组织起来以批处理的方式的执行(Batch Query)。从场景查询过滤的角度看,过滤的过程与是哪一类查询没有关系,而与是单次执行,还是批处理执行有关。也就是说,正如我们在所有Raycast,Sweep和Overlap相关的API里面看到的这样的参数声明:

raycast*/sweep*/overlap*(
        ...
        const PxSceneQueryFilterData& filterData = PxSceneQueryFilterData(),
        PxSceneQueryFilterCallback* filterCall = NULL,
        ...
);

对于单次执行的查询,不论是Raycast,还是Sweep或者Overlap查询,过滤的逻辑都是一样的;但是对于批处理的查询,处理方式则不一样,比单次查询要少一些步骤。

 

首先,我们先看单次执行的时候&#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值