advanced character controls + zoom/fov

This commit is contained in:
2025-11-30 09:42:29 +02:00
parent 4e008e6ccd
commit 14772a039c
5 changed files with 62 additions and 30 deletions
+8 -2
View File
@@ -126,7 +126,7 @@ class GameEngine extends THREE.EventDispatcher{
}
this.orbitControls = controls;
//controls.enableZoom = true;
controls.enableZoom = false;
//const controls = new MapControls( camera, renderer.domElement );
this.transformControls = new TransformControls(this.camera, renderer.domElement);
this.transformControls.addEventListener('dragging-changed', function (event) {
@@ -179,7 +179,13 @@ class GameEngine extends THREE.EventDispatcher{
//console.log('GameEngine started')
renderer.domElement.addEventListener('wheel', (event) => {
if (gameEngine.hero){
gameEngine.hero.cameraZ += event.deltaY / 100;
if (!gameEngine.hero.pointerControls.controls.isLocked){
gameEngine.hero.cameraZ += event.deltaY / 100;
}else{
gameEngine.camera.fov += event.deltaY / 100;
gameEngine.camera.fov = Math.min(Math.max(gameEngine.camera.fov, 0.01), 90);
gameEngine.camera.updateProjectionMatrix();
}
}else{
gameEngine.camera.zoom -= event.deltaY / 1000;
gameEngine.camera.zoom = Math.max(gameEngine.camera.zoom, .4);