xzw 4 سال پیش
والد
کامیت
1c0a5a7958
3فایلهای تغییر یافته به همراه73 افزوده شده و 47 حذف شده
  1. 2 2
      edit.html
  2. 8 1
      js/main_2020_edit.js
  3. 63 44
      js/main_2020_show.js

+ 2 - 2
edit.html

@@ -79,10 +79,10 @@
                         <span class="music"></span>
                         <label>背景音乐</label>
                     </li>
-                    <li data-name="snapTour">
+                    <!-- <li data-name="snapTour">
                         <span class="snapTour"></span>
                         <label>自动导览</label>
-                    </li>
+                    </li> -->
                     <li data-name="VR">
                         <span class="VREditIcon VR"></span>
                         <label>VR</label>

+ 8 - 1
js/main_2020_edit.js

@@ -14857,10 +14857,16 @@ function o(a, s, l) {
             this.styleTex = [] // 存储热点icon的图片 [{src:...}, {src:...} ] 最多两个,里面是带有src的object, 可以是img
             
             this.build()
-            t.infoAttribute && t.infoAttribute.title && this.createTitleElem(t.infoAttribute.title)
+            //t.infoAttribute && t.infoAttribute.title && this.createTitleElem(t.infoAttribute.title)
             
             this.changeTex()
             
+            if(t.infoAttribute){
+                
+                this.createTitleElem(t.infoAttribute.hardware ? t.infoAttribute.hardware.name : t.infoAttribute.title)  
+                 
+                
+            } 
             this.setVisiblePanos(t.visiblePanos); 
             this.infoAttribute = t.infoAttribute;
             
@@ -14971,6 +14977,7 @@ function o(a, s, l) {
         
         
         n.prototype.createTitleElem = function(title){
+            if(!title)return;
             var root = $("#hot");
             var elem = $(`<div> ${title}</div>`)
             root.append(elem);

+ 63 - 44
js/main_2020_show.js

@@ -15481,15 +15481,6 @@ window.Modernizr = function(n, e, t) {
             
 			this.build();
             
-            
-            if(d.infoAttribute && d.infoAttribute.title){
-                if(window.MP_PREFETCHED_MODELDATA.flyInOnlyBySwitch){
-                  
-                }else{
-                    this.createTitleElem(d.infoAttribute.title)  
-                } 
-                
-            } 
             if(d.infoAttribute.hardware){
                 var id = d.infoAttribute.hardware.id;
                 if(id!= void 0){
@@ -15497,6 +15488,15 @@ window.Modernizr = function(n, e, t) {
                 }
                 //得先获取最新的status 是否在线
             }
+            if(d.infoAttribute){
+                /* if(window.MP_PREFETCHED_MODELDATA.flyInOnlyBySwitch){
+                  
+                }else{ */
+                    this.createTitleElem(d.infoAttribute.hardware ? d.infoAttribute.hardware.name : d.infoAttribute.title ))  
+                //} 
+                
+            } 
+            
             
             
             this.changeTex()
@@ -15513,7 +15513,7 @@ window.Modernizr = function(n, e, t) {
         , te = e("../util/texture");
         var raycaster = new r.Raycaster;
         //热点大小
-        var geometry = new r.PlaneBufferGeometry( g_HotMeshSize.g_HotMeshWidth, g_HotMeshSize.g_HotMeshHeight,1,1);
+        var geometry = new r.PlaneBufferGeometry( 1,1,/* g_HotMeshSize.g_HotMeshWidth, g_HotMeshSize.g_HotMeshHeight */ 1,1);
         var defaultTex1 = te.load(g_HotImage.point);
         var defaultTex2 = te.load(g_HotImage.point2);
          
@@ -15539,13 +15539,40 @@ window.Modernizr = function(n, e, t) {
             this.changeTex()
         }
      
-        hot.prototype.update = function(camera) {
-            if(this.isSprite){
-                this.mesh.quaternion.copy(camera.quaternion)
-            }
-            if(window.hotNeedUpdatePannel == this){
-                this.updatePannel()
+        hot.prototype.update = function() {
+            var i = new r.Vector3
+              , o = new r.Vector3
+              , l = new r.Vector3
+              , c = new r.Vector3
+              , h = new r.Vector3;
+                  
+            return function(e, camera){      
+                if(this.isSprite){
+                    this.mesh.quaternion.copy(camera.quaternion)
+                }
+                if(window.hotNeedUpdatePannel == this){
+                    this.updatePannel()
+                }
+                var p = e === s.DOLLHOUSE || e === s.FLOORPLAN ? a.tags.visibility.visibleDistance : camera.position.distanceTo(this.mesh.position);
+                    
+                var d = a.hot.scale 
+                var f = d.maxSize - (d.maxSize - d.minSize) * r.Math.smoothstep(p, d.nearBound, d.farBound);
+                i.copy(this.mesh.position).project(camera),
+                o.set($("#player").width() / 2, $("#player").height() / 2, 1).multiply(i),
+                l.set(f / 2, 0, 0).add(o),
+                c.set(2 / $("#player").width(), 2 / $("#player").height(), 1).multiply(l),
+                h.copy(c).unproject(camera);
+                var g = h.distanceTo(this.mesh.position)
+                  , m = 1 + a.tags.disc.scale.responsiveness / 100 * (hot.viewportScale() - 1);
+                this.discScale = g * m,
+                this.mesh.scale.set(this.discScale, this.discScale, this.discScale)
             }
+        }()
+        hot.viewportScale = function() {
+            return hot.viewportWidth === $("#player").width() && hot.viewportHeight === $("#player").height() || (hot.viewportWidth = $("#player").width(),
+            hot.viewportHeight = $("#player").height(),
+            hot.currentViewportScale = Math.sqrt(Math.min(hot.viewportWidth, hot.viewportHeight) / a.tags.disc.scale.baseViewportSize)),
+            hot.currentViewportScale
         }
         hot.prototype.setVisiblePanos = function(visibleData){ 
             if (visibleData) {
@@ -15560,7 +15587,8 @@ window.Modernizr = function(n, e, t) {
                 uniforms: t,
                 vertexShader: f.hot.vertexShader,
                 fragmentShader: f.hot.fragmentShader,
-                transparent: !0
+                transparent: !0,
+                side:2
             })
             var sprite = new r.Mesh( geometry, shaderMaterial );
             var hotIconScale = parseFloat(window.MP_PREFETCHED_MODELDATA.hotIconScale);
@@ -15580,6 +15608,7 @@ window.Modernizr = function(n, e, t) {
          
         
         hot.prototype.createTitleElem = function(title){
+            if(!title)return;
             var root = $("#hot");
             var elem = $(`<div> ${title}</div>`)
             root.append(elem);
@@ -15802,32 +15831,7 @@ window.Modernizr = function(n, e, t) {
                     }
 
                     
-                })
-                
-                 
-
-               
-              /*  $.ajax({//获取设备参数
-                  method: "GET",
-                  headers: {
-                    "Content-Type": "application/json",
-                  },
-                  dataType: "json",
-                  contentType: "application/json",
-                  url: `/api/device/getParam/${hardware.devTypeId}/${hardware.code}`, 
-                  success: (data)=> {
-                        console.log(data)  
-                        if (data.code === 0) {
-                            var info = data.data.find(device=>device.id==hardware.id)
-                        }
-                    }
-                }) */
-               
-               
-               
-               
-               
-               
+                }) 
                
                 return true 
                 
@@ -16133,6 +16137,7 @@ window.Modernizr = function(n, e, t) {
 		"../util/texture":194,
 		"../settings":166,
         "../util/math": 190,
+          
 	}], 
 	/************************************创建热点模型************************************ */
     123: [function(e, t, i) {//tag
@@ -22484,7 +22489,7 @@ window.Modernizr = function(n, e, t) {
                         this.emit(w.ViewChanged),
                         this.intersectHot && this.intersectHot.showTitle() 
                         for(var i in this.model.hots){
-                            this.model.hots[i].update(this.camera)
+                            this.model.hots[i].update(this.mode,this.camera)
                         } 
 
                     }
@@ -26428,6 +26433,20 @@ window.Modernizr = function(n, e, t) {
                 truncateLength: 12,
                 truncateSuffix: "..."
             },
+            
+            hot:{
+                scale:{
+                    nearBound: 1.5,
+                    farBound: 4.8,
+                    linkFarBound: !1,
+                    linkPercent: 40,
+                    maxSize: 120,
+                    minSize: 60,
+                    baseViewportSize: 800,
+                    responsiveness: 100
+                }
+            },
+            
             tags: {
                 enabled: r.valueFromHash("mt", 1),
                 startup: {