摘要:獲取鼠標(biāo)經(jīng)過(guò)地點(diǎn)的元素獲取鼠標(biāo)經(jīng)過(guò)地點(diǎn)的元素鼠標(biāo)滑過(guò)小球市時(shí)觸發(fā)的事件隱藏不可選
獲取鼠標(biāo)經(jīng)過(guò)地點(diǎn)的元素
// 獲取鼠標(biāo)經(jīng)過(guò)地點(diǎn)的元素
intersectObjects(pointer,camera,obj) { var domElement = viewer.impl.canvas; var pointerVector = new THREE.Vector3(); var pointerDir = new THREE.Vector3(); var ray = new THREE.Raycaster(); var rect = domElement.getBoundingClientRect(); var x = ( ( pointer.clientX - rect.left ) / rect.width ) * 2 - 1; var y = - ( ( pointer.clientY - rect.top ) / rect.height ) * 2 + 1; if (camera.isPerspective) { pointerVector.set(x, y, 0.5); pointerVector.unproject(camera); ray.set(camera.position, pointerVector.sub(camera.position).normalize()); } else { pointerVector.set(x, y, -1); pointerVector.unproject(camera); pointerDir.set(0, 0, -1); ray.set(pointerVector, pointerDir.transformDirection(camera.matrixWorld)); } var intersections = ray.intersectObjects( obj, true ); return intersections[0] ? intersections[0] : false; } // 鼠標(biāo)滑過(guò)小球市時(shí)觸發(fā)的事件 hoverIntersectObjects(event){ var flag =true; var pointer = event.pointers ? event.pointers[ 0 ] : event; var camera = viewer.getCamera(); var objects = viewer.impl.overlayScenes.lable.scene.children; var obj = viewer.vmethods.intersectObjects(pointer,camera,objects).object; if(obj){ //隱藏不可選 if(!obj.visible)return; if(this.oldObj) this.oldObj.material.color.setHex( this.oldObj.currentHex ); this.oldObj=obj; this.oldObj.currentHex = obj.material.color.getHex(); this.oldObj.material.color.setHex( 0x660000); viewer.impl.invalidate(false, false, true); var pos=viewer.worldToClient(this.oldObj.position); var posX=pos.x-$(".k-tooltip").width()/2; var posY=pos.y-$(".k-tooltip").height()-20; $(".k-tooltip").css({"left":posX,"top":posY}); $(".k-tooltip").show(); $(".k-tooltip .name").text(this.oldObj.name); }else{ if(this.oldObj) { this.oldObj.material.color.setHex( this.oldObj.currentHex ); viewer.impl.invalidate(false, false, true) $(".k-tooltip").hide(); } } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103992.html
摘要:可選,默認(rèn)值為,設(shè)置為則禁止用戶和全景圖交互導(dǎo)航條不可用??蛇x,默認(rèn)值為,全景圖在毫秒后會(huì)自動(dòng)進(jìn)行動(dòng)畫(huà)。當(dāng)全景圖準(zhǔn)備就緒并且第一張圖片顯示時(shí)的回調(diào)函數(shù)。 3D全景漫游 showImg(http://mmbiz.qpic.cn/mmbiz/cibketMByvrbpDqUQ9LiaBvutnwMehicnO2RZurdl96FLtwqlf6LjWS0Bv8ApQY0YjHdtyFWuzz...
摘要:個(gè)人前端文章整理從最開(kāi)始萌生寫(xiě)文章的想法,到著手開(kāi)始寫(xiě),再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫(xiě)好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開(kāi)始萌生寫(xiě)文章的想法,到著手...
摘要:在文末,我會(huì)附上一個(gè)可加載的模型方便學(xué)習(xí)中文藝術(shù)字渲染用原生可以很容易地繪制文字,但是原生提供的文字效果美化功能十分有限。 showImg(https://segmentfault.com/img/bVWYnb?w=900&h=385); WebGL 可以說(shuō)是 HTML5 技術(shù)生態(tài)鏈中最為令人振奮的標(biāo)準(zhǔn)之一,它把 Web 帶入了 3D 的時(shí)代。 初識(shí) WebGL 先通過(guò)幾個(gè)使用 Web...
摘要:兩種相機(jī)的區(qū)別目前提供了幾種不同的相機(jī),最常用的,也是下面插件中使用的兩種相機(jī)是透視相機(jī)正交投影相機(jī)。上面的圖很清楚的解釋了兩種相機(jī)的區(qū)別右側(cè)是正交投影相機(jī)他不具有透視效果,即物體的大小不受遠(yuǎn)近距離的影響,對(duì)應(yīng)的是投影中的正交投影。導(dǎo)讀 本文從繪圖基礎(chǔ)開(kāi)始講起,詳細(xì)介紹了如何使用Three.js開(kāi)發(fā)一個(gè)功能齊全的全景插件。 我們先來(lái)看一下插件的效果: showImg(https://user...
閱讀 870·2021-11-19 11:29
閱讀 3361·2021-09-26 10:15
閱讀 2872·2021-09-22 10:02
閱讀 2443·2021-09-02 15:15
閱讀 1981·2019-08-30 15:56
閱讀 2421·2019-08-30 15:54
閱讀 2926·2019-08-29 16:59
閱讀 644·2019-08-29 16:20