diff --git a/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.blend b/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.blend index e0575ba977..a3f3dbc4df 100644 Binary files a/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.blend and b/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.blend differ diff --git a/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.glb b/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.glb index 3638f46f26..5480930cba 100644 Binary files a/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.glb and b/packages/frontend/assets/room/objects/cardboard-box/cardboard-box.glb differ diff --git a/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.blend b/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.blend index 5cd49642e1..c2a0b449fa 100644 Binary files a/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.blend and b/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.blend differ diff --git a/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.glb b/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.glb index 0de0752d18..7008e78ab0 100644 Binary files a/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.glb and b/packages/frontend/assets/room/objects/desktop-pc/desktop-pc.glb differ diff --git a/packages/frontend/src/utility/room/objects/cardboardBox.ts b/packages/frontend/src/utility/room/objects/cardboardBox.ts index 9554bf5b02..88e83f5a35 100644 --- a/packages/frontend/src/utility/room/objects/cardboardBox.ts +++ b/packages/frontend/src/utility/room/objects/cardboardBox.ts @@ -22,19 +22,19 @@ export const cardboardBox = defineObject({ }, }, placement: 'top', - createInstance: ({ scene, options, root }) => { + createInstance: ({ scene, options, model }) => { return { onInited: () => { - //const boxMesh = root.getChildMeshes().find(m => m.name === 'Box') as BABYLON.Mesh; - //if (options.variation === 'mikan') { - // const tex = new BABYLON.Texture('/client-assets/room/objects/cardboard-box/textures/mikan.png', scene, false, false); - // (boxMesh.material as BABYLON.PBRMaterial).albedoTexture = tex; - // (boxMesh.material as BABYLON.PBRMaterial).albedoColor = new BABYLON.Color3(1, 1, 1); - //} else if (options.variation === 'aizon') { - // const tex = new BABYLON.Texture('/client-assets/room/objects/cardboard-box/textures/aizon.png', scene, false, false); - // (boxMesh.material as BABYLON.PBRMaterial).albedoTexture = tex; - // (boxMesh.material as BABYLON.PBRMaterial).albedoColor = new BABYLON.Color3(1, 1, 1); - //} + const material = model.findMaterial('__X_BODY__'); + if (options.variation === 'mikan') { + const tex = new BABYLON.Texture('/client-assets/room/objects/cardboard-box/textures/mikan.png', scene, false, false); + material.albedoTexture = tex; + material.albedoColor = new BABYLON.Color3(1, 1, 1); + } else if (options.variation === 'aizon') { + const tex = new BABYLON.Texture('/client-assets/room/objects/cardboard-box/textures/aizon.png', scene, false, false); + material.albedoTexture = tex; + material.albedoColor = new BABYLON.Color3(1, 1, 1); + } }, interactions: {}, }; diff --git a/packages/frontend/src/utility/room/objects/tv.ts b/packages/frontend/src/utility/room/objects/tv.ts index da1a3e6b56..874d3cd3fc 100644 --- a/packages/frontend/src/utility/room/objects/tv.ts +++ b/packages/frontend/src/utility/room/objects/tv.ts @@ -19,6 +19,8 @@ export const tv = defineObject({ const screenMesh = model.findMesh('__TV_SCREEN__'); screenMesh.markVerticesDataAsUpdatable(BABYLON.VertexBuffer.UVKind, true); + model.bakeExcludeMeshes = [screenMesh]; + initTv(room, screenMesh); return { diff --git a/packages/frontend/src/utility/room/utility.ts b/packages/frontend/src/utility/room/utility.ts index d9399dc09f..d12165677e 100644 --- a/packages/frontend/src/utility/room/utility.ts +++ b/packages/frontend/src/utility/room/utility.ts @@ -282,19 +282,19 @@ const TV_PROGRAMS = { timeline: [index: number, duration: number][]; }>; -let tvScreenMaterial: BABYLON.StandardMaterial | null = null; +let tvScreenMaterial: BABYLON.PBRMaterial | null = null; export function initTv(room: RoomEngine, screenMesh: BABYLON.Mesh) { const tvProgramId = 'shopping'; const tvProgram = TV_PROGRAMS[tvProgramId]; if (tvScreenMaterial == null) { - tvScreenMaterial = new BABYLON.StandardMaterial('tvScreenMaterial', room.scene); - tvScreenMaterial.diffuseColor = new BABYLON.Color3(0, 0, 0); + tvScreenMaterial = new BABYLON.PBRMaterial('tvScreenMaterial', room.scene); + tvScreenMaterial.albedoColor = new BABYLON.Color3(0, 0, 0); tvScreenMaterial.ambientColor = new BABYLON.Color3(0, 0, 0); - tvScreenMaterial.specularColor = new BABYLON.Color3(0, 0, 0); + tvScreenMaterial.roughness = 1; tvScreenMaterial.emissiveTexture = new BABYLON.Texture(`/client-assets/room/tv/${tvProgramId}/${tvProgramId}.png`, room.scene, false, false); - tvScreenMaterial.emissiveTexture.level = 0.5; - tvScreenMaterial.emissiveColor = new BABYLON.Color3(0.4, 0.4, 0.4); + tvScreenMaterial.emissiveTexture.level = 1.0; + tvScreenMaterial.emissiveColor = new BABYLON.Color3(0.5, 0.5, 0.5); tvScreenMaterial.freeze(); }