检测光标附近的物体以捕捉到 - 挑选射线的任何替代方案



在检测鼠标光标附近的对象以捕捉到(在3D视图中)的问题,我们使用的是拾取射线方法(基本上形成了光标的附近的3D区域然后检测到该区域中存在的对象)。

我想知道这是否是解决任务的唯一方法。我可以使用视图矩阵来获取对象的2D坐标,然后搜索光标附近的任何对象?

我对采摘射线方法不满意,因为它相对昂贵,因此问题本质上是关于> 是否通常基于空间转换的方法通常会更快。我是3D编程的新手,所以请给我一个挖掘的方向。

您可能可以通过在对象周围形成嵌套边界框的层次结构来加速射线拾取过程,并检查射线与边界框的相交。这样,您可以节省很多交叉测试。

有一个替代方案,利用可用的渲染引擎:您可以使用扁平阴影并为每个对象设置不同的颜色,而不是使用正常的渲染属性进行屏幕筛选,而是在屏幕外平面上渲染相同的视图。您将获得一个即时告诉您任何像素的对象ID的对象图。

相关内容

  • 没有找到相关文章

最新更新