Я пытаюсь создать пользовательскую фигуру, используя ThreeJS triangulateShape.
Например: если точки: ["-1 0 1", "-1 0 -1", "1 0 -1", "1 0 1"]
простой квадрат, он должен автоматически создать грани, образованные треугольниками: ["0 1 2", "0 2 3"]
.
Я пытаюсь использовать функцию shapeUtils.triangulateShape
, но она не работает. Код выглядит так:
var geometry = new THREE.Geometry();
var points = data.vertices.map(function (vertex) {
return vertex.split(' ').map(function(x){return parseFloat(x);});
});
for(var i =0; i < points.length; i++) {
geometry.vertices.push(new THREE.Vector3(points[i][0], points[i][1], points[i][2]));
}
var holes =[];
var triangles = THREE.ShapeUtils.triangulateShape( geometry.vertices, holes );
Создает нулевой массив. Я предполагаю, что что-то не так в передаче параметров в triangulateShape, но не могу понять. Спасибо