Javascript Three.js获取json

Javascript Three.js获取json,javascript,three.js,Javascript,Three.js,我知道如何从blender导出json模型,并使用THREE.JSONLoader().load加载它。我想在Webgl中使用Threejs构建一个模型,并从该模型创建一个json文件。有人知道这是否可行吗?我想先了解一下你的问题。您是否试图将object3D绑定到JSON中,就像它是一个.obj一样?所以你可以阅读它,然后在另一个时刻在另一个地方构建几何体? 似乎您正在尝试反向路径“blender->json->three.js”,对吗 在我看来,您应该确切地理解如何将模型编码到JSON中,这

我知道如何从blender导出json模型,并使用THREE.JSONLoader().load加载它。我想在Webgl中使用Threejs构建一个模型,并从该模型创建一个json文件。有人知道这是否可行吗?

我想先了解一下你的问题。您是否试图将object3D绑定到JSON中,就像它是一个.obj一样?所以你可以阅读它,然后在另一个时刻在另一个地方构建几何体? 似乎您正在尝试反向路径“blender->json->three.js”,对吗

在我看来,您应该确切地理解如何将模型编码到JSON中,这样您就可以像搅拌机一样行事,然后您应该编写类似序列化程序的东西,将正确的信息打包到JSON中

如果您只想创建一个可以作为自定义模式/模型/标准的JSON,类似于.obj或.blend格式的替代品,那么您还应该编写一个反序列化程序

让我解释一下

几何体具有顶点、面、UV、法线等。您必须在序列化时指定所有这些内容,遵循精确的顺序,然后您就完成了。一旦你知道了范例,你就可以阅读它并对它进行反序列化

如果我误解了什么,请告诉我

再见

是的,有可能。 您需要在blender中安装一个插件来导出到3.js

下载表单git

因此,下载它并将io_three文件夹放在~/.config/blender/2.69/scripts/addons/文件夹下

然后,打开文件>用户首选项并转到插件选项卡。搜索Three.js并启用找到的插件。现在,您应该能够看到一个File>Export>Three.js选项。在“打开”选项卡上,确保选中“面材质”复选框。否则,您将没有材质,Three.js将拒绝导入网格

与Three.js一起使用

var mesh = null;
function initMesh() {
    var loader = new THREE.JSONLoader();
    loader.load('./marmelab-logo.json', function(geometry) {
        mesh = new THREE.Mesh(geometry);
        scene.add(mesh);
    });
}

我想,您需要看看ThreeJS编辑器: