Three.js ThreeJS三角形形状返回null

Three.js ThreeJS三角形形状返回null,three.js,triangulation,Three.js,Triangulation,我正在尝试使用ThreeJS triangulateShape创建自定义形状 例如:如果点是:[“-10-1”、“-10-1”、“10-1”、“10-1”]一个简单的正方形,它应该自动创建由三角形构成的面:[“0 1 2”、“0 2 3”] 我正在尝试使用shapeUtils.triangulateShape函数,但失败了。代码如下所示: var geometry = new THREE.Geometry(); var points = data.vertices.map(function (v

我正在尝试使用ThreeJS triangulateShape创建自定义形状

例如:如果点是:
[“-10-1”、“-10-1”、“10-1”、“10-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 );
var geometry=new THREE.geometry();
var points=data.vertices.map(函数(顶点){
返回vertex.split(“”).map(函数(x){return parseFloat(x);});
});
对于(变量i=0;i

它创建一个空数组。我猜将参数传递给三角形形状是有问题的,但无法解决。谢谢

ShapeUtils。三角形形状
仅接受二维轮廓作为第一个参数。您正在应用3D数据。

当我尝试var geom=new THREE.Geometry()时;var verts=[{x:-1,y:1},{x:-1,y:-1},{x:1,y:-1},{x:-1,y:1}];var孔=[];变量三角形=三个.ShapeUtils.triangulateShape(顶点、孔);它抛出一个错误我甚至尝试将数组更改为:
[“-11”、“-1-1”、“1-1”、“1-1”]
它抛出一个错误你能更精确一点吗?什么样的错误?你能发布错误消息吗?在任何情况下,请尝试用一个实例来演示该问题:Have created an example:。它显示的错误是:
TypeError:a[(b-1)]。equals不是af(VM55 three.min.js:226)
的函数。感谢您必须将顶点定义为三个的数组。矢量2