【发布时间】:2022-01-05 12:40:25
【问题描述】:
我正在创建一个加载 gltf 3d 模型的网站。我想使用循环加载更多模型。
const loader = new GLTFLoader()
//.setPath( 'models/gltf/DamagedHelmet/glTF/' );
.setPath( 'resources/' );
const resourceData = ["Learning Bee1","Learning Bee2","Learning Bee3"];
//const l = resourceData.length;
for(let i=0; i<resourceData.length;i++){
let oResource = resourceData[i];
let sModelName = oResource + ".gltf";
loader.load( sModelName, function ( gltf ) {
gltf.scene.traverse( function ( child ) {
if ( child.isMesh ) {
roughnessMipmapper.generateMipmaps( child.material );
}
});
});
scene.add( gltf.scene );
roughnessMipmapper.dispose();
render();
}
});
当我运行这个时,显示如下错误。如何解决这个问题?
three.module.js:38723 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length') 在三个.module.js:38723
【问题讨论】:
-
查看代码,如果你会正确缩进,你会发现
scene.add( gltf.scene );在定义gltf的代码之外。
标签: javascript loops three.js gltf variable-length-array