我从几周开始尝试从透视摄像机的中心进行光线投射。没有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)上有一个perspectivecamera ...我使用设备方向而不是键盘和鼠标来获得旋转...并且想要从我的摄像头中心发送的光线投射击中一个立方体。我尝试了很多关于three.js光线投射的例子,但没有成功。
我的光线投影到底是怎么回事????
答案 0 :(得分:1)
对于你的光线投射矢量和方向,请使用相机世界矢量:
raycaster.set( camera.getWorldPosition(), camera.getWorldDirection() );
答案 1 :(得分:1)