我正在学习如何充分利用我的缓冲区几何形状。我慢慢开始了解它们是如何工作的,以及不同的可能性是什么。
但现在我想要一个带有轮廓的网格:
3------------------------------------------------2
/ \
/ \
/ \
/ \
0---------------------------------------------------------1
要获得网格,我需要定义两个面( 0, 1, 2 )
和( 0, 2, 3 )
. 所以要绘制这个网格,我的索引数组将如下所示:
var indices = [ 0, 1, 2, 0, 2, 3 ];
但是要绘制轮廓,我需要按顺序连接点,(0, 1, 2, 3, 0)
因此我的线索引数组如下所示:
var indices = [0, 1, 2, 3, 0];
但是我只能为我的THREE.BufferGeometry
实例定义一次索引数组。因此,要绘制两者,我需要克隆几何并将其添加一次连接到 aMesh
和一次作为 a Line
。这意味着所有位置都存储两次。
我可以不使用相同的缓冲区几何图形来绘制线和网格吗?不知何故,通过传递两个索引数组或例如将它们组合为一个并使用此问题中提到的偏移量。
这很好用,因为你可以看到我的小提琴