国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Three.js獲取鼠標點擊的三維坐標示例代碼

2019-11-19 17:02:34
字體:
供稿:網(wǎng)友

由于工作需要,但是對于three.js又是一竅不通,網(wǎng)上的資料又很少,所以上來就讓我獲取坐標,真是一個頭兩個大。好歹最后終于實現(xiàn)了。

既然已經(jīng)是想要獲取鼠標點擊的三維坐標了,相信你camera對象和scene都已經(jīng)有了,如果不了解的小伙伴,可以先去看一下這兩個對象。這里主要說一下怎么獲取到三維坐標,原理性的東西不提。上代碼:

function onDocumentMouseDown( event ) {  event.preventDefault();  var vector = new THREE.Vector3();//三維坐標對象  vector.set(    ( event.clientX / window.innerWidth ) * 2 - 1,    - ( event.clientY / window.innerHeight ) * 2 + 1,    0.5 );  vector.unproject( camera );  var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());  var intersects = raycaster.intersectObjects(scene.children);  if (intersects.length > 0) {    var selected = intersects[0];//取第一個物體    console.log("x坐標:"+selected.point.x);    console.log("y坐標:"+selected.point.y);    console.log("z坐標:"+selected.point.z);  }

我理解的就是鼠標點擊的時候屏幕收到的是二維坐標,這個二維坐標和相機連線,在視角的方向上延伸,形成一條射線,這條射線會和場景中的物體相交,接收這些相交的所有物體,第一個物體就是離相機最近的,最后一個就是離相機最遠的。一般就把第一個相交的物體作為鼠標點擊的物體。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 蒲江县| 斗六市| 象山县| 定南县| 乌审旗| 尼木县| 九龙县| 涿州市| 郴州市| 六枝特区| 阿克| 东台市| 含山县| 滁州市| 平果县| 汝南县| 湖口县| 通化市| 咸阳市| 东海县| 娱乐| 西乌珠穆沁旗| 杂多县| 秦皇岛市| 前郭尔| 公主岭市| 天全县| 阿合奇县| 兴国县| 闻喜县| 高阳县| 三原县| 瑞金市| 澄城县| 淅川县| 新昌县| 荔浦县| 乃东县| 高雄市| 榆社县| 鹤庆县|