diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index 9454c364af..51773990ca 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -810,8 +810,8 @@ export class RoomEngine extends EventEmitter { merged.setParent(subRoot); merged.name = 'preMerged'; - // freezeするとbabylon 9.3.2以降、snapshot rendering + clustered lighting + selection outlineの組み合わせでなんかレンダリングがグリッチする - //merged.material.freeze(); + merged.material.freeze(); + // subMaterialまでfreezeするとbabylon 9.3.2以降、snapshot rendering + clustered lighting + selection outlineの組み合わせでなんかレンダリングがグリッチする //if (merged.material instanceof BABYLON.MultiMaterial) { // for (const subMat of merged.material.subMaterials) { // subMat.freeze(); diff --git a/packages/frontend/src/world/room/utility.ts b/packages/frontend/src/world/room/utility.ts index 02d8c57bad..ed483a9478 100644 --- a/packages/frontend/src/world/room/utility.ts +++ b/packages/frontend/src/world/room/utility.ts @@ -306,13 +306,15 @@ export class ModelManager { const merged = BABYLON.Mesh.MergeMeshes(toMerge, true, false, undefined, false, true); merged.parent = this.root; - // freezeするとbabylon 9.3.2以降、snapshot rendering + clustered lighting + selection outlineの組み合わせでなんかレンダリングがグリッチする - //merged.material.freeze(); + + merged.material.freeze(); + // subMaterialまでfreezeするとbabylon 9.3.2以降、snapshot rendering + clustered lighting + selection outlineの組み合わせでなんかレンダリングがグリッチする //if (merged.material instanceof BABYLON.MultiMaterial) { // for (const subMat of merged.material.subMaterials) { // (subMat as BABYLON.PBRMaterial).freeze(); // } //} + merged.freezeWorldMatrix(); merged.metadata = { ...this.root.metadata }; if (!this.hasTexture) merged.convertToUnIndexedMesh();