From 493a2eb50c4f21f3c9edc48d6dcc74f7a5cfe3e9 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Tue, 21 Apr 2026 13:23:13 +0900 Subject: [PATCH] Update engine.ts --- packages/frontend/src/world/room/engine.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index f5983716ac..f7d5056c70 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -342,7 +342,7 @@ export class RoomEngine extends EventEmitter { this.lightContainer = new BABYLON.ClusteredLightContainer('clustered', [], this.scene); - this.turnOnRoomLight(); + this.turnOnRoomLight(true); if (USE_GLOW) { this.gl = new BABYLON.GlowLayer('glow', this.scene, { @@ -1300,14 +1300,24 @@ export class RoomEngine extends EventEmitter { this.fixedCamera.parent = null; } - private turnOnRoomLight() { + private turnOnRoomLight(forInit = false) { + if (!forInit && SNAPSHOT_RENDERING) this.sr.disableSnapshotRendering(); // このメソッドは参照カウント方式な点に留意 this.roomLight.intensity = 10 * WORLD_SCALE * WORLD_SCALE; this.envMapIndoor.level = 0.6; + if (!forInit && SNAPSHOT_RENDERING) { + setTimeout(() => { + this.sr.enableSnapshotRendering(); // このメソッドは参照カウント方式な点に留意 + }, 10); + } } private turnOffRoomLight() { + if (SNAPSHOT_RENDERING) this.sr.disableSnapshotRendering(); // このメソッドは参照カウント方式な点に留意 this.roomLight.intensity = 0; this.envMapIndoor.level = 0; + setTimeout(() => { + if (SNAPSHOT_RENDERING) this.sr.enableSnapshotRendering(); // このメソッドは参照カウント方式な点に留意 + }, 10); } public toggleRoomLight() {