最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年03月24日 17:18:55   作者:關注來哈爾濱請你吃鍋包肉  
本篇文章主要介紹了Three.js獲取鼠標點擊的三維坐標示例代碼。具有一定的參考價值,感興趣的小伙伴們可以參考一下。

由于工作需要,但是對于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);
  }

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

胶南市| 许昌市| 莫力| 西乌珠穆沁旗| SHOW| 丘北县| 瑞丽市| 抚顺市| 聂荣县| 额济纳旗| 德安县| 屏东市| 汪清县| 定陶县| 临武县| 潼南县| 吉隆县| 共和县| 迁安市| 霍邱县| 万全县| 九江县| 仙游县| 临邑县| 泸水县| 甘孜县| 白朗县| 穆棱市| 盖州市| 什邡市| 柘城县| 寿光市| 辽阳县| 赤水市| 娄烦县| 泰安市| 南城县| 黑山县| 南丰县| 金堂县| 大田县|