【问题标题】:Three.js raycast from camera centerThree.js 来自相机中心的光线投射
【发布时间】:2015-07-04 22:30:49
【问题描述】:

几周以来,我一直在尝试从透视摄像机的中心进行光线投射。没有 event.client.x 和 y,因为我使用设备方向:

var raycaster = new THREE.Raycaster();
var vector = new THREE.Vector3( 0, 0, 0 ); // instead of event.client.x and event.client.y
var direction = new THREE.Vector3( 0, 0, -1 ).transformDirection( camera.matrixWorld );
raycaster.set( vector, direction );
var intersects = raycaster.intersectObjects(objects);

我在 (0,0,0) 上有一个透视相机……我使用设备方向而不是键盘和鼠标来获得旋转……并且想用从我的相机中心发送的光线投射击中一个立方体。我尝试了很多关于three.js raycast 的示例,但没有成功。

我的光线投射到底出了什么问题????

【问题讨论】:

    标签: three.js


    【解决方案1】:

    对于您的光线投射矢量和方向,请使用相机世界矢量:

    raycaster.set( camera.getWorldPosition(), camera.getWorldDirection() );
    

    【讨论】:

      【解决方案2】:

      使用简单:

      raycaster.setFromCamera( new THREE.Vector2(), camera );  
      

      http://jsfiddle.net/gLbkg21e/

      【讨论】:

      • 感谢您的快速回复
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 2014-03-01
      • 2020-03-07
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多