我使用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);
});
答案 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);
});