From 31a1a3c3f4fed709c852a525d9a82deaad56bcca Mon Sep 17 00:00:00 2001 From: Anatoly Date: Sat, 29 Jan 2022 17:13:27 +0300 Subject: [PATCH] Made floating gentler --- src/Mockup.vue | 13 ++++++++----- src/MockupModel.js | 10 +++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Mockup.vue b/src/Mockup.vue index f2d6626..8a0211e 100644 --- a/src/Mockup.vue +++ b/src/Mockup.vue @@ -79,8 +79,10 @@ export default { const loader = new THREE.TextureLoader(); const texture = loader.load(props.screenImg); + texture.anisotropy = renderer.capabilities.getMaxAnisotropy(); const material = new THREE.MeshLambertMaterial({ map: texture }); + // material.map.minFilter = THREE.LinearFilter; const screen = new THREE.Mesh(geometry, material); const recomputeUVs = () => { @@ -120,18 +122,19 @@ export default { }; phone = new MockupModel(); - phone.acceleration.y = -0.02; + phone.acceleration.y = -0.01; phone.rotation.x = -0.1; phone.rotation.y = 0.5; screenInit(); bodyInit(); }; + renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }); + renderer.setSize(container.value.clientWidth, container.value.clientHeight); + environmentInit(); phoneInit(); - renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }); - renderer.setSize(container.value.clientWidth, container.value.clientHeight); container.value.appendChild(renderer.domElement); } @@ -145,7 +148,7 @@ export default { break; case 'lookAt': - phone.lookAtAnim(mouseX, mouseY, camera); + phone.lookAtAnim(mouseX / 3, mouseY / 3, camera.position.z); break; default: @@ -161,7 +164,7 @@ export default { } function handleMouseLeave() { - phone.acceleration.y = -0.02; + phone.acceleration.y = -0.01; animation.value = 'float'; } diff --git a/src/MockupModel.js b/src/MockupModel.js index 1570054..0073b01 100644 --- a/src/MockupModel.js +++ b/src/MockupModel.js @@ -18,14 +18,14 @@ export default class MockupModel extends Group { } floatAnim() { - const maxSpeed = 0.5; + const maxSpeed = 0.1; if (this.position.y < -2) { - this.acceleration.y = 0.02; + this.acceleration.y = 0.01; } if (this.position.y > 2) { - this.acceleration.y = -0.02; + this.acceleration.y = -0.01; } this.speed.y = Math.min(this.speed.y + this.acceleration.y, maxSpeed); @@ -36,11 +36,11 @@ export default class MockupModel extends Group { this.rotation.y += 0.02; } - lookAtAnim(x, y, camera) { + lookAtAnim(x, y, cameraZ) { const target = new Vector3(); target.x = x; target.y = y; - target.z = camera.position.z; + target.z = cameraZ; this.lookAt(target); } }