我了解到为了提高three.js的性能,我们需要尽可能减少绘制调用的次数。这可以通过使用GeometryUtils.merge合并几何来完成。
然而,在合并之后,再也不可能使用光线投射来选择单个几何体。我理解它的原因,但我想知道是否有其他技术允许在合并后选择单个几何?
答案 0 :(得分:0)
此示例显示如何更改球体几何体的单击面的颜色: http://stemkoski.github.io/Three.js/Mouse-Click.html
这有帮助吗?您想要对拾取的几何对象做什么?
/ edit:再考虑一下,这可能不会有所帮助,因为你想要一个完整的几何对象,而不是它的单面对象。
答案 1 :(得分:0)
内存效率低,但快速的方法是保留2组几何。用于渲染的合并几何体和用于光线投射的未合并几何体。因此,您将对从未渲染的几何体进行光线投射。如果你没有严格的内存限制,只有很多对象,这可能是有道理的 另一种但更复杂的方法是实现将面映射到原始几何的索引。