유니티 강좌_#08_카메라 사용하기
오늘은 유니티에서 카메라를 다루는 방법을 알아보도록 하겠습니다. 먼저 간단하게 큐브와 플레인을 추가해보겠습니다.
큐브의 왼쪽 위에 있는 카메라 모양 아이콘을 클릭하면 카메라의 위치를 조정할 수 있습니다. 오른쪽 하단에는 큐브가 보고 있는 시점을 작게 표시해주는 화면이 있는데요, 이 화면은 게임뷰의 화면과 동일합니다. 카메라 아이콘의 앞으로 생기는 하얀색 줄들이 카메라가 볼 방향입니다.
카메라 컴포넌트
이제 카메라 컴포넌트를 자세히 다루어보도록 하겠습니다.
-Transform : 카메라의 위치, 회전, 크기 등을 자세하게 조정합니다.
-ClearFlags : 배경화면을 정합니다.
--Skybox : 스카이박스를 사용합니다. *추후에 더 자세히 다루도록 하겠습니다.
--SolidCoor : ClearFlags의 밑에 있는 Background의 색을 배경화면으로 정합니다.
--Depthonly : 배경이 검은색으로 됩니다. 우선 순위에 따라서 오브젝트를 보여주는 기능도 합니다.
--Don'tClear : 배경은 검은색으로 되고 잔상이 남습니다. 즉 한 프레임마다 그려진 그림이 남아 있는 겁니다.
-CullingMask : 특정한 레이어를 가지고 있는 오브젝트만 보여줍니다. 아래 사진의 레이어들중에서 게임뷰에 보여지고 싶은 레이어들만 선택하면 그 레이어를 가진 오브젝트는 Scene뷰에서는 보이지만 게임뷰에서는 보이지 않습니다.
-Projection : 원근감을 주는 기능을 가지고 있습니다.
--Perspective : 원근감을 줍니다.(기본값)
--Orthographic : 원근감이 사라지게 됩니다.
-FieldOfView : 시야각을 설정해줍니다.
-PhysicalCamera : 실제 카메라와 비슷하게 만들어 줍니다.
--SensorType : 카메라의 종류를 설정합니다. 아래사진은 SensorType을 70mm로 했을때의 사진입니다.
-ClippingPlanes : 특정한 거리에 있는 오브젝트만 보이고 그 거리에 해당하지 않으면 잘라내서 보여줍니다.
--Near : 잘라낼 최소한의 거리를 설정합니다.
--Far : 잘라낼 최대 거리를 설정합니다.
-ViewportRect : 화면의 크기를 정합니다. 아래사진은 똑같은 카메라를 두 개만들고 적당히 두번째 카메라의 크기를 정한 모습입니다. 이 기능을 이용하여 미니맵, 차량 백미러 등을 구현 할 수 있습니다. 이 상태에서 ClearFlags의 Depth only를 클릭하면 2번 카메라의 주변환경이 사라지고 그래픽만 1번 카메라에 적용이 됩니다.
-Depth : 카메라의 순서를 정합니다. 1번 카메라가 1이고 2번 카메라가 -1이면 1번 카메가 앞에 나오고 2번 카메라가 뒤에 나오게 됩니다.
-OcclusionCulling : 카메라가 오브젝트를 보고 있지 않을때 오브젝트를 보이지 않게 합니다.
-AllowHDR : 밝은 것을 더 밝게 보여주고 어두운것을 더 어둡게 보여줍니다.
-AllowMSAA : 계단 현상을 제거 해줍니다. 깨진 픽셀을 원상 복기 해줍니다.
-AllowDynamicResolution : gpu에 부담을 줄여줍니다. 성능에 따라서 해상도가 작아 지게 됩니다.
-TargetDisplay : 어떤 외부장치에 화면을 렌더러(그림을 그려줄지)해줄지 정해줍니다. 범위 1~8