ThreeJS triangulateShape 返回 null
ThreeJS triangulateShape returning null
我正在尝试使用 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 是有问题的,但无法弄清楚。谢谢
ShapeUtils.triangulateShape
只接受二维轮廓作为第一个参数。您正在应用 3D 数据。
我正在尝试使用 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 是有问题的,但无法弄清楚。谢谢
ShapeUtils.triangulateShape
只接受二维轮廓作为第一个参数。您正在应用 3D 数据。