diff --git a/packages/frontend/src/pages/room.vue b/packages/frontend/src/pages/room.vue index 33a0ba5851..c7c2fff12b 100644 --- a/packages/frontend/src/pages/room.vue +++ b/packages/frontend/src/pages/room.vue @@ -178,6 +178,12 @@ function onWheel(ev: WheelEvent) { ev.stopPropagation(); engine.value.changeGrabbingDistance(ev.deltaY * 0.025); + } else { + ev.preventDefault(); + ev.stopPropagation(); + + engine.value.camera.fov += ev.deltaY * 0.001; + engine.value.camera.fov = Math.max(0.25, Math.min(1, engine.value.camera.fov)); } } diff --git a/packages/frontend/src/utility/room/engine.ts b/packages/frontend/src/utility/room/engine.ts index 98e3df1ecb..59e959d80b 100644 --- a/packages/frontend/src/utility/room/engine.ts +++ b/packages/frontend/src/utility/room/engine.ts @@ -159,7 +159,7 @@ export class RoomEngine { public scene: BABYLON.Scene; private shadowGenerator1: BABYLON.ShadowGenerator; private shadowGenerator2: BABYLON.ShadowGenerator; - private camera: BABYLON.UniversalCamera; + public camera: BABYLON.UniversalCamera; private fixedCamera: BABYLON.UniversalCamera; private birdeyeCamera: BABYLON.ArcRotateCamera; public intervalIds: number[] = [];