我有一個物體(飛機),它是相機的一個孩子,因此它「固定在屏幕上」。THREE.JS對相機的孩子進行光線投射
plane = new THREE.Mesh(new THREE.PlaneGeometry(10, 10, 10, 10), material);
plane.position.set(0,0,-5);
camera.add(plane);
在這架飛機上,我有另一個我想移動的物體,我正在發送光線投射到飛機上。
if(INTERSECTED){
handleEvent();
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObject(plane);
if(intersects.length>0){
//what is happening here?
//these points are definitely not on the plane!
var x = intersects[0].point.x;
var y = intersects[0].point.y;
var z = intersects[0].point.z;
INTERSECTED.position.set(x,y,z);
console.log(x,y,z);
}
}
射線撞擊飛機的位置對我來說沒有任何意義!
請幫幫我,我卡住了! 謝謝!
這裏是小提琴:
jsfiddle.net/74jLjz6q/2
PS:我發現這個職位,類似的問題,這裏的攝像頭是另一對象的孩子..我找不到我的問題有任何幫助
它必須是周圍的其他方法(世界到地方):..
THREE.js Raycasting from a child camera to the scene
嘗試使用'raycaster.intersectObject(plane,true);'true告訴raycaster通過子視圖,然後'intersects [0]'應該是第一個相交的對象 – Rush2112