diff --git a/src/lib/Dashboard.js b/src/lib/Dashboard.js index 85dfad5..eab90ff 100644 --- a/src/lib/Dashboard.js +++ b/src/lib/Dashboard.js @@ -27,8 +27,12 @@ class DashBoard extends EventManager { hud.add(hudTarget) hudTarget.position.set(0,0,0.52); dash.visible = false; - const k = 1.55; + const k = 3.11; const dashWidth = engine.aspect * k, dashHeight = k; + const dashDistance = 2.5; + + this.width = dashWidth; + this.height = dashHeight; const dashGeometry = new PlaneGeometry(dashWidth, dashHeight); const dashMesh = new Mesh(dashGeometry, new MeshBasicMaterial({ @@ -112,7 +116,7 @@ class DashBoard extends EventManager { dash.quaternion.copy(engine.camera.quaternion) dash.position.copy(engine.camera.position) //dash.translateZ(-1.2 * engine.camera.zoom); - dash.translateZ(-0.75/Math.tan(engine.camera.fov/2 * Math.PI/180) * engine.camera.zoom); + dash.translateZ(-dashDistance -0.75/Math.tan(engine.camera.fov/2 * Math.PI/180) * engine.camera.zoom); }) this.initScene = function(scene, startBtnCallback){ @@ -198,6 +202,8 @@ class DashBoard extends EventManager { //dashPlacement, rotate = false, plane = false this.attach = (object, opts = {})=>{ + this.cameraFix = engine.hero.cameraZ; + engine.hero.cameraZ = 6; hud.visible = true; hudPlane.visible = !!opts.plane; if (opts.plane){ @@ -232,7 +238,7 @@ class DashBoard extends EventManager { a: opts.placement || { quaternion: { x:0, y:0, z:0, w:0 }, position: { x:0, y:0, z:0 }, - scale: { x: 1, y: 1, z: 1 } + scale: { x: dashHeight * 0.8, y: dashHeight * 0.8, z: dashHeight * 0.8 } }, t: opts.skipTransition ? 0 : 1, f: resolve @@ -245,7 +251,7 @@ class DashBoard extends EventManager { a: { rotation: { y: 2*Math.PI } }, - t: 4, + t: 8, r: true, d: 1 }) @@ -254,6 +260,7 @@ class DashBoard extends EventManager { } this.detach = (object, opts = {})=>{ + engine.hero.cameraZ = this.cameraFix; //console.log('detaching', object) engine.motionQueue.remove(hudAnimation); object._hud.parent?.attach(object); @@ -344,11 +351,11 @@ class SceneHeader{ startBtn.rotation.y = Math.PI/6; let title = await new TextObject(engine, { - position: [0, -0.22 * params.dashHeight,0], + position: [0, -0.22 * params.dashHeight, -0.1], fontSize: 0.055 * params.dashHeight, color: 0xffffff, outlineColor: 0x373737, outlineWidth: '3%' }); let description = await new TextObject(engine, { - position: [0, -0.25 * params.dashHeight,0], anchorY: 'top', lineHeight: 1.33, color: 0x0, + position: [0, -0.25 * params.dashHeight, -0.1], anchorY: 'top', lineHeight: 1.33, color: 0x0, fontSize: 0.025 * params.dashHeight, outlineWidth: '11%', maxWidth: params.dashWidth * 0.8 });