tremble пре 2 година
родитељ
комит
aad2accde6

BIN
public/images/image_song.jpg


BIN
public/model/default.jpg


+ 7 - 6
public/package/js/label.js

@@ -3,7 +3,6 @@ class Label2D extends THREE.EventDispatcher {
         super()
         this.title = o.title
         this.position = o.position
-        console.log(o);
         this.elem = $(`<div class="room-label ${o.labeltype ? o.labeltype : ''} ${o.posi == 'right' ? 'right' : ''}" >
         <a><p>
         <span>${o.title}</span>
@@ -27,6 +26,9 @@ class Label2D extends THREE.EventDispatcher {
         $(".widgets-doll-labels").append(this.elem)
         this.pos2d = new THREE.Vector3
         this.wenli = o.imgsrc
+        this.emissiveTexture = texLoader.load(`model/${o.imgsrc}.jpg`);
+
+
 
         this.elem.css({ position: 'absolute', 'z-index': 999 })
         this.clickFun = o.clickFun;
@@ -49,10 +51,10 @@ class Label2D extends THREE.EventDispatcher {
 
 
 
- 
-    update(e={}) {
+
+    update(e = {}) {
         if (!this.position || !this.visible || !e.changeSlightly && this.sheltered) return
- 
+
 
         var p = convertTool.getPos2d(this.position, viewer.camera, $("#player")[0]);
         if (!p || !p.trueSide) {
@@ -65,7 +67,7 @@ class Label2D extends THREE.EventDispatcher {
             if (this.shelterByModel && convertTool.ifShelter(this.position, p.vector, viewer.camera, viewer.model.children, 0.05)) {
                 this.sheltered = true
                 this.elem.css('display', 'none'); return;
-            }else{
+            } else {
                 this.sheltered = false
             }
         } else {
@@ -106,7 +108,6 @@ class Label2D extends THREE.EventDispatcher {
         this.elem.remove();
         this.dispatchEvent({ type: 'dispose' })
         this._listeners = {}
-        console.log('dispose')
     }
 
 

+ 8 - 7
public/package/js/objViewer.js

@@ -2,6 +2,7 @@
 let texLoader = new THREE.TextureLoader;
 
 
+var emissiveTexture = null
 
 let camera, scene, renderer, stats, gui;
 const mouse = new THREE.Vector2();
@@ -228,17 +229,13 @@ Viewer.prototype.animate = function () {
                         group.add(object);
                         object.traverse(function (child) {
                             if (child.isMesh) {
-                                console.log(child);
                                 if (child.name == "WL48_ping") {
                                     let textrueLoader = new THREE.TextureLoader();
-                                    // var emissiveTexture = textrueLoader.load("model/shadow.jpg");
-                                    // emissiveTexture.encoding = THREE.LinearEncoding;
-                                    // child.material.emissiveMap = emissiveTexture;
-                                    child.material.emissiveIntensity = 0;
+                                    emissiveTexture = textrueLoader.load("model/default.jpg");
                                     let step = 1
                                     setInterval(() => {
-                                        if (window.activetab == 'pic') {
-                                            if (child.material.emissiveIntensity > 0.3) {
+                                        if (window.showWenli) {
+                                            if (child.material.emissiveIntensity > 0.5) {
                                                 step = -1
                                             }
                                             if (child.material.emissiveIntensity < 0) {
@@ -246,6 +243,10 @@ Viewer.prototype.animate = function () {
                                             }
                                             child.material.emissiveIntensity += 0.01 * step;
                                         }
+                                        else{
+                                            child.material.emissiveMap = emissiveTexture;
+                                            child.material.emissiveIntensity = 0;
+                                        }
                                     }, 50);
                                     child.material.emissive = new THREE.Color(0xffffff);
                                     child.material.dispose();

+ 35 - 89
src/views/Home_pc.vue

@@ -36,57 +36,11 @@ import vmenu from "@/components/menu";
 import Loading from "@/components/loading";
 import vintroduce from "@/components/introduce";
 
-let step = 1
+const transitionTime = 2000
 
 let infoLabels = [{ "title": "宝珠钮", "posInModel": [-4.6302, 20.0953, 2.9731] },
-{ "title": "瓶盖", "posInModel": [-11.7969, -1.7939, 3.9055] },
-{ "title": "瓶身", "posInModel": [-6.0636, 16.2615, 3.4633] }]
-
-
-// let picLabels = [
-//   {
-//     "title": "宝珠钮",
-//     "entitle": "Diagonal squares pattern",
-//     "labeltype": "canShow",
-//     "posInModel": [
-//       0.2358,
-//       24.1179,
-//       4.7176
-//     ]
-//   },
-//   {
-//     "title": "斜方格纹",
-//     "entitle": "Diagonal squares pattern",
-//     "labeltype": "canShow",
-//     "posi": "right",
-//     "posInModel": [
-//       4.9625,
-//       16.7108,
-//       3.7418
-//     ]
-//   },
-//   {
-//     "title": "卷草纹",
-//     "entitle": "Diagonal squares pattern",
-//     "labeltype": "canShow",
-//     "posi": "right",
-//     "posInModel": [
-//       8.1682,
-//       12.9736,
-//       5.3315
-//     ]
-//   },
-//   {
-//     "title": "缠枝扁菊纹",
-//     "entitle": "Diagonal squares pattern",
-//     "labeltype": "canShow",
-//     "posInModel": [
-//       -9.4563,
-//       11.9996,
-//       5.5396
-//     ]
-//   }
-// ]
+{ "title": "瓶身", "posInModel": [-11.7969, -1.7939, 3.9055] },
+{ "title": "瓶盖", "posInModel": [-6.0636, 16.2615, 3.4633] }]
 
 let picLabels = [
   {
@@ -150,7 +104,6 @@ export default {
       camera: null,
       renderer: null,
       controls: null,
-      textrueLoader: null,
       rafId: null,
       container: null,
       containerW: 0,
@@ -191,7 +144,7 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.camera.rotation,
           new window.THREE.Vector3(-6.123233995736765e-17, 0, 0)),
-        3000,
+        transitionTime,
         () => { },
         0/* Delay */,
         window.easing.easeInOutQuad,
@@ -208,7 +161,7 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.model.position,
           new window.THREE.Vector3(0, 0, 0)),
-        3000,
+        transitionTime,
         () => { },
         0/* Delay */,
         window.easing.easeInOutQuad,
@@ -219,7 +172,7 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.model.rotation,
           new window.THREE.Vector3(0, 0, 0)),
-        3000,
+        transitionTime,
         () => {
           window.viewer.loadLabelsFromData(infoLabels)
           window.viewer.control.maxPolarAngle = Math.PI;
@@ -233,7 +186,7 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.camera.position,
           new window.THREE.Vector3(0, 0, 0.78)),
-        3000,
+        transitionTime,
         () => { },
         0/* Delay */,
         window.easing.easeInOutQuad,
@@ -252,10 +205,8 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.camera.position,
           new window.THREE.Vector3(0, 3.8901816405972494e-17, 0.6353148749999993)),
-        3000,
-        () => {
-          window.viewer.loadLabelsFromData(picLabels)
-        },
+        transitionTime,
+        () => { },
         0/* Delay */,
         window.easing.easeInOutQuad,
         null);
@@ -265,7 +216,7 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.model.position,
           new window.THREE.Vector3(0, 0, 0)),
-        3000,
+        transitionTime,
         () => { },
         0/* Delay */,
         window.easing.easeInOutQuad,
@@ -276,10 +227,12 @@ export default {
       window.transitions.start(
         window.lerp.vector(window.viewer.model.rotation,
           new window.THREE.Vector3(0, 0, 0)),
-        3000,
+        transitionTime,
         () => {
           window.viewer.control.maxPolarAngle = Math.PI / 1.5;
           window.viewer.control.minPolarAngle = Math.PI / 6;
+          window.viewer.loadLabelsFromData(picLabels)
+          window.showWenli = true
         },
         0/* Delay */,
         window.easing.easeInOutQuad,
@@ -300,6 +253,14 @@ export default {
     centerLabel(newVal) {
       if (newVal) {
         newVal.elem[0].style.display == 'block' && newVal.elem.addClass('detailShow')
+        let wlmesh = window.viewer.model.getObjectByName("WL48_ping")
+        wlmesh.material.emissiveMap = this.centerLabel.emissiveTexture;
+        wlmesh.material.dispose();
+      }
+    },
+    currentItem(newVal){
+      if (newVal != 'pix') {
+          window.showWenli = false
       }
     }
   },
@@ -330,43 +291,26 @@ export default {
       window.viewer.control.minPolarAngle = 0;
     })
 
-    let textrueLoader = new window.THREE.TextureLoader();
 
 
     window.viewer.addEventListener("view.changed", (e) => {
       if (e.changeSlightly) {
-          if (this.currentItem == 'pic') {
-            let centerLabel = window.viewer.getCLabel()
-            if (centerLabel) {
-              window.viewer.labels.forEach(item => {
-                if (centerLabel.title == item.title) {
-                  this.centerLabel = centerLabel
-                }
-                else {
-                  item.elem.removeClass('detailShow')
-                }
-              })
-            }
+        if (this.currentItem == 'pic') {
+          let centerLabel = window.viewer.getCLabel()
+          if (centerLabel) {
+            window.viewer.labels.forEach(item => {
+              if (centerLabel.title == item.title) {
+                this.centerLabel = centerLabel
+              }
+              else {
+                item.elem.removeClass('detailShow')
+              }
+            })
           }
-      }
-    })
-
-    window.viewer.addEventListener("onPointerUp", () => {
-      if (this.currentItem == 'pic') {
-        if (this.centerLabel) {
-          console.log(this.centerLabel);
-          let emissiveTexture = textrueLoader.load(`model/${this.centerLabel.wenli}.jpg`);
-          let wlmesh = window.viewer.model.getObjectByName("WL48_ping")
-          setTimeout(() => {
-            wlmesh.material.emissiveMap = emissiveTexture;
-            wlmesh.material.dispose();
-          }, 100);
         }
       }
     })
 
-
-
   },
 
   beforeDestroy() {
@@ -657,6 +601,7 @@ export default {
     }
 
     &.detailShow {
+      z-index: 1088!important;
       &:after {
         content: "";
         background-image: url('~@/assets/images/point_active.svg');
@@ -674,9 +619,10 @@ export default {
       .picdetail {
         opacity: 1;
         pointer-events: auto;
+
         &::before {
           content: '';
-          background-color: #fff!important;
+          background-color: #fff !important;
         }
       }