diff --git a/packages/frontend/assets/room/objects/tv/tv.blend b/packages/frontend/assets/room/objects/tv/tv.blend index 429dd8d620..1b5b3055e4 100644 Binary files a/packages/frontend/assets/room/objects/tv/tv.blend and b/packages/frontend/assets/room/objects/tv/tv.blend differ diff --git a/packages/frontend/assets/room/objects/tv/tv.glb b/packages/frontend/assets/room/objects/tv/tv.glb index 8b6040c7fd..1cb4a0c3ad 100644 Binary files a/packages/frontend/assets/room/objects/tv/tv.glb and b/packages/frontend/assets/room/objects/tv/tv.glb differ diff --git a/packages/frontend/src/utility/room/objects/tv.ts b/packages/frontend/src/utility/room/objects/tv.ts index 9e3cff0f7c..df57759867 100644 --- a/packages/frontend/src/utility/room/objects/tv.ts +++ b/packages/frontend/src/utility/room/objects/tv.ts @@ -12,6 +12,10 @@ export const tv = defineObject({ name: 'TV', options: { schema: { + bodyColor: { + type: 'color', + label: 'Body color', + }, screenBrightness: { type: 'range', label: 'Screen brightness', @@ -21,6 +25,7 @@ export const tv = defineObject({ }, }, default: { + bodyColor: [0, 0, 0], screenBrightness: 0.5, }, }, @@ -51,9 +56,19 @@ export const tv = defineObject({ applyScreenBrightness(); + const bodyMaterial = model.findMaterial('__X_BODY__'); + + const applyBodyColor = () => { + const [r, g, b] = options.bodyColor; + bodyMaterial.albedoColor = new BABYLON.Color3(r, g, b); + }; + + applyBodyColor(); + return { onOptionsUpdated: ([k, v]) => { switch (k) { + case 'bodyColor': applyBodyColor(); break; case 'screenBrightness': applyScreenBrightness(); break; } },