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
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (672) N
      • 상품 추천 (178) N
      • MongoDB (4)
      • 하드웨어 (11)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바