【问题标题】:Efficient way to create click targets larger that the actual scene object创建比实际场景对象更大的点击目标的有效方法
【发布时间】:2021-08-03 22:28:59
【问题描述】:

让点击目标大于实际场景对象的好方法是什么?

到目前为止,我们一直在使用更大的不可见(但可投射)对象来执行此操作,但其代价是需要两次绘制调用而不是一次。

有没有更好的解决方案?

【问题讨论】:

    标签: three.js raycasting


    【解决方案1】:

    到目前为止,我们一直在使用更大的不可见(但可投射)对象来执行此操作,但其代价是需要两次绘制调用而不是一次。

    如果您将Object3D.visible 设置为false,则不会有额外的draw call。但是,您仍然可以对不可见的 3D 对象执行光线投射。在执行相交测试时,使用Raycaster.layers 选择性地忽略 3D 对象。

    所以你正在做的已经很好了。如果光线投射性能成为应用程序的瓶颈,您可能需要考虑仅针对边界体积进行光线投射。这个想法是为您的实际场景对象创建一个Box3 (AABB) 或Sphere(边界球)的实例,并且仅将其用于光线投射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-14
      • 1970-01-01
      • 2019-04-05
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多