3D模型组件在React中加载失败怎么办?
我在用React集成一个3D模型查看器,用的是three.js,但模型死活加载不出来,控制台也没报错,就是一片黑。我试过调整相机位置和光源,还是不行。
下面是我写的加载GLTF模型的代码,逻辑应该没问题吧?是不是漏了什么关键步骤?
useEffect(() => {
const loader = new GLTFLoader();
loader.load('/model.gltf', (gltf) => {
scene.add(gltf.scene);
renderer.render(scene, camera);
});
}, []);
第一,确认模型文件路径对不对。webpack/vite打包后路径可能会变,建议用public文件夹或者绝对路径试试:
第二,加个错误回调看看是不是模型没加载成功:
第三,检查下你的renderer设置,我遇到过没设置antialias导致黑屏:
还有记得把renderer的dom元素挂载到React组件里,我之前傻逼到忘了这步。
最后再检查下场景里至少要有环境光和方向光,three.js默认没光源。模型材质如果是PBR的必须配好光源才能看见。