【问题标题】:Blender 2.7X Exporter to .json For three.js JSONLoaderBlender 2.7X Exporter to .json For three.js JSONLoader
【发布时间】:2015-08-09 04:48:15
【问题描述】:

我正在尝试使用 JSON 路由(用于动画)从 Blender 导出到 Three.js

三.js版本r71

Blender 2.74 版

当前 Blender 导出器成功导出 .json 文件不是 .js 文件。

r71 文件夹中的所有示例仅导入 .js 文件。

有没有人有任何关于如何导入从 Blender 2.7x 导出的 .json 文件的工作示例?

如果没有,我将不得不回到 Blender 2.69 并使用通常记录的 .js 导入。

【问题讨论】:

    标签: json three.js export blender


    【解决方案1】:

    我可能是错的,但 .json 文件只是 .js 但具有不同的扩展名。 如果你打开一个 .json 文件,你可以看到它纯粹是一个在变量中声明的 JSON 对象,就像你在纯 javascript 中所做的那样。

    您仍然可以通过 JSONLoader 对象加载 JSON 文件,只需在变量中声明一个新对象:

    var jsonLoader = new THREE.JSONLoader();
    

    然后使用 .load 方法,您可以加载导出的文件作为第一个参数和一个回调函数,以将导出的网格和导出的材质应用到场景中。

    jsonLoader.load('path_to/exported_model.json', function (geometry, materials) {
    
      yourModel = new THREE.Mesh(
        geometry,
        new THREE.MeshFaceMaterial( materials )
      );
    
      scene.add(yourModel);
    
    });
    

    Working example with multiple JSON exportsthe running javascript 为它。

    【讨论】:

    • 谢谢你。我使用的两个示例文件看起来不同,但如果两者实际上相同,则可能是几何格式类型。我在 mrdoobs 博客上看到了一些关于类型 3 和 4 的帖子,但并不清楚 Blender 推出了哪些类型。无论哪种方式,当前提交版本的 JSONLoader 都不接受 Blender 导出的几何格式。老实说,Babylon.js 和 Blend4Web 在这方面都有更好的文档,所以我可能会朝那个方向前进。
    • 是的,我知道 three.js 在某些领域缺乏一些文档(有些功能它们仍然是 WIP,这就是为什么有些东西不够清楚)但我很漂亮确保 mrdoob 和他们在旅途中尽最大努力编写文档。关于我在上次提交 (r71) 中看到的 jsonloader,虽然我看不到与 jsonloader 相关的任何更改,但更改日志指出了 Blender 导出器的更改。我可以建议您尝试使用 r69/r70 导出器和加载器并试一试。如果你有时间,请在他们的 github repo 上标记这个问题。
    • 您是否尝试过改用THREE.ObjectLoader?抱歉,本主题示例中的当前混乱情况。
    • 就我个人而言,我不得不恢复到 r69 导出器和 Blender 2.69。当前导出器与骨骼动画导出非常不一致。
    • 感谢您的反馈 - 以及来自关键开发人员的反馈!是的,我已经尝试过 objectloader,但在动画方面真的很挣扎。我有一个 obj 导入器可以正常工作,但是将一个关键帧的搅拌器文件导入到 three.js 中有点棘手。我会继续关注这个空间。我很确定 Blender 仍然越来越受欢迎,所以我想这可能会成为未来的关键。
    猜你喜欢
    • 2015-08-01
    • 2017-11-14
    • 2012-11-19
    • 2015-03-06
    • 2016-10-24
    • 2017-10-16
    • 2019-03-30
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多