可以使用GPU光线追踪内核进行碰撞检测吗?



据我所知,游戏通常具有碰撞检测的内部状态,通常称为" hit box ";它们重叠,但与3D几何(在屏幕上呈现)略有不同。如果我的理解是正确的,即使一个3D物体在视觉上与另一个物体碰撞,游戏引擎也可能不会"注册"。碰撞和两个物体将彼此穿过而不碰撞。这也是我的理解,GPU上的光线追踪核心将执行(硬件加速)与3D物体几何的光线碰撞,以计算颜色值(反射,光反弹等);这些计算似乎在做的事情看起来像是光线和物体几何之间的碰撞检测。

我的问题是:忽略计算速度或可行性,游戏引擎是否有可能完全依赖GPU上的RT内核来计算碰撞检测,而没有单独的数据结构(碰撞框和碰撞边界)?

最终结果将是GPU硬件加速碰撞检测,它基于实际几何(在屏幕上渲染),包括镶嵌数据和GPU通过着色器或其他方法添加的其他几何。

注::我不是游戏开发者,如果我的假设是错误的,请纠正我。

我不确定这个问题是否真的适合Stack Overflow。它非常广泛。

但作为总结答案:似乎可以使用RT内核进行其他类型的命中检测,但有一些事情需要考虑:

  1. gpu非常慢。怎么啦?gpu不是很快吗?嗯,算是吧。它们之所以快,是因为它们可以同时运行同一函数的多个副本。如果任务是"跟踪一条光线,看看它是否击中了什么东西",CPU可能会更快。gpu在追踪数千条光线时速度更快,但用它来确定玩家角色的激光步枪是否击中目标可能会比在CPU上做得慢。
  2. 光线追踪核心用于确定光线和几何图形之间的交集,而不是两个几何图形之间的重叠。确定物体是否从地板上掉下来是通过几何几何相交来完成的,而不是光线追踪。RT内核将无法帮助这一点,但它可以GPU加速。