【发布时间】:2018-07-16 01:22:53
【问题描述】:
如何将加载的几何图形导出到 JSON 中的 x、y 和 z 轴顶点?
var json = geometry.toJSON();
上面的代码只是简单地打印出所有的顶点,但不能识别它的哪个是哪个对象的 x、y 或 z 轴顶点。
【问题讨论】:
标签: json ionic-framework 3d three.js geometry
如何将加载的几何图形导出到 JSON 中的 x、y 和 z 轴顶点?
var json = geometry.toJSON();
上面的代码只是简单地打印出所有的顶点,但不能识别它的哪个是哪个对象的 x、y 或 z 轴顶点。
【问题讨论】:
标签: json ionic-framework 3d three.js geometry
这取决于您拥有什么类型的几何体。
对于THREE.Geometry,geometry.vertices 是具有.x、.y 和.z 属性的顶点对象数组。
对于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, ... ] 形式的扁平数组。
【讨论】: