我有一个很大的 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]
}
要保留 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/