Unity 카메라의 뷰포트를 설정하여 원하는 시야를 만들자

2023. 12. 14. 11:34·Unity
반응형

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
'Unity' 카테고리의 다른 글
  • Unity에서 UnityWebRequest를 이용해 웹 접속하는 방법
  • LayerMask 활용하기
  • Camera : Orthographic과 Perspective
  • Animator State Transition : Has Exit Time
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    카페24리뷰이관
    cv2
    스크립트 실행 순서
    C#
    리뷰관리
    devlife
    learntocode
    믈레코비타멸균우유
    리뷰이관
    셀레니움
    상품 리뷰 크롤링
    긴유통기한우유
    rtsp
    리스트
    유니티
    appdevelopment
    codingcommunity
    스마트스토어리뷰
    쇼핑몰리뷰
    라떼우유
    programmerlife
    ipcamera
    스크립트 실행
    Python
    programming101
    unity
    파이썬
    카페24리뷰
    codingtips
    list
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Unity 카메라의 뷰포트를 설정하여 원하는 시야를 만들자
상단으로

티스토리툴바