diff --git a/packages/model3d-viewer/src/scene.ts b/packages/model3d-viewer/src/scene.ts index 14decdc9e..440a57333 100644 --- a/packages/model3d-viewer/src/scene.ts +++ b/packages/model3d-viewer/src/scene.ts @@ -250,7 +250,12 @@ export async function createModel3dViewerScene( scene.environmentIntensity = ENVIRONMENT_INTENSITY; } catch { // 环境贴图只影响材质观感,取不到时退化为纯光照渲染。 - roomEnvironment = null; + if (roomEnvironment) { + disposeModel3dViewerObject(roomEnvironment); + roomEnvironment = null; + } + pmremGenerator?.dispose(); + pmremGenerator = null; } abortIfNeeded();