diff --git a/packages/frontend/assets/room/object-thumbs/aquarium.png b/packages/frontend/assets/room/object-thumbs/aquarium.png new file mode 100644 index 0000000000..13e1962ede Binary files /dev/null and b/packages/frontend/assets/room/object-thumbs/aquarium.png differ diff --git a/packages/frontend/assets/room/object-thumbs/cuboid.png b/packages/frontend/assets/room/object-thumbs/cuboid.png new file mode 100644 index 0000000000..6a026ffcdc Binary files /dev/null and b/packages/frontend/assets/room/object-thumbs/cuboid.png differ diff --git a/packages/frontend/assets/room/object-thumbs/plant2.png b/packages/frontend/assets/room/object-thumbs/plant2.png new file mode 100644 index 0000000000..32b47c0f87 Binary files /dev/null and b/packages/frontend/assets/room/object-thumbs/plant2.png differ diff --git a/packages/frontend/assets/room/object-thumbs/rolled-up-poster.png b/packages/frontend/assets/room/object-thumbs/rolled-up-poster.png new file mode 100644 index 0000000000..1fbaac1f3e Binary files /dev/null and b/packages/frontend/assets/room/object-thumbs/rolled-up-poster.png differ diff --git a/packages/frontend/assets/room/object-thumbs/tv.png b/packages/frontend/assets/room/object-thumbs/tv.png new file mode 100644 index 0000000000..ff6ece08fd Binary files /dev/null and b/packages/frontend/assets/room/object-thumbs/tv.png differ diff --git a/packages/frontend/src/world/room/object-defs.ts b/packages/frontend/src/world/room/object-defs.ts index 3802d3e65c..ff37bd6be6 100644 --- a/packages/frontend/src/world/room/object-defs.ts +++ b/packages/frontend/src/world/room/object-defs.ts @@ -103,7 +103,6 @@ export const OBJECT_DEFS = [ beamLamp, bed, blind, - book, books, boxWallShelf, cactusS, @@ -184,7 +183,6 @@ export const OBJECT_DEFS = [ woodRingFloorLamp, woodRingsPendantLight, woodSoundAbsorbingPanel, - debugHipoly, ]; export function getObjectDef(type: string): typeof OBJECT_DEFS[number] { diff --git a/packages/frontend/src/world/room/objects/tv.ts b/packages/frontend/src/world/room/objects/tv.ts index 1cd24c27a8..f1225bf0fa 100644 --- a/packages/frontend/src/world/room/objects/tv.ts +++ b/packages/frontend/src/world/room/objects/tv.ts @@ -33,7 +33,7 @@ export const tv = defineObject({ placement: 'top', hasCollisions: true, hasTexture: true, - createInstance: ({ options, room, model, scene }) => { + createInstance: ({ options, room, model, scene, timer }) => { const matrix = model.root.getWorldMatrix(true); const scale = new BABYLON.Vector3(); matrix.decompose(scale); @@ -52,7 +52,7 @@ export const tv = defineObject({ const screenMaterial = model.findMaterial('__X_SCREEN__'); - const { dispose: disposeTv } = initTv(room, screenMesh); + const { dispose: disposeTv } = initTv(scene, screenMesh, timer); //const videoTexture = new BABYLON.VideoTexture('', 'http://syu-win.local:3000/files/97986924-b99e-4fe1-993d-9caf010cca59', room.scene, false, true); ; //screenMaterial.emissiveTexture = videoTexture; diff --git a/packages/frontend/src/world/room/utility.ts b/packages/frontend/src/world/room/utility.ts index 39274c68eb..46e50eff94 100644 --- a/packages/frontend/src/world/room/utility.ts +++ b/packages/frontend/src/world/room/utility.ts @@ -4,7 +4,7 @@ */ import * as BABYLON from '@babylonjs/core'; -import { applyMorphTargetsToMesh, cm, getPlaneUvIndexes } from '../utility.js'; +import { applyMorphTargetsToMesh, cm, getPlaneUvIndexes, Timer } from '../utility.js'; import type { RoomEngine } from './engine.js'; export const SYSTEM_MESH_NAMES = ['__TOP__', '__SIDE__', '__PICK__', '__COLLISION__']; @@ -104,14 +104,14 @@ const TV_PROGRAMS = { timeline: [index: number, duration: number][]; }>; -export function initTv(room: RoomEngine, screenMesh: BABYLON.Mesh) { +export function initTv(scene: BABYLON.Scene, screenMesh: BABYLON.Mesh, timer: Timer) { const tvProgramId = 'shopping'; const tvProgram = TV_PROGRAMS[tvProgramId]; const tvScreenMaterial = screenMesh.material as BABYLON.PBRMaterial; tvScreenMaterial.albedoColor = new BABYLON.Color3(0, 0, 0); tvScreenMaterial.ambientColor = 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 = new BABYLON.Texture(`/client-assets/room/tv/${tvProgramId}/${tvProgramId}.png`, scene, false, false); tvScreenMaterial.emissiveTexture.level = 1.0; tvScreenMaterial.emissiveColor = new BABYLON.Color3(0.5, 0.5, 0.5); @@ -147,7 +147,7 @@ export function initTv(room: RoomEngine, screenMesh: BABYLON.Mesh) { uvs[uvIndexes[3] + 1] = dy; screenMesh.updateVerticesData(BABYLON.VertexBuffer.UVKind, uvs); - room.timer.setTimeout(() => { + timer.setTimeout(() => { applyTvTexture((tlIndex + 1) % tvProgram.timeline.length); }, duration); };