diff --git a/packages/frontend/assets/room/rooms/default/300-ceiling.glb b/packages/frontend/assets/room/rooms/default/300-ceiling.glb index 1d3c0ef6de..8dead4de58 100644 Binary files a/packages/frontend/assets/room/rooms/default/300-ceiling.glb and b/packages/frontend/assets/room/rooms/default/300-ceiling.glb differ diff --git a/packages/frontend/assets/room/rooms/default/300-floor.glb b/packages/frontend/assets/room/rooms/default/300-floor.glb index a56ec29009..0dafed8f20 100644 Binary files a/packages/frontend/assets/room/rooms/default/300-floor.glb and b/packages/frontend/assets/room/rooms/default/300-floor.glb differ diff --git a/packages/frontend/assets/room/rooms/default/300-wall-demado.glb b/packages/frontend/assets/room/rooms/default/300-wall-demado.glb index b578857484..85f6eae9ef 100644 Binary files a/packages/frontend/assets/room/rooms/default/300-wall-demado.glb and b/packages/frontend/assets/room/rooms/default/300-wall-demado.glb differ diff --git a/packages/frontend/assets/room/rooms/default/300-wall.glb b/packages/frontend/assets/room/rooms/default/300-wall.glb index 88f18dd787..cbde2efd87 100644 Binary files a/packages/frontend/assets/room/rooms/default/300-wall.glb and b/packages/frontend/assets/room/rooms/default/300-wall.glb differ diff --git a/packages/frontend/assets/room/rooms/default/300.glb b/packages/frontend/assets/room/rooms/default/300.glb new file mode 100644 index 0000000000..157e53139b Binary files /dev/null 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 80975c313d..633461daa0 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/world/lobby/dummy-ads/angry_ai.png b/packages/frontend/assets/world/lobby/dummy-ads/angry_ai.png new file mode 100644 index 0000000000..4450c6dc0f Binary files /dev/null and b/packages/frontend/assets/world/lobby/dummy-ads/angry_ai.png differ diff --git a/packages/frontend/src/world/engine.ts b/packages/frontend/src/world/engine.ts index ee4e0e50b4..d62d335e1a 100644 --- a/packages/frontend/src/world/engine.ts +++ b/packages/frontend/src/world/engine.ts @@ -474,7 +474,7 @@ export class WorldEngine extends EventEmitter { adMesh.parent = adRoot; adMesh.position = new BABYLON.Vector3(cm(0), cm(0), cm(7500)); - const tex = new BABYLON.Texture(`/client-assets/world/lobby/dummy-ads/${1 + Math.floor(Math.random() * 4)}.png`, this.scene); + const tex = new BABYLON.Texture('/client-assets/world/lobby/dummy-ads/angry_ai.png', this.scene); const adMat = new BABYLON.StandardMaterial(`ad_${j}_${i}_mat`, this.scene); adMat.emissiveTexture = tex; adMat.disableLighting = true; diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index a17ddcfcdf..18cd36970b 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -183,7 +183,6 @@ export class RoomEngine extends EventEmitter { } private time: 0 | 1 | 2 = 0; // 0: 昼, 1: 夕, 2: 夜 - private roomCollisionMeshes: BABYLON.AbstractMesh[] = []; public roomState: RoomState; private _gridSnapping = { enabled: true, scale: cm(4) }; @@ -280,6 +279,12 @@ 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.checkCollisions = true; + this.scene.collisionsEnabled = true; this.camera = new BABYLON.UniversalCamera('camera', new BABYLON.Vector3(0, cm(130), cm(0)), this.scene); @@ -800,12 +805,11 @@ export class RoomEngine extends EventEmitter { for (const mesh of meshes) { for (const m of mesh.getChildMeshes()) { - if (m.name.includes('__ROOM_WALL__') || m.name.includes('__ROOM_SIDE__') || m.name.includes('__ROOM_FLOOR__') || m.name.includes('__ROOM_CEILING__') || m.name.includes('__ROOM_TOP__')) { + if (m.name.includes('__ROOM_WALL__') || m.name.includes('__ROOM_SIDE__') || m.name.includes('__ROOM_FLOOR__') || m.name.includes('__ROOM_CEILING__') || m.name.includes('__ROOM_TOP__') || m.name.includes('__ROOM_BOTTOM__')) { m.isPickable = false; m.receiveShadows = false; m.isVisible = false; - m.checkCollisions = true; - this.roomCollisionMeshes.push(m); + m.checkCollisions = false; continue; }