강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

Kyuarez님의 프로필 이미지
Kyuarez

작성한 질문수

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

로고 및 타이틀 화면 처리 (TitleManager)

[Title씬 구성 관련 질문 : 프리팹]

해결된 질문

작성

·

121

0

스크린샷 2025-02-09 223948.png.webp

Title 씬 프리팹 관련 질문이 있습니다.

 

Q1. 타이틀 프리팹에 별도의 UI만 보여주는 카메라를 만든 이유가 무엇인가요? (main 카메라가 아닌 별도의 카메라를 만들고 또 그것을 프리팹에 넣은 이유)

 

Q2. Title의 경우 프리팹에 캔버스까지 있습니다. 궁금한 것은 InGame에서 각각 UI들도 프리팹으로 만들텐데, 다 이렇게 개별 UI 프리팹마다 캔버스를 만드는 것이 좋은가요? (프리팹 안에 캔버스를 넣는 이유와, 주의해야 할 사항)

* ) 제가 예전에 작업을 할 때, 큰 UI 캔버스 만들고 하위로 캔버스를 가진 UI프리팹들을 넣으니까, 가끔 프리팹 창에서 수정할 때 UI들이 화면에 보이지 않았던 경험이 있어서 질문드립니다!

 

좋은 강의 감사합니다 🙂 남은 강의도 잘 챙겨 보겠습니다!

답변 2

0

BurningCarrot님의 프로필 이미지
BurningCarrot
지식공유자

안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.

 

Q1. 타이틀 프리팹에 별도의 UI만 보여주는 카메라를 만든 이유가 무엇인가요? (main 카메라가 아닌 별도의 카메라를 만들고 또 그것을 프리팹에 넣은 이유)

어느 씬에서든 UI용 카메라와 메인 카메라(기타 게임 오브젝트 렌더링용)를 분리하는 것이 원칙입니다. 뎁스 및 각종 효과 적용 시 문제가 발생할 소지가 많기 때문입니다. 저의 예제에는 Title씬 메인 카메라에 렌더링 되는 것이 없지만, 다른 수강생 분께서 만약 Title씬에 3D 모델을 넣고 싶은 경우 메인 카메라로 렌더링하실 것입니다. 이런 부분을 고려해 타이틀씬에서도 메인 카메라를 남겨두고 별도의 UI 카메라를 만든 것입니다.

 

Q2. Title의 경우 프리팹에 캔버스까지 있습니다. 궁금한 것은 InGame에서 각각 UI들도 프리팹으로 만들텐데, 다 이렇게 개별 UI 프리팹마다 캔버스를 만드는 것이 좋은가요? (프리팹 안에 캔버스를 넣는 이유와, 주의해야 할 사항)

Title프리팹의 경우 UI요소들을 렌더링하기 때문에 캔버스 컴포넌트가 존재합니다. 그 외에도 UIManager, LobbyUIController, InGameController 프리팹 등도 UI요소들을 렌더링하기 위해 캔버스 컴포넌트가 존재합니다. 그러나 저희가 만들게 되는 설정UI, 인벤토리UI 등의 프리팹은 캔버스 컴포넌트가 없습니다. 필요할 때마다 로드해서 UIManager의 캔버스 하위에 위치시켜 그 캔버스를 통해 렌더링하는 원리입니다. 때문에 캔버스 컴포넌트 하위에 또 다른 캔버스 컴포넌트를 배치하지는 않습니다. 수강생 분께서 우려하시는 상황은 발생하지 않을 것으로 보입니다.

Kyuarez님의 프로필 이미지
Kyuarez
질문자

빠르고 정확한 답변 감사합니다 🙂

0

안녕하세요, 인프런 AI 인턴입니다. Kyuarez님.

Title 씬 구성 및 프리팹 사용과 관련하여 질문해 주셨네요. Unity에서 UI 작업을 할 때 주의해야 할 점과 관련된 두 가지 주요 질문을 다루겠습니다.

Q1: 별도의 UI 전용 카메라를 사용하는 이유

타이틀 프리팹에 별도의 UI만 보여주는 카메라를 사용하는 이유는 주로 다음과 같습니다:

  • 렌더링 최적화: UI 요소들은 메인 3D 카메라가 아닌 별도의 카메라를 통해 렌더링함으로써 그래픽적으로 더 깔끔하고 최적화된 결과를 얻을 수 있습니다.
  • 분리된 레이어 관리: 게임의 주 화면과 UI 화면을 분리하여 관리함으로써, 독립적으로 설정 변경이 가능하게 합니다. 특히 UI가 복잡하거나 다양한 화면 전환이 있을 때 유용합니다.
  • UI 요소의 투명도 및 효과 적용 편리: UI 전용 카메라를 사용하면 UI 요소에만 특정 효과(예: 블러, 투명도)를 적용할 수 있어 디자인의 유연성을 제공합니다.

Q2: 개별 UI 프리팹마다 캔버스를 가지는 것이 좋은가?

각 UI 프리팹마다 캔버스를 두는 것에 대한 장단점은 다음과 같습니다:

  • 장점:

    • 독립성: 각 UI 프리팹이 자신만의 캔버스를 가지고 있다면, 유지보수가 용이하고 개별적인 레이아웃 관리가 쉬워집니다.
    • 재사용성: UI 요소들이 독립적이기 때문에 타 프로젝트나 다른 씬에서 쉽게 재사용 가능합니다.
  • 단점 및 주의사항:

    • 성능 문제: 캔버스는 변경될 때마다 전체적인 재계산이 필요하므로 너무 많은 캔버스 사용은 퍼포먼스에 영향을 줄 수 있습니다.
    • 중첩 캔버스 관리의 복잡성: 부모 캔버스에 의해 자식 캔버스의 렌더링이나 정렬 UI 구조가 필수적으로 중첩되는 것을 감안해야 합니다.

과거에 프리팹 창에서 UI가 보이지 않았던 문제는 Canvas의 Render Mode 설정(Mostly Screen Space - Overlay, Camera, or World)이 맞지 않거나, 잘못된 정렬 순서로 인해 발생할 수 있습니다. 이런 경우, 해당 설정을 조정하여 UI 요소들을 확인하세요.

도움이 될 수 있는 링크:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Kyuarez님의 프로필 이미지
Kyuarez

작성한 질문수

질문하기