Javascript threejs性能-合并和拾取
我了解到,为了提高three.js的性能,我们需要尽量减少draw调用的数量。这可以通过使用GeometryUtils.merge合并几何图形来完成Javascript threejs性能-合并和拾取,javascript,three.js,Javascript,Three.js,我了解到,为了提高three.js的性能,我们需要尽量减少draw调用的数量。这可以通过使用GeometryUtils.merge合并几何图形来完成 但是,合并后,无法再使用光线投射拾取单个几何体。我理解其原因,但我想知道是否有其他技术允许在合并后拾取单个几何体?此示例显示如何更改球体几何体的单击面颜色: 这有用吗?您希望对拾取的几何体对象执行什么操作 /编辑:再考虑一下,这可能不会有帮助,因为您希望光线投射一个完整的几何体对象,而不是它的单个面。内存效率低下,但快速的方法是保留两组几何体。用
但是,合并后,无法再使用光线投射拾取单个几何体。我理解其原因,但我想知道是否有其他技术允许在合并后拾取单个几何体?此示例显示如何更改球体几何体的单击面颜色: 这有用吗?您希望对拾取的几何体对象执行什么操作
/编辑:再考虑一下,这可能不会有帮助,因为您希望光线投射一个完整的几何体对象,而不是它的单个面。内存效率低下,但快速的方法是保留两组几何体。用于渲染的合并几何体和用于光线投射的未合并几何体。因此,您将对从未渲染的几何体进行光线投射。如果没有紧内存限制,只有很多对象,这可能是有意义的。
另一种更复杂的方法是实现将面映射到原始几何体的索引。是的,我想选择一个几何体,而不仅仅是面。