From 1edfee5cc92ade87c31c3dd0a88f3bc6b48db568 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 18 四月 2024 17:12:16 +0800
Subject: [PATCH] feat:入场动画
---
src/views/screen/components/screen-map-three/experience/renderer.js | 2 +-
src/views/screen/components/screen-map-three/experience/world/map.js | 46 ++++++++++++----------------------------------
2 files changed, 13 insertions(+), 35 deletions(-)
diff --git a/src/views/screen/components/screen-map-three/experience/renderer.js b/src/views/screen/components/screen-map-three/experience/renderer.js
index 725c396..e75b135 100644
--- a/src/views/screen/components/screen-map-three/experience/renderer.js
+++ b/src/views/screen/components/screen-map-three/experience/renderer.js
@@ -14,7 +14,7 @@
canvas: this.canvas,
antialias: true,
alpha: true,
- // logarithmicDepthBuffer: true
+ logarithmicDepthBuffer: true
});
// this.instance.toneMapping = THREE.CineonToneMapping;
// this.instance.toneMappingExposure = 1.75;
diff --git a/src/views/screen/components/screen-map-three/experience/world/map.js b/src/views/screen/components/screen-map-three/experience/world/map.js
index d11c80b..2d2a299 100644
--- a/src/views/screen/components/screen-map-three/experience/world/map.js
+++ b/src/views/screen/components/screen-map-three/experience/world/map.js
@@ -4,9 +4,9 @@
import textureMapImage from '@/assets/map/texture/gz-map.jpg';
import textureMapFxImage from '@/assets/map/texture/gz-map-fx.jpg';
-import { mergeGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils.js';
import gsap from 'gsap';
+
// 鍦板浘娣卞害
const MAP_DEPTH = 0.2;
@@ -23,7 +23,9 @@
this.textureLoader = new THREE.TextureLoader();
this.setTexture();
this.operationData(mapData);
- this.setLineHelper();
+ setTimeout(() => {
+ this.enterAnimation();
+ }, 500);
}
setTexture() {
const textureMap = this.textureLoader.load(textureMapImage);
@@ -88,16 +90,14 @@
this.provinceMeshList.push(mesh);
});
}
- // 鍚堝苟mesh
- // const mergedGeometry = mergeGeometries(province.children,true);
province.isHover = false;
this.map.add(province);
});
this.map.position.set(1, 1, -1.5);
- this.map.scale.set(10, 10, 10);
+ this.map.scale.set(10, 10, 1);
this.map.rotation.set(THREE.MathUtils.degToRad(-90), 0, THREE.MathUtils.degToRad(20));
this.scene.add(this.map);
- console.log(this.map);
+
this.setMouseEvent();
}
@@ -152,7 +152,6 @@
setMouseEvent() {
this.mouseEvent = this.handleEvent.bind(this);
- // this.experience.canvas.addEventListener("mousemove", this.throttle(this.mouseEvent,100));
this.experience.canvas.addEventListener("mousemove", this.mouseEvent);
}
@@ -232,32 +231,11 @@
})
}
- setLineHelper() {
- const material = new THREE.LineBasicMaterial({
- color: 0x0000ff
- });
-
- const points = [];
- points.push(new THREE.Vector3(0, 0, 0));
- points.push(new THREE.Vector3(0, 0, 0));
-
- const geometry = new THREE.BufferGeometry().setFromPoints(points);
-
- this.lineHelper = new THREE.Line(geometry, material);
- console.log(this.lineHelper);
- this.scene.add(this.lineHelper);
- }
-
- updateLine(raycaster) {
- let pointArray = new Float32Array([
- raycaster.ray.origin.x,
- raycaster.ray.origin.y,
- raycaster.ray.origin.z,
- raycaster.ray.direction.x,
- raycaster.ray.direction.y,
- raycaster.ray.direction.z,
- ])
- this.lineHelper.geometry.attributes.position.array = pointArray;
- this.lineHelper.geometry.attributes.position.needsUpdate = true;
+ enterAnimation() {
+ gsap.to(this.map.scale, {
+ z: 10,
+ duration: 0.6,
+ ease: 'power1.out'
+ })
}
}
\ No newline at end of file
--
Gitblit v1.8.0