Skip to content

Commit

Permalink
feat rotation, chore: fov limits
Browse files Browse the repository at this point in the history
  • Loading branch information
sinanatra committed Feb 17, 2025
1 parent 4658eae commit 56955f1
Showing 1 changed file with 17 additions and 27 deletions.
44 changes: 17 additions & 27 deletions src/cameraOperator.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ export default class CameraOperator extends EventDispatcher {
this.fpCamera.translateZ(-1)
break

case 'KeyG':
case 'KeyR':
this.fpCamera.translateY(1)
break

Expand All @@ -180,32 +180,22 @@ export default class CameraOperator extends EventDispatcher {
case 'KeyD':
this.fpCamera.translateX(1)
break
}

if (this.projection != null) {
switch (code) {
case 'ArrowUp':
this.projection.camera.isOrthographicCamera
? (this.projection.camera.zoom += 0.01)
: this.projection.camera.fov++
break

case 'ArrowLeft':
this.projection.camera.rotateZ(0.02)
break

case 'ArrowDown':
this.projection.camera.isOrthographicCamera
? (this.projection.camera.zoom -= 0.01)
: this.projection.camera.fov--
break

case 'ArrowRight':
this.projection.camera.rotateZ(-0.02)
break
}
this.projection.camera.position.set(...this.fpCamera.getWorldPosition(new Vector3()))
this.projection.update()
case 'KeyQ':
this.#focusCamera.rotateZ(0.02)
this.dispatchEvent({
type: 'vantage:update-focus-camera',
value: [...this.#focusCamera.rotation].slice(0, -1)
})
break

case 'KeyE':
this.#focusCamera.rotateZ(-0.02)
this.dispatchEvent({
type: 'vantage:update-focus-camera',
value: [...this.#focusCamera.rotation].slice(0, -1)
})
break
}
}

Expand Down Expand Up @@ -233,7 +223,7 @@ export default class CameraOperator extends EventDispatcher {

const delta = event.deltaY * 0.05
this.#focusCamera.fov += delta
this.#focusCamera.fov = Math.max(30, Math.min(100, this.#focusCamera.fov))
this.#focusCamera.fov = Math.max(0, Math.min(175, this.#focusCamera.fov))
this.#focusCamera.updateProjectionMatrix()

this.fpControls.detachCamera()
Expand Down

0 comments on commit 56955f1

Please sign in to comment.