我正在尝试使用以下代码加载对象模型:

var loader = new THREE.JSONLoader();
loader.load('js/spacecraft.js', modelLoadedCallback);

function modelLoadedCallback(geometry) {
   spacecraft = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial(geometry.materials));
   spacecraft.position.x = 0;
   spacecraft.position.y = 0;
   spacecraft.position.z = 0;
   mesh.add(spacecraft);
   scene.add( mesh );
}


尽管如此,在每个renderer.render(..)调用中,我都收到以下错误:

Uncaught TypeError: Cannot read property 'visible' of undefined


我不知道该错误,因为在控制台中检查时,网格物体和航天器对象似乎都已正确加载。

我是否缺少JSONLoader的功能?

最佳答案

我知道发生了什么:出于某种原因,spacecraft.js中的模型有一个空的materials数组...我需要找出原因,因为我使用NodeJS三对象库将.obj转换为.JSON。

09-19 07:24