diff --git a/packages/frontend/assets/room/rooms/default/300.glb b/packages/frontend/assets/room/rooms/default/300.glb index 79541f7290..a7fee3844e 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 61874baa97..d2547d0ebe 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/museum/floor.jpg b/packages/frontend/assets/room/rooms/museum/floor.jpg new file mode 100644 index 0000000000..91719e12c0 Binary files /dev/null and b/packages/frontend/assets/room/rooms/museum/floor.jpg differ diff --git a/packages/frontend/assets/room/rooms/museum/museum.blend b/packages/frontend/assets/room/rooms/museum/museum.blend new file mode 100644 index 0000000000..2924daa0ae Binary files /dev/null and b/packages/frontend/assets/room/rooms/museum/museum.blend differ diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index 07cc5b2bd8..57fbf36b8a 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -279,13 +279,6 @@ export class RoomEngine extends EventEmitter { this.envMapOutdoor = BABYLON.CubeTexture.CreateFromPrefilteredData(this.time === 2 ? '/client-assets/room/outdoor-night.env' : '/client-assets/room/outdoor-day.env', this.scene); this.envMapOutdoor.level = this.time === 0 ? 0.5 : this.time === 1 ? 0.3 : 0.1; - const roomCollisionCube = BABYLON.MeshBuilder.CreateBox('roomCollisionCube', { size: cm(300) }, this.scene); - roomCollisionCube.position.y = cm(150); - roomCollisionCube.scaling.x = -1; // flip normals - roomCollisionCube.isVisible = false; - roomCollisionCube.isPickable = false; - roomCollisionCube.checkCollisions = true; - this.scene.collisionsEnabled = true; this.camera = new BABYLON.FreeCamera('camera', new BABYLON.Vector3(0, cm(130), cm(0)), this.scene); @@ -871,6 +864,9 @@ export class RoomEngine extends EventEmitter { m.receiveShadows = false; m.isVisible = false; m.checkCollisions = false; + if (m.name.includes('__COLLISION__')) { + m.checkCollisions = true; + } continue; } diff --git a/packages/frontend/src/world/room/heya.ts b/packages/frontend/src/world/room/heya.ts index 3598ed2552..dcc972f084 100644 --- a/packages/frontend/src/world/room/heya.ts +++ b/packages/frontend/src/world/room/heya.ts @@ -5,7 +5,7 @@ */ import * as BABYLON from '@babylonjs/core'; -import { WORLD_SCALE } from '../utility.js'; +import { cm, WORLD_SCALE } from '../utility.js'; import { findMaterial } from './utility.js'; //export interface HeyaManager { diff --git a/packages/frontend/src/world/room/utility.ts b/packages/frontend/src/world/room/utility.ts index 4d806bbd39..ee41b3cf27 100644 --- a/packages/frontend/src/world/room/utility.ts +++ b/packages/frontend/src/world/room/utility.ts @@ -7,7 +7,7 @@ import * as BABYLON from '@babylonjs/core'; import { applyMorphTargetsToMesh, cm, getPlaneUvIndexes, Timer } from '../utility.js'; export const SYSTEM_MESH_NAMES = ['__TOP__', '__SIDE__', '__PICK__', '__COLLISION__']; -export const SYSTEM_HEYA_MESH_NAMES = ['__ROOM_WALL__', '__ROOM_SIDE__', '__ROOM_FLOOR__', '__ROOM_CEILING__', '__ROOM_TOP__', '__ROOM_BOTTOM__']; +export const SYSTEM_HEYA_MESH_NAMES = ['__ROOM_WALL__', '__ROOM_SIDE__', '__ROOM_FLOOR__', '__ROOM_CEILING__', '__ROOM_TOP__', '__ROOM_BOTTOM__', '__COLLISION__']; export function yuge(scene: BABYLON.Scene, mesh: BABYLON.Mesh, offset: BABYLON.Vector3) { const emitter = new BABYLON.TransformNode('emitter', scene);