From e37fb4e3971f5e30844e24e18131770dc7b0ec2c Mon Sep 17 00:00:00 2001 From: Marcus Longmuir Date: Tue, 23 Jul 2024 20:23:44 +0100 Subject: [PATCH 1/2] Fix initial camera rotation --- packages/3d-web-client-core/src/camera/CameraManager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/3d-web-client-core/src/camera/CameraManager.ts b/packages/3d-web-client-core/src/camera/CameraManager.ts index a76836f9..a48882bf 100644 --- a/packages/3d-web-client-core/src/camera/CameraManager.ts +++ b/packages/3d-web-client-core/src/camera/CameraManager.ts @@ -37,7 +37,7 @@ export class CameraManager { private phi: number = Math.PI / 2; private targetPhi: number = this.phi; - private theta: number = Math.PI / 2; + private theta: number = -Math.PI / 2; private targetTheta: number = this.theta; private target: Vector3 = new Vector3(0, 1.55, 0); From eb40598d0adaf86ee06a7bb38caad89990f3dfff Mon Sep 17 00:00:00 2001 From: Marcus Longmuir Date: Tue, 23 Jul 2024 20:29:11 +0100 Subject: [PATCH 2/2] Simplified initial CameraManager properties --- .../3d-web-client-core/src/camera/CameraManager.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/3d-web-client-core/src/camera/CameraManager.ts b/packages/3d-web-client-core/src/camera/CameraManager.ts index a48882bf..24129a65 100644 --- a/packages/3d-web-client-core/src/camera/CameraManager.ts +++ b/packages/3d-web-client-core/src/camera/CameraManager.ts @@ -35,10 +35,10 @@ export class CameraManager { public targetDistance: number = this.initialDistance; public desiredDistance: number = this.initialDistance; - private phi: number = Math.PI / 2; - private targetPhi: number = this.phi; - private theta: number = -Math.PI / 2; - private targetTheta: number = this.theta; + private phi: number; + private targetPhi: number; + private theta: number; + private targetTheta: number; private target: Vector3 = new Vector3(0, 1.55, 0); private hadTarget: boolean = false; @@ -63,7 +63,9 @@ export class CameraManager { ) { this.targetElement.style.touchAction = "pinch-zoom"; this.phi = initialPhi; + this.targetPhi = this.phi; this.theta = initialTheta; + this.targetTheta = this.theta; this.camera = new PerspectiveCamera(this.fov, window.innerWidth / window.innerHeight, 0.1, 400); this.camera.position.set(0, 1.4, -this.initialDistance); this.rayCaster = new Raycaster();