将装载器几何从三个js导出到JSON

时间:2018-02-06 03:56:53

标签: json ionic-framework 3d three.js geometry

如何将加载的几何体导出为JSON中的x,y和z轴顶点?

var json = geometry.toJSON();

上面的代码只是打印出所有顶点,但无法识别哪个是x,y或z轴顶点的对象。

1 个答案:

答案 0 :(得分:2)

这取决于您拥有的几何类型。

使用THREE.Geometrygeometry.vertices是一个包含.x.y.z属性的Vertex对象数组。

使用THREE.BufferGeometrygeometry.attributes.position是BufferAttribute实例:

var position = geometry.attributes.position;
var json = {position: []};
for (var i = 0; i < position.count; i++) {
  json.position.push({
    x: position.getX( i ),
    y: position.getY( i ),
    z: position.getZ( i )
  });
}
console.log( JSON.stringify( json, null, 2 ) );

如果您访问position.array,则它是[x1, y1, z1, x2, y2, z2, ... ]形式的展平数组。