我正在尝试使用以下代码加载对象模型:
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。