Unity 카메라는 게임의 시각을 담당하는 중요한 요소입니다. 카메라의 뷰포트 설정을 통해 원하는 시야를 만들 수 있습니다.
이 글에서는 Unity 카메라의 뷰포트 설정에 대해 알아보겠습니다.
뷰포트 영역
뷰포트 영역은 카메라가 렌더링하는 영역을 설정하는 옵션입니다. 값은 0과 1 사이의 비율로 표현되며, (0, 0, 1, 1)은 전체 화면을 의미합니다.
뷰포트 영역을 사용하여 카메라의 특정 부분만을 표시하거나, 여러 개의 카메라를 사용하여 분할 화면 효과를 만들 수 있습니다.
예를 들어, 다음과 같이 뷰포트 영역을 설정하면 카메라는 화면의 중앙 25%만을 표시합니다.
[SerializeField] private RectTransform m_ViewportRect;
void OnEnable()
{
m_ViewportRect.SetRect(0.25f, 0.25f, 0.75f, 0.75f);
}
깊이
깊이는 카메라의 렌더링 우선순위를 설정하는 옵션입니다. 값이 작을수록 먼저 렌더링되며, 값이 같은 경우에는 카메라의 Inspector에서의 순서에 따라 결정됩니다.
깊이를 사용하여 카메라의 렌더링 순서를 제어할 수 있습니다. 예를 들어, 다음과 같이 깊이를 설정하면 카메라2가 카메라1보다 먼저 렌더링됩니다.
[SerializeField] private int m_Depth;
void OnEnable()
{
m_Depth = 1;
}
클리어 플래그
클리어 플래그는 카메라가 렌더링하기 전에 프레임 버퍼를 어떻게 지울지 설정하는 옵션입니다.
- Background: 카메라의 배경색으로 클리어
- Solid Color: 지정한 색상으로 클리어
- Depth Only: Depth Buffer만 지우고 Color Buffer는 그대로 유지
- None: 클리어하지 않음
클리어 플래그를 사용하여 카메라의 배경을 설정할 수 있습니다. 예를 들어, 다음과 같이 클리어 플래그를 설정하면 카메라의 배경이 검은색으로 설정됩니다.
[SerializeField] private CameraClearFlags m_ClearFlags;
void OnEnable()
{
m_ClearFlags = CameraClearFlags.DepthOnly;
}
배경색
배경색은 카메라의 배경색을 설정하는 옵션입니다. Clear Flags가 Background로 설정되어 있을 때, 이 배경색으로 클리어됩니다.
배경색을 사용하여 카메라의 배경을 원하는 색으로 설정할 수 있습니다. 예를 들어, 다음과 같이 배경색을 설정하면 카메라의 배경이 빨간색으로 설정됩니다.
[SerializeField] private Color m_BackgroundColor;
void OnEnable()
{
m_BackgroundColor = Color.red;
}
클링 마스크
클링 마스크는 카메라가 렌더링할 레이어를 설정하는 옵션입니다. 레이어별로 렌더링 여부를 결정할 수 있으며, 필요한 객체만을 선택하여 렌더링할 수 있습니다.
클링 마스크를 사용하여 카메라의 시야를 제어할 수 있습니다. 예를 들어, 다음과 같이 클링 마스크를 설정하면 카메라는 레이어 1과 2에 속한 객체만을 렌더링합니다.
[SerializeField] private LayerMask m_CullingMask;
void OnEnable()
{
m_CullingMask = LayerMask.GetMask("Layer1, Layer2");
}
마치며
Unity 카메라의 뷰포트 설정을 통해 원하는 시야를 만들 수 있습니다.
'Unity' 카테고리의 다른 글
Unity에서 UnityWebRequest를 이용해 웹 접속하는 방법 (0) | 2024.02.16 |
---|---|
LayerMask 활용하기 (0) | 2024.02.13 |
Camera : Orthographic과 Perspective (0) | 2023.12.13 |
Animator State Transition : Has Exit Time (0) | 2023.12.12 |
월드 공간 지점을 스크린상의 지점으로 변환 : WorldToScreenPoint (0) | 2023.12.08 |