javascript - 如何从 Three.js 中的文件中最好地导出/导入 THREE.Vector3 数组?

标签 javascript arrays json three.js

我有一个很大的 THREE.Vector3() 数组,我想将其保存到 JSON 文件中以便稍后读取。

我可以将其写为JSON.stringify(Points),它输出一个对象数组,如下所示:

  "Points": [
        {"x":115,"y":0,"z":-250},
        {"x":115,"y":0,"z":-220},
        {"x":115,"y":0,"z":-190},
        ...
  ]

现在,如果我转身并读回此内容,我会丢失我的 Three.js 向量,并且必须单独重新分配它们,如下所示:

   newPoint[nn] = new THREE.Vector3(jsonData.Points[nn].x,jsonData.Points[nn].y,jsonData.Points[nn].z);

也许我只是希望有某种魔法,但我觉得这样会更有效率。有没有更好的方法来读取/写入 JSON 中的 Three.js 向量数组?

最佳答案

我的项目中有类似的任务。我只是使用 float 数组来保存点。它允许减小文件大小。例如:

{
    points: [x0, y0, z0, x1, y1, z1, ..., xn, yn, zn]
}

还可以对坐标 enter image description here 进行分组

要保留 THREE.Vector3 对象,您可以使用 js 文件:

var pointList = [new THREE.Vector3(x0, y0, z0), new THREE.Vector3(x1, y1, z1), ..., new THREE.Vector3(xn, yn, zn)];

关于javascript - 如何从 Three.js 中的文件中最好地导出/导入 THREE.Vector3 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32511527/

相关文章:

javascript - 替换数组中文本的简写

javascript - 订阅页面加载时的值

php - 从嵌套集模型结构为 Fancytree 创建 JSON

jquery - 预输入 Bootstrap : No dropdown shows for ajax calls?

javascript - Java表单提交与串联链接

javascript - 当我有一个隐藏字段(如果选择一个选项时会显示该字段)时,我无法获取选择元素的值

javascript - ComponentDidMount 在初始挂载后返回 undefined

javascript - 了解多次迭代的返回如何工作

arrays - 如何在 XSD 中表示 json 数组

c++ - 数组基地址歧义