Uncaught (in promise) TypeError: Cannot read property 'geometry' of undefined

Uncaught (in promise) TypeError: Cannot read property 'geometry' of undefined

我正在尝试在我的场景中加载一个工作室(glTF 文件),但我得到的只是错误消息

Uncaught (in promise) TypeError: Cannot read property 'geometry' of undefined at GLTFLoader.js:2572

我尝试在 Three.js 编辑器和 glTF Viewer 中打开文件并且它有效,我还使用 glTF Validator 检查文件并且它说文件有效但我无法弄清楚为什么它没有和我在一起。我还尝试用我的代码打开在 Internet 上找到的另一个 glTF 模型,它工作得很好。

new Promise(function(resolve, reject) {
    const manager = new THREE.LoadingManager();
    const gltfloader = new THREE.GLTFLoader(manager);
    gltfloader.setCrossOrigin('anonymous');
    gltfloader.setDRACOLoader(new THREE.DRACOLoader());
    gltfloader.load("data/gltf/salleTP/salleTP.gltf", function (gltf) {
        const content = gltf.scene || gltf.scenes[0];
        scene.add(content);
    }, undefined, reject);
});

您似乎正在使用 three.js R102 和相应的 GLTFLoader 版本。加载 glTF 资产时,GLTFLoader 中发生已知错误,该错误已用 R103 修复(请参阅 https://github.com/mrdoob/three.js/pull/15881)。将您的代码库升级到最新的 three.js 版本后,您的资产加载正常。

three.js R104