4

我了解到,要提高 three.js 的性能,我们需要尽量减少绘制调用的数量。这可以通过使用 GeometryUtils.merge 合并几何来完成。

然而,在合并之后,就不能再使用光线投射来选择单个几何图形了。我理解它的原因,但我想知道是否还有其他技术可以在合并后选择单个几何图形?

4

2 回答 2

1

一种内存效率低但快速的方法是保留 2 组几何图形。用于渲染的合并几何体和用于光线投射的未合并几何体。因此,您将在从未渲染的几何体上进行光线投射。如果您没有严格的内存限制,只有很多对象,这可能是有道理的。
另一种但更复杂的方法是实现一个将面映射到原始几何图形的索引。

于 2017-04-24T17:47:50.987 回答
0

此示例显示如何更改球体几何的单击面的颜色:http: //stemkoski.github.io/Three.js/Mouse-Click.html

这有帮助吗?您到底想对拾取的几何对象做什么?

/edit:再想一想,这可能无济于事,因为你想对一个完整的几何对象进行光线投射,而不是它的单个面..

于 2013-10-17T15:26:37.890 回答