diff --git a/packages/frontend/assets/world/lobby/default.blend b/packages/frontend/assets/world/lobby/default.blend index a69cff611b..c367e379f1 100644 Binary files a/packages/frontend/assets/world/lobby/default.blend and b/packages/frontend/assets/world/lobby/default.blend differ diff --git a/packages/frontend/assets/world/lobby/default.glb b/packages/frontend/assets/world/lobby/default.glb index faa86f9295..de7e3a85b0 100644 Binary files a/packages/frontend/assets/world/lobby/default.glb and b/packages/frontend/assets/world/lobby/default.glb differ diff --git a/packages/frontend/src/world/engine.ts b/packages/frontend/src/world/engine.ts index a54f9341b4..e1742408b2 100644 --- a/packages/frontend/src/world/engine.ts +++ b/packages/frontend/src/world/engine.ts @@ -100,7 +100,7 @@ export class WorldEngine extends EventEmitter { this.scene.collisionsEnabled = true; - this.camera = new BABYLON.UniversalCamera('camera', new BABYLON.Vector3(cm(0), cm(200), cm(3000)), this.scene); + this.camera = new BABYLON.UniversalCamera('camera', new BABYLON.Vector3(cm(0), cm(250), cm(3000)), this.scene); this.camera.inputs.removeByType('FreeCameraKeyboardMoveInput'); this.camera.inputs.add(new HorizontalCameraKeyboardMoveInput(this.camera, 0.3)); this.camera.attachControl(this.canvas); @@ -230,7 +230,10 @@ export class WorldEngine extends EventEmitter { envObj.meshes[0].bakeCurrentTransformIntoVertices(); for (const mesh of envObj.meshes) { if (mesh.name === '__root__') continue; - mesh.checkCollisions = true; + if (mesh.name.includes('__COLLISION__')) { + mesh.checkCollisions = true; + mesh.isVisible = false; + } if (this.reflectionProbe != null) { if (mesh.material) (mesh.material as BABYLON.PBRMaterial).reflectionTexture = this.reflectionProbe.cubeTexture; if (mesh.material) (mesh.material as BABYLON.PBRMaterial).realTimeFiltering = true; diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index 4dce650448..978345efd9 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -299,13 +299,14 @@ export class RoomEngine extends EventEmitter { const ambientLight = new BABYLON.HemisphericLight('ambientLight', new BABYLON.Vector3(0, 1, -0.5), this.scene); ambientLight.diffuse = new BABYLON.Color3(1.0, 1.0, 1.0); - ambientLight.intensity = 0.5; + ambientLight.intensity = 0.3; //ambientLight.intensity = 0; this.roomLight = new BABYLON.SpotLight('roomLight', new BABYLON.Vector3(0, cm(249), 0), new BABYLON.Vector3(0, -1, 0), 16, 8, this.scene); this.roomLight.diffuse = new BABYLON.Color3(1.0, 0.9, 0.8); this.roomLight.shadowMinZ = cm(10); this.roomLight.shadowMaxZ = cm(300); + this.roomLight.radius = cm(30); this.shadowGeneratorForRoomLight = new BABYLON.ShadowGenerator(2048, this.roomLight); this.shadowGeneratorForRoomLight.forceBackFacesOnly = true; diff --git a/packages/frontend/src/world/room/objects/allInOnePc.ts b/packages/frontend/src/world/room/objects/allInOnePc.ts index 3c2b57fcbb..d00c2a8e78 100644 --- a/packages/frontend/src/world/room/objects/allInOnePc.ts +++ b/packages/frontend/src/world/room/objects/allInOnePc.ts @@ -56,6 +56,7 @@ export const allInOnePc = defineObject({ light.parent = model.root; light.diffuse = new BABYLON.Color3(1.0, 1.0, 1.0); light.range = cm(100); + light.radius = cm(20); if (room?.lightContainer != null) room.lightContainer.addLight(light); const screenMesh = model.findMesh('__X_SCREEN__'); diff --git a/packages/frontend/src/world/room/objects/laptopPc.ts b/packages/frontend/src/world/room/objects/laptopPc.ts index 3168402354..c0272f42c9 100644 --- a/packages/frontend/src/world/room/objects/laptopPc.ts +++ b/packages/frontend/src/world/room/objects/laptopPc.ts @@ -68,6 +68,7 @@ export const laptopPc = defineObject({ light.parent = hutaNode; light.diffuse = new BABYLON.Color3(1.0, 1.0, 1.0); light.range = cm(100); + light.radius = cm(15); if (room?.lightContainer != null) room.lightContainer.addLight(light); const bodyMaterial = model.findMaterial('__X_BODY__'); diff --git a/packages/frontend/src/world/room/objects/tv.ts b/packages/frontend/src/world/room/objects/tv.ts index 5c728ff7e1..1cd24c27a8 100644 --- a/packages/frontend/src/world/room/objects/tv.ts +++ b/packages/frontend/src/world/room/objects/tv.ts @@ -42,6 +42,7 @@ export const tv = defineObject({ light.parent = model.root; light.diffuse = new BABYLON.Color3(1.0, 1.0, 1.0); light.range = cm(150); + light.radius = cm(40); if (room?.lightContainer != null) room.lightContainer.addLight(light); const screenMesh = model.findMesh('__TV_SCREEN__'); diff --git a/packages/frontend/src/world/room/objects/woodRingFloorLamp.ts b/packages/frontend/src/world/room/objects/woodRingFloorLamp.ts index 5fd5621bcc..dfe2e83a4e 100644 --- a/packages/frontend/src/world/room/objects/woodRingFloorLamp.ts +++ b/packages/frontend/src/world/room/objects/woodRingFloorLamp.ts @@ -65,6 +65,7 @@ export const woodRingFloorLamp = defineObject({ for (const lamp of lamps) { const light = new BABYLON.SpotLight('', new BABYLON.Vector3(cm(0), cm(0), 0), new BABYLON.Vector3(0, -1, 0), Math.PI / 1, 2, scene, room?.lightContainer != null); light.parent = lamp; + light.radius = cm(5); if (room?.lightContainer != null) room.lightContainer.addLight(light); lights.push(light); } diff --git a/packages/frontend/src/world/room/objects/woodRingsPendantLight.ts b/packages/frontend/src/world/room/objects/woodRingsPendantLight.ts index e5d45801d5..c9fdb5fe20 100644 --- a/packages/frontend/src/world/room/objects/woodRingsPendantLight.ts +++ b/packages/frontend/src/world/room/objects/woodRingsPendantLight.ts @@ -75,6 +75,7 @@ export const woodRingsPendantLight = defineObject({ const lamp = model.findMesh('__X_LAMP__'); const light = new BABYLON.PointLight('', new BABYLON.Vector3(0, 0, 0), scene, room?.lightContainer != null); light.parent = lamp; + light.radius = cm(5); if (room?.lightContainer != null) room.lightContainer.addLight(light); const applyLightColor = () => {