2017-12-10 10 views
1

카메라의 회전을 기준으로 벡터를 만들려고합니다. 예를 들어 카메라가 똑바로 보였을 경우 < 0, 0, - 1> (주의 : 축은 OpenGL을 기반으로 함) 카메라가 오른쪽을보고 약간 위로 올라가면 < 0.5, 0.5, 0>자바 - 카메라의 회전을 기반으로 3D 벡터를 만드는 방법

나는 joml이 lwjgl 라이브러리를 사용하므로 사용 가능합니다. 그러나 x, y, z 플로트를 만드는 것이 더 쉽다면 괜찮습니다.

참고 : 카메라는 z 회전이 필요하지 않으므로 카메라는 단지 x 및 y 회전을 사용하며 순전히 벡터를 기반으로 벡터를 구성하고 z 회전을 0으로 만들지 만 작동하지 않습니다.

평신도의 용어로는 플레이어의 위치에 카메라를 추가하면 벡터가 향하는 방향으로 움직이는 벡터가 필요합니다.

편집 : joml에서 올바른 위치는 다음과 같습니다

x=m02 
y=m12 
z=m22 

답변

3

귀하의 진행 방향은 당신의 카메라 행렬의 z 축 (3 열)이어야한다. API에 따라 "카메라 매트릭스"를 사용하는 경우 역수 일 수 있습니다.이 경우 3 행을 사용하십시오.

관련 문제