如何将加载的几何体导出为JSON中的x,y和z轴顶点?
var json = geometry.toJSON();
上面的代码只是打印出所有顶点,但无法识别哪个是x,y或z轴顶点的对象。
答案 0 :(得分:2)
这取决于您拥有的几何类型。
使用THREE.Geometry,geometry.vertices
是一个包含.x
,.y
和.z
属性的Vertex对象数组。
使用THREE.BufferGeometry,geometry.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, ... ]
形式的展平数组。