我还在学习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文件非常庞大,因此我制作了一个小得多的样本,它也碰巧遇到了同样的错误。 Here it is
Hopefuly你们可以帮助我!
非常感谢!
答案 0 :(得分:1)
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/