From b76fd2fa93c2036d66e5142654cf66cf1e371531 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 30 四月 2024 17:12:34 +0800
Subject: [PATCH] 改为连表查询

---
 src/views/screen/components/screen-map-three/experience/world/enviroment.js |   83 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 73 insertions(+), 10 deletions(-)

diff --git a/src/views/screen/components/screen-map-three/experience/world/enviroment.js b/src/views/screen/components/screen-map-three/experience/world/enviroment.js
index 9fb8d80..833dc82 100644
--- a/src/views/screen/components/screen-map-three/experience/world/enviroment.js
+++ b/src/views/screen/components/screen-map-three/experience/world/enviroment.js
@@ -3,6 +3,9 @@
 import rotatingPoint from '@/assets/map/texture/rotating-point2.png';
 import circlePoint from '@/assets/map/texture/circle-point.png';
 import sceneBg from '@/assets/map/texture/scene-bg2.png';
+
+import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";
+
 export default class Enviroment {
   constructor(experience) {
     this.experience = experience;
@@ -13,20 +16,22 @@
     this.setRotateHola();
     this.setBackground();
     this.setCirclePoint();
+
+    // this.debuger();
   }
   setSunLight() {
     //   骞宠鍏�1
-    let directionalLight1 = new THREE.DirectionalLight(0xffffff, 0.6);
-    directionalLight1.position.set(400, 200, 200);
+    this.directionalLight1 = new THREE.DirectionalLight(0xffffff, 0.9);
+    this.directionalLight1.position.set(0, 57, 33);
     //   骞宠鍏�2
-    let directionalLight2 = new THREE.DirectionalLight(0xffffff, 0.6);
-    directionalLight2.position.set(-400, -200, -300);
+    this.directionalLight2 = new THREE.DirectionalLight(0xffffff, 0.6);
+    this.directionalLight2.position.set(-95, 28, -33);
     // 鐜鍏�
-    let ambientLight = new THREE.AmbientLight(0xffffff, 0.5);
+    this.ambientLight = new THREE.AmbientLight(0xffffff, 0.8);
 
-    this.scene.add(directionalLight1);
-    this.scene.add(directionalLight2);
-    this.scene.add(ambientLight);
+    this.scene.add(this.directionalLight1);
+    this.scene.add(this.directionalLight2);
+    this.scene.add(this.ambientLight);
   }
 
   setRotateHola() {
@@ -36,7 +41,7 @@
       width: 48,
       height: 48,
       texture: rotatingApertureTexture,
-      positionList: [0, 0.4, 0.3],
+      positionList: [0, 0.4, 0],
       scaleList: [1, 1, 1],
       rotateList: [-Math.PI / 2, 0, 0]
     };
@@ -44,7 +49,7 @@
       width: 40,
       height: 40,
       texture: rotatingPointTexture,
-      positionList: [0, 0.3, 0.3],
+      positionList: [0, 0.3, 0],
       scaleList: [1, 1, 1],
       rotateList: [-Math.PI / 2, 0, 0]
     };
@@ -111,4 +116,62 @@
       this.hola2.rotation.z -= 0.001;
     }
   }
+
+  destroy() {
+    this.disposeObject();
+    this.removeObject();
+    this.resetObject();
+  }
+
+  disposeObject() {
+    this.hola1.geometry.dispose();
+    this.hola1.material.dispose();
+    this.hola2.geometry.dispose();
+    this.hola2.material.dispose();
+    this.background.geometry.dispose();
+    this.background.material.dispose();
+    this.circle.geometry.dispose();
+    this.circle.material.dispose();
+    this.directionalLight1.dispose();
+    this.directionalLight2.dispose();
+    this.ambientLight.dispose();
+  }
+
+  removeObject() {
+    this.scene.remove(this.hola1);
+    this.scene.remove(this.hola2);
+    this.scene.remove(this.background);
+    this.scene.remove(this.circle);
+  }
+
+  resetObject() {
+    this.hola1 = null;
+    this.hola2 = null;
+    this.background = null;
+    this.circle = null;
+    this.directionalLight1 = null;
+    this.directionalLight2 = null;
+    this.ambientLight = null;
+  }
+
+  debuger() {
+    const gui = new GUI();
+
+    const folder1 = gui.addFolder('骞宠鍏�1');
+    const folder2 = gui.addFolder('骞宠鍏�2');
+    const folder3 = gui.addFolder('鐜鍏�');
+
+    folder1.add(this.directionalLight1.position, 'x').min(-200).max(200).step(1).name("x杞寸殑浣嶇疆");
+    folder1.add(this.directionalLight1.position, 'y').min(-200).max(200).step(1).name("y杞寸殑浣嶇疆");
+    folder1.add(this.directionalLight1.position, 'z').min(-200).max(200).step(1).name("z杞寸殑浣嶇疆");
+    folder1.add(this.directionalLight1, 'intensity').min(0).max(1).step(0.1).name("寮哄害");
+
+    folder2.add(this.directionalLight2.position, 'x').min(-200).max(200).step(1).name("x杞寸殑浣嶇疆");
+    folder2.add(this.directionalLight2.position, 'y').min(-200).max(200).step(1).name("y杞寸殑浣嶇疆");
+    folder2.add(this.directionalLight2.position, 'z').min(-200).max(200).step(1).name("z杞寸殑浣嶇疆");
+    folder2.add(this.directionalLight2, 'intensity').min(0).max(1).step(0.1).name("寮哄害");
+
+
+    folder3.add(this.ambientLight, 'intensity').min(0).max(1).step(0.1).name("寮哄害");
+  }
 }
\ No newline at end of file

--
Gitblit v1.8.0