我还在学习three.js,我遇到了一个问题,阻碍了我的进步。
由于某种原因,我已经找了好几天,但是找不到一个对我有帮助的答案。
问题是,我不能导入JSON模型的材料。我得到"无法读取属性'长度'未定义"所有的时间,我不明白为什么。
我用来导入的代码非常简单,如下所示:var loader = new THREE.ObjectLoader();
loader.load( "island.json", function ( geometry, materials ) {
mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
scene.add( mesh );
render();
} );
我试图导入的JSON文件是巨大的,因此我做了一个小得多的样本,也碰巧遇到同样的错误。在这里
希望你们能帮助我!
大规模谢谢!
JSON
代码不是问题,而是您混淆了JSONLoader
和ObjectLoader
。
JSONLoader
和ObjectLoader
都接受JSON,但它们的结构不同。这样做:
var loader = new THREE.ObjectLoader();
loader.load("island.json", function(object){
scene.add(object);
});
查看更多信息:http://helloenjoy.com/2013/from-unity-to-three-js/