这是我想要实现的(一个可修改的多边形,其中红色圆圈是顶点),我想动态构建多边形.

在启动几何体时
var geometry = new THREE.Geometry();
geometry.vertices.push(point);
geometry.vertices.push(point);
var line = new THREE.Line(geometry, new THREE.LineBasicMaterial({}));
Run Code Online (Sandbox Code Playgroud)
它运行良好,直到第二次单击,它在1和2之间构建一条直线,但是当它被推送到数组时不会添加第三条线.WebGL似乎需要缓冲点.
当我预定义像这样的顶点我可以画两条线(第三次点击)
var geometry = new THREE.Geometry();
for (var i = 0; i < 4; i++) {
geometry.vertices.push(point);
}
var line = new THREE.Line(geometry, new THREE.LineBasicMaterial({}));
Run Code Online (Sandbox Code Playgroud)
但这不是一个好的解决方案,因为我不知道用户想要添加多少个顶点,因为我需要多次循环它,所以分配它是没有意义的.
它有什么办法吗?