使用three.js保存并加载文件

时间:2017-04-09 09:10:50

标签: three.js autodesk-forge autodesk-viewer

有没有办法用three.js保存和加载带字符串的对象?

我发现了这个:https://github.com/josdirksen/learning-threejs/blob/master/chapter-08/03-load-save-json-object.html

但是他们使用localstorage来保存和加载,这在会话或不同的计算机之间无法工作。

有没有办法像加载模型一样加载文件?这应该像加载游戏的数据文件一样。

我使用http-server在本地运行带有Autodesk查看器的webgl客户端。

2 个答案:

答案 0 :(得分:1)

如果可以将Object写入localstorage,它也可以作为文件导出。您可以将它们发送到服务器并将它们存储在那里(可能像firebase这样的东西在这里很有用),或者您可以直接从浏览器中发送“下载”。这在Create a file in memory for user to download, not through server中解释。

要加载文件,您可以使用file-api,如下所示:How to open a local disk file with Javascript?

您只需要相应地替换示例中的localstorage-parts。

答案 1 :(得分:1)

添加到Martin's answer,Autodesk Viewer使用由Model Derivative API翻译和托管的文件。可以在同一场景中显示多个文件。 Viewer是只读的。有一个getState和loadState函数来获取表示当前缩放/爆炸/视图信息的对象,并且可以将其序列化并存储在某处。

some samples显示如何在模型上移动几何体,例如,移动墙的几何体(来自建筑模型)。但这并不是持久性的,这意味着您需要实现一个JavaScript(客户端)+后端基础架构来保存和恢复这些转换。