2013-07-31 2 views
2

사람들이 스크린 위치에 카메라 위치를 갖기를 원하는 많은 게시물을 보았습니다. 내 질문은 그 반대를하는 방법입니다.ThreeJS : 카메라 위치 대 스크린 위치

내가 현재 달성하고 싶은 것은 화면의 %에 "문"위치를 설정하고이 계산이 준비되어 있으며 최종 화면 X, Y (px) 위치가 있습니다. 현재 Z 오프셋 = 250입니다.

나는 화면 위치에 카메라 위치를 변환하는 코드를 발견했습니다

var vector = projector.projectVector(door.position.clone(), camera); 
vector.x = (vector.x + 1)/2 * window.innerWidth; 
vector.y = -(vector.y - 1)/2 * window.innerHeight; 

내가 이것을 시도 reversie을하려면,하지만 난 기대하는 결과를 제공하지 않습니다

var mouseX = ((perc.x)/window.innerWidth) * 2 - 1, 
    mouseY = -((perc.y)/window.innerHeight) * 2 + 1; 

var vector = new THREE.Vector3(mouseX, mouseY, 1); 
projector.unprojectVector(vector, camera); 
return vector.sub(camera.position).normalize() 

I을 몇 가지 방법을 시도하고 Google에 시도했지만 답변을 찾지 못했습니다.

Q : 화면 위치를 카메라 위치로 변환하는 방법은 무엇입니까?

답변

2

음, 당신이하고 싶은 비행기에 조정 화면을 찾을 수 raycaster를 사용하여 다음 new THREE.PlaneGeometry(5000,5000); 같은 (뭔가 눈에 보이는 카메라 영역을 모두 커버하는 비행기를 만드는 것입니다.

여기 another similar question의 예는 다음과 같습니다.

http://jsfiddle.net/PwWbT/

희망 도움이 반응

1

문을 확장 할 수있는 방향을 정의한 커다란 보이지 않는 평면을 사용하고 평면에서 레이 캐스터를 사용하여 문 객체가 확장되어야하는 위치를 검색합니다. Gero3에 의해 게시 된

+0

감사합니다, 당신은 예를 게시하시기 바랍니다 수 있을까? – Niels