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/world/map.js |   46 ++++++++++++----------------------------------
 1 files changed, 12 insertions(+), 34 deletions(-)

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