diff --git a/packages/frontend/assets/room/objects/chair/chair.blend b/packages/frontend/assets/room/objects/chair/chair.blend index 8f65e42f99..93c9fc5019 100644 Binary files a/packages/frontend/assets/room/objects/chair/chair.blend and b/packages/frontend/assets/room/objects/chair/chair.blend differ diff --git a/packages/frontend/assets/room/objects/chair/chair.glb b/packages/frontend/assets/room/objects/chair/chair.glb index 95cb457b8d..0c379a4447 100644 Binary files a/packages/frontend/assets/room/objects/chair/chair.glb and b/packages/frontend/assets/room/objects/chair/chair.glb differ diff --git a/packages/frontend/src/utility/room/engine.ts b/packages/frontend/src/utility/room/engine.ts index 889ae5ba19..a8f215dc2f 100644 --- a/packages/frontend/src/utility/room/engine.ts +++ b/packages/frontend/src/utility/room/engine.ts @@ -198,10 +198,12 @@ class ModelManager { public bakeExcludeMeshes: BABYLON.Mesh[] = []; private originalMeshes: BABYLON.Mesh[] = []; private bakedMeshes: BABYLON.Mesh[] = []; + private hasTexture: boolean; - constructor(root: BABYLON.Mesh, originalMeshes: BABYLON.Mesh[], bakedCallback: (() => void) | null = null) { + constructor(root: BABYLON.Mesh, originalMeshes: BABYLON.Mesh[], hasTexture: boolean, bakedCallback: (() => void) | null = null) { this.root = root; this.originalMeshes = originalMeshes; + this.hasTexture = hasTexture; this.bakedCallback = bakedCallback; } @@ -283,16 +285,17 @@ class ModelManager { } //newMesh.bakeCurrentTransformIntoVertices(); - // TODO: 必要な時だけやる - if (newMesh.getVerticesData(BABYLON.VertexBuffer.UVKind) == null) { - const vertexCount = newMesh.getTotalVertices(); - const uvs = new Array(vertexCount * 2).fill(0); - newMesh.setVerticesData(BABYLON.VertexBuffer.UVKind, uvs, false, 2); - } - if (newMesh.getVerticesData(BABYLON.VertexBuffer.UV2Kind) == null) { - const vertexCount = newMesh.getTotalVertices(); - const uvs = new Array(vertexCount * 2).fill(0); - newMesh.setVerticesData(BABYLON.VertexBuffer.UV2Kind, uvs, false, 2); + if (this.hasTexture) { + if (newMesh.getVerticesData(BABYLON.VertexBuffer.UVKind) == null) { + const vertexCount = newMesh.getTotalVertices(); + const uvs = new Array(vertexCount * 2).fill(0); + newMesh.setVerticesData(BABYLON.VertexBuffer.UVKind, uvs, false, 2); + } + if (newMesh.getVerticesData(BABYLON.VertexBuffer.UV2Kind) == null) { + const vertexCount = newMesh.getTotalVertices(); + const uvs = new Array(vertexCount * 2).fill(0); + newMesh.setVerticesData(BABYLON.VertexBuffer.UV2Kind, uvs, false, 2); + } } toMerge.push(newMesh); @@ -339,6 +342,7 @@ export type ObjectDef = { }; placement: 'top' | 'side' | 'bottom' | 'wall' | 'ceiling' | 'floor'; hasCollisions?: boolean; + hasTexture?: boolean; //groupingMeshes: string[]; // multi-materialなメッシュは複数のメッシュに分割されるが、それだと不便な場合に追加の親メッシュでグルーピングするための指定 isChair?: boolean; treatLoaderResult?: (loaderResult: BABYLON.AssetContainer) => void; @@ -1148,6 +1152,20 @@ export class RoomEngine extends EventEmitter { // babylonによって自動で追加される右手系変換用ノード let subRoot = loaderResult.meshes[0] as BABYLON.TransformNode; + // 不要なUVを掃除 + if (!def.hasTexture) { + for (const m of loaderResult.meshes) { + if (m.geometry != null) { + m.geometry.removeVerticesData(BABYLON.VertexBuffer.UVKind); + m.geometry.removeVerticesData(BABYLON.VertexBuffer.UV2Kind); + m.geometry.removeVerticesData(BABYLON.VertexBuffer.UV3Kind); + m.geometry.removeVerticesData(BABYLON.VertexBuffer.UV4Kind); + m.geometry.removeVerticesData(BABYLON.VertexBuffer.UV5Kind); + m.geometry.removeVerticesData(BABYLON.VertexBuffer.UV6Kind); + } + } + } + if (BAKE_TRANSFORM) { subRoot.scaling = new BABYLON.Vector3(1, 1, 1); subRoot.rotationQuaternion = null; @@ -1309,7 +1327,7 @@ export class RoomEngine extends EventEmitter { root.rotation = args.rotation.clone(); root.metadata = metadata; - const model = new ModelManager(BAKE_TRANSFORM ? root : subRoot, loaderResult.meshes.filter(m => m.name !== '__root__'), (meshes) => { + const model = new ModelManager(BAKE_TRANSFORM ? root : subRoot, loaderResult.meshes.filter(m => m.name !== '__root__'), def.hasTexture, (meshes) => { if (this.selected?.objectId === args.id) { this.highlightMeshes(meshes); } @@ -2069,7 +2087,7 @@ export class RoomObjectPreviewEngine { root.addChild(subRoot); - const model = new ModelManager(subRoot, loaderResult.meshes.filter(m => m !== subRoot), (meshes) => { + const model = new ModelManager(subRoot, loaderResult.meshes.filter(m => m !== subRoot), def.hasTexture, (meshes) => { for (const m of meshes) { const mesh = m; diff --git a/packages/frontend/src/utility/room/objects/allInOnePc.ts b/packages/frontend/src/utility/room/objects/allInOnePc.ts index 956353248a..372834e3b3 100644 --- a/packages/frontend/src/utility/room/objects/allInOnePc.ts +++ b/packages/frontend/src/utility/room/objects/allInOnePc.ts @@ -46,6 +46,7 @@ export const allInOnePc = defineObject({ }, }, placement: 'top', + hasTexture: true, createInstance: async ({ room, scene, options, model }) => { const matrix = model.root.getWorldMatrix(true); const scale = new BABYLON.Vector3(); diff --git a/packages/frontend/src/utility/room/objects/aromaReedDiffuser.ts b/packages/frontend/src/utility/room/objects/aromaReedDiffuser.ts index c961efa206..c297d5d7c7 100644 --- a/packages/frontend/src/utility/room/objects/aromaReedDiffuser.ts +++ b/packages/frontend/src/utility/room/objects/aromaReedDiffuser.ts @@ -27,6 +27,7 @@ export const aromaReedDiffuser = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ options, model }) => { const bottleMesh = model.findMesh('__X_BOTTLE__'); const bottleMaterial = bottleMesh.material as BABYLON.PBRMaterial; diff --git a/packages/frontend/src/utility/room/objects/banknote.ts b/packages/frontend/src/utility/room/objects/banknote.ts index 99d0734d24..23f8cd728d 100644 --- a/packages/frontend/src/utility/room/objects/banknote.ts +++ b/packages/frontend/src/utility/room/objects/banknote.ts @@ -14,6 +14,7 @@ export const banknote = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/bed.ts b/packages/frontend/src/utility/room/objects/bed.ts index f7566912cb..8c1eeec1b0 100644 --- a/packages/frontend/src/utility/room/objects/bed.ts +++ b/packages/frontend/src/utility/room/objects/bed.ts @@ -22,6 +22,7 @@ export const bed = defineObject({ }, placement: 'floor', hasCollisions: true, + hasTexture: true, createInstance: ({ options, model }) => { const bodyMesh = model.findMesh('__X_BODY__'); const bodyMaterial = bodyMesh.material as BABYLON.PBRMaterial; diff --git a/packages/frontend/src/utility/room/objects/book.ts b/packages/frontend/src/utility/room/objects/book.ts index acb804c925..51a9813a6e 100644 --- a/packages/frontend/src/utility/room/objects/book.ts +++ b/packages/frontend/src/utility/room/objects/book.ts @@ -46,6 +46,7 @@ export const book = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ options, model }) => { const bodyMesh = model.findMesh('__X_BODY__'); diff --git a/packages/frontend/src/utility/room/objects/books.ts b/packages/frontend/src/utility/room/objects/books.ts index 29e5a36f02..e3942ed0f4 100644 --- a/packages/frontend/src/utility/room/objects/books.ts +++ b/packages/frontend/src/utility/room/objects/books.ts @@ -24,6 +24,7 @@ export const books = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ scene, options, model }) => { const coverMaterial = model.findMaterial('__X_COVER__'); diff --git a/packages/frontend/src/utility/room/objects/cactusS.ts b/packages/frontend/src/utility/room/objects/cactusS.ts index 9e7867aab7..f79f5bd314 100644 --- a/packages/frontend/src/utility/room/objects/cactusS.ts +++ b/packages/frontend/src/utility/room/objects/cactusS.ts @@ -22,6 +22,7 @@ export const cactusS = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ options, model }) => { const potMesh = model.findMesh('__X_POT__'); const potMaterial = potMesh.material as BABYLON.PBRMaterial; diff --git a/packages/frontend/src/utility/room/objects/cardboardBox.ts b/packages/frontend/src/utility/room/objects/cardboardBox.ts index 2b93c4311f..dfff5fcc8e 100644 --- a/packages/frontend/src/utility/room/objects/cardboardBox.ts +++ b/packages/frontend/src/utility/room/objects/cardboardBox.ts @@ -23,6 +23,7 @@ export const cardboardBox = defineObject({ }, placement: 'top', hasCollisions: true, + hasTexture: true, createInstance: ({ scene, options, model }) => { return { onInited: () => { diff --git a/packages/frontend/src/utility/room/objects/coffeeCup.ts b/packages/frontend/src/utility/room/objects/coffeeCup.ts index 857824480a..7b6e4e2c91 100644 --- a/packages/frontend/src/utility/room/objects/coffeeCup.ts +++ b/packages/frontend/src/utility/room/objects/coffeeCup.ts @@ -14,6 +14,7 @@ export const coffeeCup = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/colorBox.ts b/packages/frontend/src/utility/room/objects/colorBox.ts index 1ac9008708..821a7938ee 100644 --- a/packages/frontend/src/utility/room/objects/colorBox.ts +++ b/packages/frontend/src/utility/room/objects/colorBox.ts @@ -22,6 +22,7 @@ export const colorBox = defineObject({ }, placement: 'floor', hasCollisions: true, + hasTexture: true, createInstance: ({ options, model }) => { const bodyMesh = model.findMesh('__X_BODY__'); const bodyMaterial = bodyMesh.material as BABYLON.PBRMaterial; diff --git a/packages/frontend/src/utility/room/objects/cupNoodle.ts b/packages/frontend/src/utility/room/objects/cupNoodle.ts index aa89b6706d..13333d919e 100644 --- a/packages/frontend/src/utility/room/objects/cupNoodle.ts +++ b/packages/frontend/src/utility/room/objects/cupNoodle.ts @@ -16,6 +16,7 @@ export const cupNoodle = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ scene, root }) => { let yugeDispose: (() => void) | null = null; diff --git a/packages/frontend/src/utility/room/objects/djMixer.ts b/packages/frontend/src/utility/room/objects/djMixer.ts index 57089a9a7c..679844c6ea 100644 --- a/packages/frontend/src/utility/room/objects/djMixer.ts +++ b/packages/frontend/src/utility/room/objects/djMixer.ts @@ -14,6 +14,7 @@ export const djMixer = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/djPlayer.ts b/packages/frontend/src/utility/room/objects/djPlayer.ts index 6e17e5b94e..2c312e12a2 100644 --- a/packages/frontend/src/utility/room/objects/djPlayer.ts +++ b/packages/frontend/src/utility/room/objects/djPlayer.ts @@ -37,6 +37,7 @@ export const djPlayer = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: async ({ model, options, scene }) => { const screenMesh = model.findMesh('__X_SCREEN__'); const screenMaterial = model.findMaterial('__X_SCREEN__'); diff --git a/packages/frontend/src/utility/room/objects/ductTape.ts b/packages/frontend/src/utility/room/objects/ductTape.ts index 356605fb22..967c9f532a 100644 --- a/packages/frontend/src/utility/room/objects/ductTape.ts +++ b/packages/frontend/src/utility/room/objects/ductTape.ts @@ -14,6 +14,7 @@ export const ductTape = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/energyDrink.ts b/packages/frontend/src/utility/room/objects/energyDrink.ts index 626d936033..4b4e1c28a3 100644 --- a/packages/frontend/src/utility/room/objects/energyDrink.ts +++ b/packages/frontend/src/utility/room/objects/energyDrink.ts @@ -14,6 +14,7 @@ export const energyDrink = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/envelope.ts b/packages/frontend/src/utility/room/objects/envelope.ts index 1143d6ccdd..60a97b33da 100644 --- a/packages/frontend/src/utility/room/objects/envelope.ts +++ b/packages/frontend/src/utility/room/objects/envelope.ts @@ -14,6 +14,7 @@ export const envelope = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/facialTissue.ts b/packages/frontend/src/utility/room/objects/facialTissue.ts index a747afd572..c2ee98371b 100644 --- a/packages/frontend/src/utility/room/objects/facialTissue.ts +++ b/packages/frontend/src/utility/room/objects/facialTissue.ts @@ -14,6 +14,7 @@ export const facialTissue = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/hangingTShirt.ts b/packages/frontend/src/utility/room/objects/hangingTShirt.ts index ebcfffb4f8..be1a578921 100644 --- a/packages/frontend/src/utility/room/objects/hangingTShirt.ts +++ b/packages/frontend/src/utility/room/objects/hangingTShirt.ts @@ -14,6 +14,7 @@ export const hangingTShirt = defineObject({ }, placement: 'side', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/laptopPc.ts b/packages/frontend/src/utility/room/objects/laptopPc.ts index 030252294d..43283af136 100644 --- a/packages/frontend/src/utility/room/objects/laptopPc.ts +++ b/packages/frontend/src/utility/room/objects/laptopPc.ts @@ -55,6 +55,7 @@ export const laptopPc = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: async ({ room, scene, options, model }) => { const matrix = model.root.getWorldMatrix(true); const scale = new BABYLON.Vector3(); diff --git a/packages/frontend/src/utility/room/objects/milk.ts b/packages/frontend/src/utility/room/objects/milk.ts index bbd4b14975..2096e854b1 100644 --- a/packages/frontend/src/utility/room/objects/milk.ts +++ b/packages/frontend/src/utility/room/objects/milk.ts @@ -14,6 +14,7 @@ export const milk = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/mixer.ts b/packages/frontend/src/utility/room/objects/mixer.ts index d0d2f95e2f..bb58c055db 100644 --- a/packages/frontend/src/utility/room/objects/mixer.ts +++ b/packages/frontend/src/utility/room/objects/mixer.ts @@ -14,6 +14,7 @@ export const mixer = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/monitor.ts b/packages/frontend/src/utility/room/objects/monitor.ts index 74c10e04c1..166e0dfe25 100644 --- a/packages/frontend/src/utility/room/objects/monitor.ts +++ b/packages/frontend/src/utility/room/objects/monitor.ts @@ -13,6 +13,7 @@ export const monitor = defineObject({ default: {}, }, placement: 'top', + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/monstera.ts b/packages/frontend/src/utility/room/objects/monstera.ts index 1b0447ce0d..ae0520580b 100644 --- a/packages/frontend/src/utility/room/objects/monstera.ts +++ b/packages/frontend/src/utility/room/objects/monstera.ts @@ -14,6 +14,7 @@ export const monstera = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/pachira.ts b/packages/frontend/src/utility/room/objects/pachira.ts index 3d627b4756..ebf3f3d03f 100644 --- a/packages/frontend/src/utility/room/objects/pachira.ts +++ b/packages/frontend/src/utility/room/objects/pachira.ts @@ -14,6 +14,7 @@ export const pachira = defineObject({ }, placement: 'top', hasCollisions: true, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/petBottle.ts b/packages/frontend/src/utility/room/objects/petBottle.ts index f8d3d7ac3b..084483d074 100644 --- a/packages/frontend/src/utility/room/objects/petBottle.ts +++ b/packages/frontend/src/utility/room/objects/petBottle.ts @@ -27,6 +27,7 @@ export const petBottle = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ model, options }) => { const capMesh = model.findMesh('__X_CAP__'); const liquidMesh = model.findMesh('__X_LIQUID__'); diff --git a/packages/frontend/src/utility/room/objects/pictureFrame.ts b/packages/frontend/src/utility/room/objects/pictureFrame.ts index 265f056958..d42f6ea675 100644 --- a/packages/frontend/src/utility/room/objects/pictureFrame.ts +++ b/packages/frontend/src/utility/room/objects/pictureFrame.ts @@ -84,6 +84,7 @@ export const pictureFrame = defineObject({ }, placement: 'side', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const frameMesh = model.findMesh('__X_FRAME__'); frameMesh.rotationQuaternion = null; diff --git a/packages/frontend/src/utility/room/objects/plant.ts b/packages/frontend/src/utility/room/objects/plant.ts index a6f1948290..2c50158d9c 100644 --- a/packages/frontend/src/utility/room/objects/plant.ts +++ b/packages/frontend/src/utility/room/objects/plant.ts @@ -14,6 +14,7 @@ export const plant = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/plant2.ts b/packages/frontend/src/utility/room/objects/plant2.ts index 60264a090f..3497329039 100644 --- a/packages/frontend/src/utility/room/objects/plant2.ts +++ b/packages/frontend/src/utility/room/objects/plant2.ts @@ -13,6 +13,7 @@ export const plant2 = defineObject({ default: {}, }, placement: 'top', + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/poster.ts b/packages/frontend/src/utility/room/objects/poster.ts index 23578d4b45..1be19f7124 100644 --- a/packages/frontend/src/utility/room/objects/poster.ts +++ b/packages/frontend/src/utility/room/objects/poster.ts @@ -49,6 +49,7 @@ export const poster = defineObject({ }, placement: 'side', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const pictureMesh = model.findMesh('__X_PICTURE__'); pictureMesh.rotationQuaternion = null; diff --git a/packages/frontend/src/utility/room/objects/randomBooks.ts b/packages/frontend/src/utility/room/objects/randomBooks.ts index 63f3dbfb93..be1ba8d842 100644 --- a/packages/frontend/src/utility/room/objects/randomBooks.ts +++ b/packages/frontend/src/utility/room/objects/randomBooks.ts @@ -43,6 +43,7 @@ export const randomBooks = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: ({ options, model, scene, id }) => { const bodyMesh = model.findMesh('__X_BODY__'); const tex = new BABYLON.Texture('/client-assets/room/objects/random-books/texture.png', scene, { diff --git a/packages/frontend/src/utility/room/objects/roundRug.ts b/packages/frontend/src/utility/room/objects/roundRug.ts index ac3a246b2f..1fcac48119 100644 --- a/packages/frontend/src/utility/room/objects/roundRug.ts +++ b/packages/frontend/src/utility/room/objects/roundRug.ts @@ -14,6 +14,7 @@ export const roundRug = defineObject({ }, placement: 'floor', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/router.ts b/packages/frontend/src/utility/room/objects/router.ts index d7cabf38ec..80545e5469 100644 --- a/packages/frontend/src/utility/room/objects/router.ts +++ b/packages/frontend/src/utility/room/objects/router.ts @@ -14,6 +14,7 @@ export const router = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/snakeplant.ts b/packages/frontend/src/utility/room/objects/snakeplant.ts index 486b894cef..4e84cbffd7 100644 --- a/packages/frontend/src/utility/room/objects/snakeplant.ts +++ b/packages/frontend/src/utility/room/objects/snakeplant.ts @@ -14,6 +14,7 @@ export const snakeplant = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/tabletopCalendar.ts b/packages/frontend/src/utility/room/objects/tabletopCalendar.ts index 6bcb7b7441..d2a01e6199 100644 --- a/packages/frontend/src/utility/room/objects/tabletopCalendar.ts +++ b/packages/frontend/src/utility/room/objects/tabletopCalendar.ts @@ -14,6 +14,7 @@ export const tabletopCalendar = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: () => { return { interactions: {}, diff --git a/packages/frontend/src/utility/room/objects/tabletopFlag.ts b/packages/frontend/src/utility/room/objects/tabletopFlag.ts index 92b7ec8812..b1b7279f49 100644 --- a/packages/frontend/src/utility/room/objects/tabletopFlag.ts +++ b/packages/frontend/src/utility/room/objects/tabletopFlag.ts @@ -29,6 +29,7 @@ export const tabletopFlag = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: async ({ model, options, scene }) => { const flagMesh = model.findMesh('__X_FLAG__'); const flagMaterial = model.findMaterial('__X_FLAG__'); diff --git a/packages/frontend/src/utility/room/objects/tabletopGlassPictureFrame.ts b/packages/frontend/src/utility/room/objects/tabletopGlassPictureFrame.ts index 1769a8e675..6cc8b33ddd 100644 --- a/packages/frontend/src/utility/room/objects/tabletopGlassPictureFrame.ts +++ b/packages/frontend/src/utility/room/objects/tabletopGlassPictureFrame.ts @@ -49,6 +49,7 @@ export const tabletopGlassPictureFrame = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const pictureMesh = model.findMesh('__X_PICTURE__'); const frameMesh = model.findMesh('__X_FRAME__'); diff --git a/packages/frontend/src/utility/room/objects/tabletopPictureFrame.ts b/packages/frontend/src/utility/room/objects/tabletopPictureFrame.ts index 963e43c1c1..6716c5d4b0 100644 --- a/packages/frontend/src/utility/room/objects/tabletopPictureFrame.ts +++ b/packages/frontend/src/utility/room/objects/tabletopPictureFrame.ts @@ -84,6 +84,7 @@ export const tabletopPictureFrame = defineObject({ }, placement: 'top', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const frameMesh = model.findMesh('__X_FRAME__'); frameMesh.rotationQuaternion = null; diff --git a/packages/frontend/src/utility/room/objects/tapestry.ts b/packages/frontend/src/utility/room/objects/tapestry.ts index a50d13c841..d6254429e0 100644 --- a/packages/frontend/src/utility/room/objects/tapestry.ts +++ b/packages/frontend/src/utility/room/objects/tapestry.ts @@ -49,6 +49,7 @@ export const tapestry = defineObject({ }, placement: 'side', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const pictureMesh = model.findMesh('__X_PICTURE__'); pictureMesh.rotationQuaternion = null; diff --git a/packages/frontend/src/utility/room/objects/tv.ts b/packages/frontend/src/utility/room/objects/tv.ts index 6cce178fba..1271cee71f 100644 --- a/packages/frontend/src/utility/room/objects/tv.ts +++ b/packages/frontend/src/utility/room/objects/tv.ts @@ -31,6 +31,7 @@ export const tv = defineObject({ }, placement: 'top', hasCollisions: true, + hasTexture: true, createInstance: ({ options, room, model, scene }) => { const matrix = model.root.getWorldMatrix(true); const scale = new BABYLON.Vector3(); diff --git a/packages/frontend/src/utility/room/objects/wallCanvas.ts b/packages/frontend/src/utility/room/objects/wallCanvas.ts index 79bac84b2f..431a18a0bc 100644 --- a/packages/frontend/src/utility/room/objects/wallCanvas.ts +++ b/packages/frontend/src/utility/room/objects/wallCanvas.ts @@ -45,6 +45,7 @@ export const wallCanvas = defineObject({ }, placement: 'side', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const canvasMesh = model.findMesh('__X_CANVAS__'); canvasMesh.rotationQuaternion = null; diff --git a/packages/frontend/src/utility/room/objects/wallGlassPictureFrame.ts b/packages/frontend/src/utility/room/objects/wallGlassPictureFrame.ts index 26f0cf8d84..6acb75e6d2 100644 --- a/packages/frontend/src/utility/room/objects/wallGlassPictureFrame.ts +++ b/packages/frontend/src/utility/room/objects/wallGlassPictureFrame.ts @@ -49,6 +49,7 @@ export const wallGlassPictureFrame = defineObject({ }, placement: 'wall', hasCollisions: false, + hasTexture: true, createInstance: async ({ scene, options, model }) => { const pictureMesh = model.findMesh('__X_PICTURE__'); const frameMesh = model.findMesh('__X_FRAME__');