无法使用THREE.JSONLoader将从FBX转换为JSON模型

时间:2013-05-31 03:51:41

标签: javascript three.js

我使用convert-to-threejs.py将FBX模型转换为JSON,但我无法获得three.js(r58)来加载它。它说“未捕获的TypeError:无法读取未定义的属性'长度'”。错误在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);
});

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

转换为JSON的FBX文件似乎描述了完整的场景。因此,请使用THREE.SceneLoader

,而不是THREE.JSONLoader

例如

  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);
  });