From f91560eaa97f18feba6f23253cbc7f429e17591e Mon Sep 17 00:00:00 2001 From: trp <2477421791@qq.com> Date: Tue, 6 Aug 2024 22:42:03 +0800 Subject: [PATCH] =?UTF-8?q?trp:=20=E9=9A=A7=E9=81=93=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E7=BC=A9=E6=94=BE=E4=BF=AE=E6=94=B9=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/tunnelScene/sceneClass/demo.js | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/components/content/tunnelScene/sceneClass/demo.js b/src/components/content/tunnelScene/sceneClass/demo.js index 9dc8037..db94b11 100644 --- a/src/components/content/tunnelScene/sceneClass/demo.js +++ b/src/components/content/tunnelScene/sceneClass/demo.js @@ -1,6 +1,6 @@ import { handleLClick } from "./handleRLclick/handleLclick"; import { handleRClick } from "./handleRLclick/handleRclick"; -import { handleLHover } from "./handleRLclick/handleLhover.js" +import { handleLHover } from "./handleRLclick/handleLhover.js"; import { handleDBLClick } from "./handleDBLclick"; import { checkAnimation } from "./checkTag"; import { @@ -11,7 +11,7 @@ import { saveState, resetState } from "./viewBack"; import addFunction from "./addEvent"; import { editTunnelInit } from "./editTunnelInit"; import { addEquipment, removeEquipment } from "./editEquipment"; -import previewtunnelModeInit from "./previewTunnelInit" +import previewtunnelModeInit from "./previewTunnelInit"; import { StreetSignTag } from "./utils/StreetSignTag/StreetSignTag.js"; // import { fa } from "element-plus/es/locale/index.js"; // import { ref } from "vue"; @@ -23,7 +23,7 @@ export default class Demo { //设备模型数组 deviceModels = []; constructor(three, mountedElement) { - this._StreetSignTag = StreetSignTag + this._StreetSignTag = StreetSignTag; this._handleLClick = handleLClick; this._handleLHover = handleLHover; this._handleRClick = handleRClick; @@ -155,6 +155,8 @@ export default class Demo { gltf.scene.traverse((child) => { this._forModels(child); }); + // 初始化模型缩放倍率 + gltf.scene.scale.set(0.75, 0.75, 0.75); // 初始化场景位置 gltf.scene.position.set(-5, 0, 10); this.scene.add(gltf.scene); @@ -164,7 +166,7 @@ export default class Demo { resolve(gltf); }, (xhr) => { - console.log((xhr.loaded / xhr.total) * 100 + "% loaded"); + // console.log((xhr.loaded / xhr.total) * 100 + "% loaded"); }, (error) => { console.log(error); @@ -180,11 +182,10 @@ export default class Demo { this._hoverModel(this.points, isedit); // 可以进行点击 if (isedit == true) { - console.log('dada') this._ClickModel(this.points); } //将墙壁进行隐藏 - this.WallInit() + this.WallInit(); //对路牌进行相关操作 // this.SignsInf() } @@ -224,6 +225,8 @@ export default class Demo { this.orbitControls.maxPolarAngle = (4 * Math.PI) / 8.5; this.orbitControls.minPolarAngle = (4 * Math.PI) / 8.5; } + this.orbitControls.enableDamping = true; + // 初始化轨道控制器距离 this.orbitControls.minDistance = 5; this.orbitControls.maxDistance = 87; // 监听控制器变化 @@ -259,7 +262,6 @@ export default class Demo { //附着点设置方框(已经被选中了的情况) this.setBoxHelper(intersects[0].object); this._handleLHover(intersects[0].object); - } this.preHover.material.color.set("white"); this.preHover = intersects[0].object; @@ -277,15 +279,13 @@ export default class Demo { if (!this.preHover) return; //当鼠标移出的时候,将轨道控制器打开,并且将面板关闭 if (isedit != true) { - this.isControlOrbit(true) - this.clearTagsObj(isedit) + this.isControlOrbit(true); + this.clearTagsObj(isedit); } this.preHover.material.color.set("white"); } // this._handleLHover(intersects[0].object); // this._handleLClick(intersects[0].object); - - }); } /** @@ -379,7 +379,6 @@ export default class Demo { // 下面是2D的显示方案 // this.tagCSS2DObj.scale.set(0.001, 0.001, 0.001); - // this.tag3CSS2DObj.scale.set(0.001, 0.001, 0.001); //编辑框 // this.tag3CSS2DObj.position.set(1, 0, 1); } @@ -432,7 +431,7 @@ export default class Demo { this.equMap.get("equ_fan").traverse((v) => { v.material = new this.THREE.MeshBasicMaterial(); // v.material.color = new this.THREE.Color(0xFF0000); - v.material.color = new this.THREE.Color(0xC0C0C0); + v.material.color = new this.THREE.Color(0xc0c0c0); if (/^leaf/.test(v.name) || /^roller/.test(v.name)) { group.add(v.clone()); // console.log(group); @@ -503,10 +502,10 @@ export default class Demo { isControlOrbit(option = true) { this.orbitControls.enabled = option; - const mesh = this.scene.getObjectByName("chanel"); - const mesh2 = this.scene.getObjectByName("chanel_1"); - const mesh3 = this.scene.getObjectByName("chanel_2"); - const mesh4 = this.scene.getObjectByName("chanel_3"); + // const mesh = this.scene.getObjectByName("chanel"); + // const mesh2 = this.scene.getObjectByName("chanel_1"); + // const mesh3 = this.scene.getObjectByName("chanel_2"); + // const mesh4 = this.scene.getObjectByName("chanel_3"); const opacityTween = (startVal, endVal, isNeedLookAt = false) => { this.opacityTween = new this.TWEEN.Tween({ @@ -547,16 +546,16 @@ export default class Demo { WallInit() { for (let line = 1; line <= 20; line++) { if (line < 10) { - let wall = 'wall_' + '0' + line - this.scene.getObjectByName(wall).visible = false + let wall = "wall_" + "0" + line; + this.scene.getObjectByName(wall).visible = false; } else if (line >= 10) { - let wall = 'wall_' + line - this.scene.getObjectByName(wall).visible = false + let wall = "wall_" + line; + this.scene.getObjectByName(wall).visible = false; } } } SignsInf(tunnelName, tunnelLength) { - let Signs = this.scene.getObjectByName('streetSigns'); + let Signs = this.scene.getObjectByName("streetSigns"); // console.log(Signs); const tag = new this.THREE.Mesh( new this.THREE.PlaneGeometry(100, 76), @@ -571,7 +570,6 @@ export default class Demo { tag.translateZ(3); tag.translateY(40); - let EquipmentTag = this._StreetSignTag(tunnelName, tunnelLength); Signs.getObjectByName("tag").material = EquipmentTag; }