diff --git a/packages/frontend/src/utility/room/engine.ts b/packages/frontend/src/utility/room/engine.ts index dac1d6dc97..a9192e3d28 100644 --- a/packages/frontend/src/utility/room/engine.ts +++ b/packages/frontend/src/utility/room/engine.ts @@ -717,10 +717,11 @@ export class RoomEngine { } public selectObject(objectId: string | null) { - if (this.selected.value != null) { - this.clearHighlight(); - this.selected.value.objectEntity.model.bakeMesh(); + const currentSelected = this.selected.value; + if (currentSelected != null) { this.selected.value = null; + this.clearHighlight(); + currentSelected.objectEntity.model.bakeMesh(); } if (objectId != null) { diff --git a/packages/frontend/src/utility/room/objects/blind.ts b/packages/frontend/src/utility/room/objects/blind.ts index fa99748f77..f6816a187e 100644 --- a/packages/frontend/src/utility/room/objects/blind.ts +++ b/packages/frontend/src/utility/room/objects/blind.ts @@ -58,7 +58,7 @@ export const blind = defineObject({ blades = []; for (let i = 0; i < options.blades; i++) { - const b = blade.createInstance('blade_' + i); + const b = blade.clone('blade_' + i); // createInstanceを使いたいが、削除するときになぜかエラーになる if (i / options.blades < temp.open) { b.position.y -= (i * 4/*cm*/) / WORLD_SCALE; } else {