From 2bf87a96c4551e79f6f21ac252ec8a59b0c1ea65 Mon Sep 17 00:00:00 2001 From: zhangyao Date: Wed, 31 May 2023 17:11:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=F0=9F=A7=A9=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=81=97=E6=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/static/qm/MainMap_QM.js | 18 +++++------------- public/static/qm/three.js | 8 +++++--- src/assets/images/guide/brand_mask.svg | 9 +++++++++ src/components/HomeDialog/HomeDialog.vue | 3 +++ src/components/Map/Map.vue | 6 +----- src/views/Guide/Guide.vue | 8 ++++++++ 6 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 src/assets/images/guide/brand_mask.svg diff --git a/public/static/qm/MainMap_QM.js b/public/static/qm/MainMap_QM.js index 34e3516..8aeee9e 100644 --- a/public/static/qm/MainMap_QM.js +++ b/public/static/qm/MainMap_QM.js @@ -2702,7 +2702,6 @@ MainMap_QM.prototype = { */ startRender: function () { Map_QM.cancelRender(); - renderFrame = requestAnimationFrame(Map_QM.startRender); let T = Map_QM.util._clock.getDelta(); Map_QM.util.timeObj.timeS = Map_QM.util.timeObj.timeS + T; // requestAnimationFrame默认调用render函数60次,通过时间判断,降低renderer.render执行频率 @@ -2726,10 +2725,6 @@ MainMap_QM.prototype = { Map_QM.controls.update(); Map_QM.renderer.render(Map_QM.scene, Map_QM.camera); Map_QM.labelRenderer.render(Map_QM.scene, Map_QM.camera); - if(Map_QM.mapArr[Map_QM.util.selectBuild] && Map_QM.mapArr[Map_QM.util.selectBuild][Map_QM.util.selectFloor]){ - Map_QM.labelRenderer.renderObject( Map_QM.mapArr[Map_QM.util.selectBuild][Map_QM.util.selectFloor].labelObj, Map_QM.camera ); - Map_QM.labelRenderer.renderObject( Map_QM.CSSObject, Map_QM.camera ); - } for (let item of Map_QM.mixers) { item.update(T); } @@ -2739,6 +2734,7 @@ MainMap_QM.prototype = { //timeS置0 Map_QM.util.timeObj.timeS = 0; } + renderFrame = requestAnimationFrame(Map_QM.startRender); }, /** * @api {方法} cancelRender() 取消地图渲染 @@ -3002,7 +2998,7 @@ MainMap_QM.prototype = { if (Map_QM.endModel && Map_QM.endModel.visible) { Map_QM.endModel.visible = false; } - + clickShop = true; Map_QM.mapArr[Map_QM.util.selectBuild][Map_QM.util.selectFloor].findPath.clearPath(); Map_QM.setSelectShopMat(intersects[i].object); @@ -3088,8 +3084,6 @@ MainMap_QM.prototype = { Map_QM.controls.update(); Map_QM.renderer.render(Map_QM.scene, Map_QM.camera); Map_QM.labelRenderer.render(Map_QM.scene, Map_QM.camera); - Map_QM.labelRenderer.renderObject( Map_QM.mapArr[Map_QM.util.selectBuild][Map_QM.util.selectFloor].labelObj, Map_QM.camera ); - Map_QM.labelRenderer.zOrder( Map_QM.mapArr[Map_QM.util.selectBuild][Map_QM.util.selectFloor].labelObj ); if (Map_QM.callBackLoadOver) { let floorData = []; for (let i = 0; i < Map_QM.util.allMap.length; i++) { @@ -4257,7 +4251,6 @@ MainMap_QM.prototype = { span2.innerText = floorArr[i] floorBox.appendChild(span2) } - Map_QM.labelRenderer.renderObject( Map_QM.scene, Map_QM.camera ); TweenMax.fromTo('#moveFloor', 1.5, { bottom: zo }, { bottom: tz, @@ -4879,10 +4872,10 @@ FloorMap_QM.prototype = { } if (shopData[h].formatColor) { entColor = parseInt(shopData[h].formatColor.replace("#", "0x"), 16); - } + } if (shopData[h].borderColor) { borderColor = parseInt(shopData[h].borderColor.replace("#", "0x"), 16); - } + } break; } } @@ -5615,7 +5608,7 @@ MyModel_QM.prototype.MyPlaneShape = function (areaArr, howllowArr, opObj, entity color: entityColor, transparent: true, opacity: alphaModle, - + depthTest: true }); Map_QM.util.meshMaterialArr.push(meshMaterial); @@ -6038,4 +6031,3 @@ FindPath_QM.prototype.playMoveGuide = function () { } } - diff --git a/public/static/qm/three.js b/public/static/qm/three.js index f7cecb2..e1fbb56 100644 --- a/public/static/qm/three.js +++ b/public/static/qm/three.js @@ -31629,7 +31629,7 @@ THREE.CSS2DRenderer = function () { domElement.style.width = width + 'px'; domElement.style.height = height + 'px'; }; - this.renderObject = function ( object, camera ) { + var renderObject = function ( object, camera ) { if ( object instanceof THREE.CSS2DObject) { vector.setFromMatrixPosition( object.matrixWorld ); vector.applyMatrix4( viewProjectionMatrix ); @@ -31649,7 +31649,7 @@ THREE.CSS2DRenderer = function () { } } for ( var i = 0, l = object.children.length; i < l; i ++ ) { - this.renderObject( object.children[ i ], camera ); + renderObject( object.children[ i ], camera ); } }; var getDistanceToSquared = function () { @@ -31668,7 +31668,7 @@ THREE.CSS2DRenderer = function () { } ); return result; }; - this.zOrder = function ( scene ) { + var zOrder = function ( scene ) { var sorted = filterAndFlatten( scene ).sort( function ( a, b ) { var distanceA = cache.objects.get( a ).distanceToCameraSquared; var distanceB = cache.objects.get( b ).distanceToCameraSquared; @@ -31684,6 +31684,8 @@ THREE.CSS2DRenderer = function () { if ( camera.parent === null ) camera.updateMatrixWorld(); viewMatrix.copy( camera.matrixWorldInverse ); viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, viewMatrix ); + renderObject( scene, camera ); + zOrder( scene ); }; }; THREE.GLTFLoader = ( function () { diff --git a/src/assets/images/guide/brand_mask.svg b/src/assets/images/guide/brand_mask.svg new file mode 100644 index 0000000..cfc7030 --- /dev/null +++ b/src/assets/images/guide/brand_mask.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/components/HomeDialog/HomeDialog.vue b/src/components/HomeDialog/HomeDialog.vue index b3c553a..0fbf37f 100644 --- a/src/components/HomeDialog/HomeDialog.vue +++ b/src/components/HomeDialog/HomeDialog.vue @@ -89,6 +89,9 @@ defineExpose({