diff --git a/packages/frontend/assets/room/rooms/default/300.glb b/packages/frontend/assets/room/rooms/default/300.glb index 4c3c3598fc..4bcd920323 100644 Binary files a/packages/frontend/assets/room/rooms/default/300.glb and b/packages/frontend/assets/room/rooms/default/300.glb differ diff --git a/packages/frontend/assets/room/rooms/default/default.blend b/packages/frontend/assets/room/rooms/default/default.blend index 7aee1bebf6..3183a329d9 100644 Binary files a/packages/frontend/assets/room/rooms/default/default.blend and b/packages/frontend/assets/room/rooms/default/default.blend differ diff --git a/packages/frontend/assets/room/rooms/default/textures/flooring_disp.png b/packages/frontend/assets/room/rooms/default/textures/flooring_disp.png deleted file mode 100644 index a4951a5f5a..0000000000 Binary files a/packages/frontend/assets/room/rooms/default/textures/flooring_disp.png and /dev/null differ diff --git a/packages/frontend/assets/room/rooms/default/textures/flooring_gloss.png b/packages/frontend/assets/room/rooms/default/textures/flooring_gloss.png deleted file mode 100644 index 19a9fc8714..0000000000 Binary files a/packages/frontend/assets/room/rooms/default/textures/flooring_gloss.png and /dev/null differ diff --git a/packages/frontend/assets/room/rooms/default/textures/flooring_normal.png b/packages/frontend/assets/room/rooms/default/textures/flooring_normal.png deleted file mode 100644 index 29c5974d34..0000000000 Binary files a/packages/frontend/assets/room/rooms/default/textures/flooring_normal.png and /dev/null differ diff --git a/packages/frontend/assets/room/textures/ceiling-concrete.png b/packages/frontend/assets/room/textures/ceiling-concrete.png new file mode 100644 index 0000000000..be1d537733 Binary files /dev/null and b/packages/frontend/assets/room/textures/ceiling-concrete.png differ diff --git a/packages/frontend/assets/room/textures/flooring-concrete.png b/packages/frontend/assets/room/textures/flooring-concrete.png new file mode 100644 index 0000000000..be1d537733 Binary files /dev/null and b/packages/frontend/assets/room/textures/flooring-concrete.png differ diff --git a/packages/frontend/assets/room/rooms/default/textures/flooring_diffuse.png b/packages/frontend/assets/room/textures/flooring-wood.png similarity index 100% rename from packages/frontend/assets/room/rooms/default/textures/flooring_diffuse.png rename to packages/frontend/assets/room/textures/flooring-wood.png diff --git a/packages/frontend/assets/room/wall-textures/concrete.png b/packages/frontend/assets/room/textures/wall-concrete.png similarity index 100% rename from packages/frontend/assets/room/wall-textures/concrete.png rename to packages/frontend/assets/room/textures/wall-concrete.png diff --git a/packages/frontend/src/pages/room.default-heya-options.vue b/packages/frontend/src/pages/room.default-heya-options.vue index ad662a0ead..a6d01ad26b 100644 --- a/packages/frontend/src/pages/room.default-heya-options.vue +++ b/packages/frontend/src/pages/room.default-heya-options.vue @@ -10,18 +10,22 @@ SPDX-License-Identifier: AGPL-3.0-only + + + + color + + + + + + + + + + diff --git a/packages/frontend/src/world/room/heya.ts b/packages/frontend/src/world/room/heya.ts index d6f306fbaf..fc05552716 100644 --- a/packages/frontend/src/world/room/heya.ts +++ b/packages/frontend/src/world/room/heya.ts @@ -80,6 +80,7 @@ export class SimpleHeyaManager extends HeyaManager { e: BABYLON.PBRMaterial; } | null = null; private ceilingMaterial: BABYLON.PBRMaterial | null = null; + private floorMaterial: BABYLON.PBRMaterial | null = null; constructor(onMeshUpdatedCallback?: ((meshes: BABYLON.AbstractMesh[]) => void) | null) { super(onMeshUpdatedCallback); @@ -146,6 +147,7 @@ export class SimpleHeyaManager extends HeyaManager { } this.ceilingMaterial = findMaterial(this.meshes[0], '__X_CEILING__'); + this.floorMaterial = findMaterial(this.meshes[0], '__X_FLOOR__'); await this.applyOptions(options); } @@ -171,8 +173,8 @@ export class SimpleHeyaManager extends HeyaManager { targetMaterial.unfreeze(); targetMaterial.albedoColor = new BABYLON.Color3(...wallOptions.color); - const texPath = wallOptions.material === 'wood' ? '/client-assets/room/wall-textures/wood.png' - : wallOptions.material === 'concrete' ? '/client-assets/room/wall-textures/concrete.png' + const texPath = wallOptions.material === 'wood' ? '/client-assets/room/textures/wall-wood.png' + : wallOptions.material === 'concrete' ? '/client-assets/room/textures/wall-concrete.png' : null; if (texPath != null) { @@ -191,8 +193,8 @@ export class SimpleHeyaManager extends HeyaManager { targetMaterial.unfreeze(); targetMaterial.albedoColor = new BABYLON.Color3(...wallOptions.hariColor); - const texPath = wallOptions.hariMaterial === 'wood' ? '/client-assets/room/wall-textures/wood.png' - : wallOptions.hariMaterial === 'concrete' ? '/client-assets/room/wall-textures/concrete.png' + const texPath = wallOptions.hariMaterial === 'wood' ? '/client-assets/room/textures/wall-wood.png' + : wallOptions.hariMaterial === 'concrete' ? '/client-assets/room/textures/wall-concrete.png' : null; if (texPath != null) { @@ -210,8 +212,8 @@ export class SimpleHeyaManager extends HeyaManager { this.ceilingMaterial.unfreeze(); this.ceilingMaterial.albedoColor = new BABYLON.Color3(...options.ceiling.color); - const texPath = options.ceiling.material === 'wood' ? '/client-assets/room/wall-textures/wood.png' - : options.ceiling.material === 'concrete' ? '/client-assets/room/wall-textures/concrete.png' + const texPath = options.ceiling.material === 'wood' ? '/client-assets/room/textures/ceiling-wood.png' + : options.ceiling.material === 'concrete' ? '/client-assets/room/textures/ceiling-concrete.png' : null; if (texPath != null) { @@ -224,6 +226,24 @@ export class SimpleHeyaManager extends HeyaManager { this.ceilingMaterial.freeze(); } + { + this.floorMaterial.unfreeze(); + this.floorMaterial.albedoColor = new BABYLON.Color3(...options.flooring.color); + + const texPath = options.flooring.material === 'wood' ? '/client-assets/room/textures/flooring-wood.png' + : options.flooring.material === 'concrete' ? '/client-assets/room/textures/flooring-concrete.png' + : null; + + if (texPath != null) { + const tex = new BABYLON.Texture(texPath, this.meshes[0].getScene(), false, false); + this.floorMaterial.albedoTexture = tex; + } else { + this.floorMaterial.albedoTexture = null; + } + + this.floorMaterial.freeze(); + } + this.onMeshUpdatedCallback?.(this.meshes); }