본문 바로가기

취미로 하는 게임코딩_gameCodingAsHobby/유니티 구현 정리_Implement Summary

유니티 각개격파_016_카메라(Camera)

게임 오브젝트가 2차원 평면(x , y)에서 움직이든, 3차원 (x, y, z)에서 움직이든 이것을 보여주는 것은 카메라가 담당한다.

 

즉, 실제 게임에서 일어나는 장면을 보여주는 것이 카메라이다.

 

유니티에서는 Scene(씬) 탭에서는 게임오브젝트를 편집하고, Game(게임) 탭에서는 카메라에 정해진 위치와 각도에 따라 Scene에서 실제로 눈에 보이는 부분을 보여준다.

 

카메라로 보는 부분에는 Width(넓이), Height(높이), Depth(깊이)가 있다.

Depth는 얼마나 멀리(far) 볼 수 있는가를 나타낸다.

카메라가 보는 전체 공간을 View Volume(뷰 볼륨)이라고 한다.

 

카메라가 보는 뷰볼륨의 형태는 2가지가 있다.

 

orthographic (직교)

perspective (원근)

 

카메라의 Projection(투사도, 투영도)에서 변경할 수 있다.

 

기즈모를 왼쪽 또는 오른쪽으로 바꿔보면 두 차이를 쉽게 알 수 있다.

 

간단히 말하면 orthographic (직교) 투영은 게임오브젝트의 모든 점을 화면에 평행하게 투영하고, perspective (원근) 투영은 한 점(카메라 또는 눈)으로 모이도록 투영한다.

 

카메라 속성에서 Field of View( FOV ; 시야)를 수정하면 더 많은 부분을 보거나 좁게 보거나 할 수 있다.

 

orthographic (직교) 투영에서 시야는 Size 값으로 결정한다.

 

카메라 뷰볼륨

카메라의 뷰볼륨에 대해 좀 더 알아본다.

2차원 공간의 경우 아래와 같은 카메라 View Volume(뷰 볼륨)을 가진다.

 

만약 게임 오브젝트가 카메라의 View Volume(뷰 볼륨) 안에 없으면 나타나지 않을 것이다.

위 그림에서 볼 수 있듯이 뷰볼륨은 가로,세로,깊이를 가져서 사각 기둥 모양이다.

녹색 원 모양의 객체는 이 뷰볼륨 안에 들어있기 때문에 카메라에 나타난다.

 

카메라 바로 앞에 사각형 판이 있고 멀리 또 하나의 사각형 판이 보인다.

카메라 앞에 보이는 사각형 판이 뷰볼륨이 시작되는 부분이며 Near Clipping plane (가까운 잘린 판)이라고 부른다.

뷰볼륨의 깊이의 끝을 나타내는 오른쪽 끝 부분은 Far Clipping plane (멀리있는 잘린 판)이라고 부른다.

 

이 두 Clipping plane 사이에 눈에 보이지 않지만 Screen(스크린) plane이 있다.

위 그림으로 보면 다음과 같은 순서로 나열되어 있다고 생각하면 된다.

 

카메라 ------Near clipping plane------녹색 원--------Screen-------Far clipping plane

 

위와 같은 orthographic (직교) 투영인 경우 원 모양의 오브젝트가 Screen 판에 직각으로 투영되고 그것이 카메라 화면에 나타나는 것이다.

 

투영하는 방법을 perspective (원근) 투영법으로 하면 Near clipping plane이 Screen역할을 한다.

위 그림에서 직교와 비교해서 원 크기가 더 커 보이는 이유이기도 하다.

결국 원근 투영인 경우 게임오브젝트가 카메라 화면에 모이기 때문에 입체인 경우 원근이 구별되어 나타난다.

 

다른 속성들은 기회가 생길 때 마다 알아보기로 한다.

 

끝.

Wraven...