[英]Three.js world coordinates from mouse position with Orthographic camera
我知道這個問題已經被問過很多次,並且已經回答了,但是我目前對所遵循的任何答案都沒有運氣(主要是這個Mouse / Canvas X,Y到Three.js World X,Y,Z ) 。
我已經完成了對象選擇,並且正在使用的代碼如下
onMouseMove:function(event)
{
event.preventDefault();
var scope = Game.GSThree,
$container = $(scope.container.element),
width = $container.width(),
height = $container.height(),
vector,
ray,
intersects;
scope.mouse.x = (event.clientX - scope.container.padding.left) / width * 2 - 1;
scope.mouse.y = - (event.clientY / height) * 2 + 1;
scope.mouse.z = 0.5;
vector = new THREE.Vector3(scope.mouse.x , scope.mouse.y , scope.mouse.z);
ray = scope.projector.pickingRay(vector.clone() , scope.camera);
intersects = ray.intersectObjects(scope.tiles.children);
if(intersects.length)
{
var hovered = intersects[0].object;
scope.selectObject(hovered);
}
}
這可以正常工作,但實際上我還需要知道當前鼠標位置的確切世界坐標。 我不確定我嘗試過的解決方案是否適用於正交攝影機,這就是我正在使用的解決方案。 如果我登錄scope.mouse.x
或vector.x
它們都沒有給出世界坐標,則ray
發現對象完全正常,但是我不知道如何獲取世界上ray的當前坐標。
我認為您正在尋找的是:
相交[0] .point;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.