○ 카메라
- 3차원 게임에서 카메라는 시점을 의미한다. 3D게임의 화면에 보이는 모든 것은 카메라를 통해서 보여지는 것이다.
3자의 입장에서 바라보면 캐릭터의 눈 위치에 카메라가 위치하여 캐릭터의 움직임에 따라 카메라의 방향과 위치가 변하는 것이다.
○ 변환 파이프 라인
- 변환파이프라인의 목적은 하나의 이미지를 만들고 게이머의 화면에 그것들을 보여주기 위한 것이다.
파이프 라인은 기하적인 데이터를 하나의 물체나 장면으로 표현하는 역할을 하며, 그것들로부터 2차원의 이미지를 만들어낸다.
○ 모델 공간(Model Space)
- 일반적으로 하나의 캐릭터를 표현할 때 모델공간이라 불리는 하나의 좌표계에서 정점의 위치를 저장한다.
- 로컬 좌표계를 이야기한다.
○ 전역공간(World Space)
- 3차원 공간상의 최종적인 원점의 좌표계
- 게이머의 화면에 보여질 모든 물체들을 위한 절대적인 레퍼런스 역항을 수행
- 게임의 오브젝트들은 월드 공간의 좌표를 가지고 있다.
☆ 월드 변환(World Transform)
- 박스와 실린더가 각각 존재한다.
- 따로 따로 모델링된 실린더와 박스는 각각의 좌표계를 갖는다. 이것이 로컬 좌표계이다.
이것들은 그냥 3차원 공간상에 배치하게 되면 원점을 공유한다.
- 2개의 물체를 따로따로 출력하기 위해서는 물체가 사용하는 로컬 좌표계가 아닌 월드 좌표계를 도입해야 한다.
- 즉 '실린더의 로컬좌표계 -> 월드 좌표계"와 "박스의 로컬 좌표계 -> 월드 좌표계"라는 2개의 변환이 필요하다.
- 일반적으로 3차원 그래픽에서 변환을 행렬을 사용한다고 해으니 로컬 좌표계->월드 좌표계는 행렬 변환이라는 것을 알 수 있다.
- 이런식으로 로컬 좌표계를 월드 좌표계로 변환하는 행렬을 변환 행렬(Transform Matrix)이라 한다.
○ 시점공간(Eye Space)
- 카메라가 바라보는 공간을 시점공간이라고 한다.
- 시점이 그 공간 좌표계의 원점이 된다.
○ 절단 공간(Clip Space)
- 어떤 물체가 보여지는 위치에 있는지, 그렇지 않은지를 판단.
- 시야 절두체를 통해서 이루어진다.
- 절단 공간상의 시야 절두체를 표현한 축정렬된 육면체의 크기는 동차 좌표계에서 표현된 4번째 좌표와 관련있다.
- 카메라가 바라보는 정육면체 안에 잘라서 넣는다.
○ 정규화된 장치 좌표계(Normalized Device Coorinates)
- 절단 공간에서 추 정렬된 육면체의 크기인 W를 1로 놓으면 정규화된 장치 좌표계를 얻을 수 있다.
- 정규화된 장치 좌표계를 기준으로 표현된(x,y,z) 좌표에서 z값을 0으로 놓아서 좌표(x,y)를 얻는다.
- 3D에서 2D로 변환하는 과정을 Z버퍼라고도 하며 스테실버퍼(그림자)에도 쓰인다.
○ 윈도우 좌표계
- 정규화된 장치 좌표계를 실제 모니터상의 x,y 좌표계로 변환해야 하는데 이를 뷰포트 변환이라고 하며 정규화된 장치
좌표계에 게이머가 설정한 뷰포트의 크기를 곱하여 실제 윈도우의 x,y좌표를 얻어 낸다.
☆ 시야 절두체
-시야 절두체란 하나의 3차원 공간상에서 카메라에 의해 보일 수 있는 것들을 담는 범위
- 피라미드 형태의 육면체로 구성되어 있다.
☆ 투영
- 투영은 3차원 장면을 2차원 모니터 화면에 그리기 위해, 장면에 표현되는 캐릭터나 물체들의 각 정점을 화면에 그려지는
2차원 좌표를 결정하기 위해 사용한다.
○ 원근 투영
- 가까운 물체는 크게, 먼 물체는 작게 그려진다. 대부분의 게임에서 사용되는 방법
○ 직교 투영
- 원금감을 갖지 않는 투영 방법으로 화면에 어떤 물체가 그려질때 원근에 의한 왜곡이 발생하지 않는 방법
- 캐드 같은 설계 분야에 적용되며, 유명한 디아블로2가 직교 투영 방법을 사용한다.
☆ 일인칭 시점 카메라
- 카메라의 위치는 위치벡터로 표현한다.
- 시선 방향은 카메라가 바라보는 방향을 나타내는 방향벡터이며
- 상향 벡터는 카메라의 위쪽 벡터이다.
○ 카메라 변환(Camera Transform)
- 카메라 변환이란 3차원 월드 좌표계를 카메라를 기준으로 한 카메라 좌표계로 변환하는 것을 의미한다.
- 월드 좌표계를 카메라를 기준점으로 한 좌표계로 변환하는 과정이 카메라 변환이다.
☆ 3인칭 시점 카메라
- 3인칭 시점 카메라는 제 3자의 입장에서 내려다보는 시점을 제공한다.
- 카메라는 게임 내의 캐릭터의 움직임과 무관하게 게이머의 명령에 따라 이동한다.