인프런 커뮤니티 질문&답변

qkrrudgh20님의 프로필 이미지

작성한 질문수

게임 엔진을 지탱하는 게임 수학

3차원 공간

공간의 카메라 시스템에 대해

22.05.24 09:12 작성

·

287

0

3차원 월드 공간 원점에 물체를 두고, 이 물체도 오른손 좌표계를 따른다는 것까지 이해가 갔습니다.

 

Q1. 카메라도 하나의 물체라고 생각하면 될까요?

 

어찌 되었든, 물체의 양의 z축 방향에다가 카메라를 설치합니다.

 

물체와 카메라의 z축 방향은 아직 동일한 상태인데, 물체의 정면을 바라보기 위해서 

 

카메라를 180도 무작정 회전시킵니다. 근데, 이러면 카메라의 X축 방향과 물체의 X축 방향이 서로 정반대라

 

Q2. 카메라를 통해 물체를 바라보는 사람 입장에선, X축에 대해서 반전되어 보인다고 이해하면 될까요?

 

그렇기 때문에, 일단 다시 Y축에 대해 카메라를 180도 회전 시킵니다.

("다시"라고 적은 이유는 앞에 무작정 180도 회전 시킨것도 Y축에 대해 180도 회전했던것이라고 생각되기 때문입니다.)

 

Q3. 그렇게해서 보는 방향은 Z축의 음의 방향(즉 카메라의 뒤로)으로 물체를 바라보는 단점이 있지만,

장점은 X Y축이 우리에게 익숙한 데카르트 좌표계로 보여지게 된다. 라고 이해하면 될까요?

답변 1

1

이득우님의 프로필 이미지
이득우
지식공유자

2022. 05. 24. 10:06

네 잘 이해하셨습니다~ 

카메라는 트랜스폼을 가지고 있는 즉 고유한 로컬 공간을 가지는 하나의 물체(게임오브젝트)입니다. 

카메라 트랜스폼의 지정은 월드 공간을 중심으로 개발자가 직접 하겠지만, 렌더링 과정에서 화면을 그려낼 때에는 카메라에 설정된 트랜스폼을 중심으로 월드 내 모든 물체의 트랜스폼을 재계산해주어야 합니다. 

이 때 카메라가 만드는 평면의 좌표계를 우리에게 익숙한 오른쪽 X축, 위쪽 Y축을 사용하면 직관적이기 때문에  일부러 Z축이 뒤를 향하는 공간을 설계하는 것이지요. 

( 만일 왼손좌표계로 뷰 공간을 구축한다면 Z축은 앞을 향하게 됩니다.  저는 OpenGL 기준으로 보편적인 오른손 좌표계로 설명했는데 꼭 그래야 할 이유는 없습니다.  )

qkrrudgh20님의 프로필 이미지
qkrrudgh20
질문자

2022. 05. 24. 16:04

아하.. 감사합니다..! 물체가 그럼 카메라에서 멀리 달아날수록 -z 값을 가지게 된다는 단점?아닌 단점정도만 있군요..!

 

왼손 좌표계로 뷰 공간을 구축한다면, 카메라에서 멀리 달아날수록 z 값이 커지겠네요..!

 

무사히 완주 마치고 질문글 하나만 더 적어보겠습니다ㅎㅎ.. 항상 감사합니다!