【问题标题】:Export loader Geometry from three js to JSON将加载器几何从三个 js 导出到 JSON
【发布时间】:2018-07-16 01:22:53
【问题描述】:

如何将加载的几何图形导出到 JSON 中的 x、y 和 z 轴顶点?

var json = geometry.toJSON();

上面的代码只是简单地打印出所有的顶点,但不能识别它的哪个是哪个对象的 x、y 或 z 轴顶点。

【问题讨论】:

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


    【解决方案1】:

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

    对于THREE.Geometrygeometry.vertices 是具有.x.y.z 属性的顶点对象数组。

    对于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, ... ] 形式的扁平数组。

    【讨论】:

    • 有什么方法可以将位置转换为 json 格式,如何获得 X、Y 和 Z 轴?
    • 您能否在问题中指定您希望 JSON 的外观?不清楚你想要什么..
    • 示例 JSON 格式 { "nodes":[ { "name":0, "x":531, "y":312, "z":200, }, { "name":1 , "x":631, "y":323, "z":200, } ], "路径":[ { "id":0, "from":0, "to":1 }, { "id ":1, "从":0, "到":55 } } }
    • 添加了一些将所有顶点推入 JS 数组的示例代码。我不确定您所说的“节点”或“路径”是什么意思。您可能想了解索引和非索引几何,以及如何表示网格数据。
    • 谢谢 Don McCurdy,我会看看的。编码基于导航算法。在该算法中,我需要以该格式传递数据。节点代表每个建筑物的名称,路径代表建筑物之间的连接
    猜你喜欢
    • 2021-07-13
    • 2017-12-22
    • 2018-06-19
    • 2013-05-05
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    相关资源
    最近更新 更多