我試圖檢測我的平面網格上的點擊。我使用這些示例作爲指導,設置了一個raycaster。Three.js不準確的Raycaster
下面是代碼: http://jsfiddle.net/BAR24/o24eexo4/2/
當單擊該標記線之下,沒有點擊會即使點擊是在飛機上(標記線沒有作用)檢測。
也嘗試調整屏幕大小。然後,即使點擊標記線上方也不行。
也許這與使用正交相機有關嗎?或者不更新一些需要的矩陣?
function onMouseDown(event) {
event.preventDefault();
mouse.x = (event.clientX/window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY/window.innerHeight) * 2 + 1;
//console.log("x: " + mouse.x + ", y: " + mouse.y);
raycaster.setFromCamera(mouse, camera)
var intersects = raycaster.intersectObjects(objects);
if (intersects.length > 0) {
console.log("touched:" + intersects[0]);
} else {
console.log("not touched");
}
}
看起來像修復了小提琴的例子。將在明天測試我的程序。謝謝! – BAR