【问题标题】:Can't load converted from FBX to JSON model using THREE.JSONLoader无法使用 THREE.JSONLoader 加载从 FBX 转换为 JSON 模型
【发布时间】:2013-12-22 18:44:31
【问题描述】:

我使用 convert-to-threejs.py 将 FBX 模型转换为 JSON,但我无法让 three.js (r58) 加载它。它说“未捕获的类型错误:无法读取未定义的属性‘长度’”。错误在three.js中的第9930行,该行是for ( i = 0; i < json.uvs.length; i++ ) ...

这是转换后的 JSON:http://pastebin.com/86ZGvKnW。您会发现它实际上没有 uvs 属性。

convert-to-threejs.py 过时了吗?如果是这样,有什么替代方案?如果没有,我怎样才能加载这个模型?

这是我的代码:

window.loader = new THREE.JSONLoader();
loader.load('jet.json', function(geometry) {
    // Never gets to here; error is thrown first
    console.log(geometry);
});

【问题讨论】:

标签: javascript three.js


【解决方案1】:

哦,我明白了。实际模型嵌入在该 JSON 文件中。我要embeds["Embed_31_jet 3"]

【讨论】:

    【解决方案2】:

    转换为 JSON 的 FBX 文件似乎描述了完整的场景。所以,不要使用THREE.JSONLoader,而是使用THREE.SceneLoader

    例如

      var scene = new THREE.Scene();
      var camera = new THREE.PerspectiveCamera(...);
    
      var loader = new THREE.SceneLoader();
      loader.load('jet.json', function(res) {
          scene.add(res.scene);
          renderer.render(res.scene, camera);
      });
    

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 2016-09-09
      • 2013-10-16
      • 2018-07-10
      • 1970-01-01
      • 2017-03-01
      • 2016-03-11
      • 2019-11-06
      相关资源
      最近更新 更多