본문 바로가기
SBS아카데미/유니티

[Unity - TIL] 유니티 핵심 개념 총정리 - 시점, 데이터, 렌더링 및 시스템 구조

by musukie 2025. 9. 16.

🎮 주제 : 유니티 핵심 개념 총정리 - 시점, 데이터, 렌더링 및 시스템 구조

태그 : #Unity #Isometric #Rendering #DrawCall #ComponentPattern #Optimization


📌 학습 요약

  • 아이소매트릭(Isometric) : 3D 공간을 원근감 없이 표현하여 전략적인 시야를 제공하는 방식이며, 유니티의 Orthographic 카메라 모드를 통해 구현함
  • 메시 데이터(Mesh Data) : 3D 물체의 형태를 정의하는 뼈대로서 점(Vertex)과 면(Polygon)의 집합이며, MeshFilter와 MeshRenderer를 통해 화면에 시각화됨
  • 렌더링 파이프라인 : 프로젝트의 목적에 따라 성능 중심의 URP와 고퀄리티 실사 중심의 HDRP 중 적절한 경로를 선택해야 함을 이해
  • Draw Call과 성능 최적화 : CPU가 GPU에게 그리기 명령을 내리는 횟수인 Draw Call을 줄이는 것이 최적화의 핵심이며, 이를 위해 배칭(Batching)과 오클루전 컬링 등을 활용함
  • 컴포넌트 패턴(Component Pattern) : 유니티의 기본 아키텍처로, 상속이 아닌 독립적인 기능 단위(Component)를 조립하여 객체를 완성하는 설계 방식 습득

🛠 주요 개념 및 구조 상세

1. 3D 모델의 구성 : 버텍스(Vertex)와 폴리곤(Polygon)

  • 버텍스 : 3D 공간상의 좌표점 (x, y, z)
  • 폴리곤 : 버텍스들을 연결하여 만든 면(주로 삼각형)
  • 메시(Mesh) : 이러한 데이터들이 모여 형성된 전체 구조

2. 렌더링 병목의 주범 : Draw Call

  • CPU의 역할 : 로직 계산 및 GPU에게 "그려줘!"라고 명령(Draw Call) 전달
  • GPU의 역할 : 전달받은 명령을 바탕으로 픽셀과 셰이더를 고속으로 계산
  • 최적화 : 머티리얼을 통합하거나 배칭(Batching)을 통해 이 명령 횟수를 최소화하는 것이 중요

✅ 주요 문법 및 용어 정리

용어 특징 활용 및 주의사항

Orthographic 원근감이 제거된 투영 방식 아이소매트릭 시점 구현 시 카메라 설정 필수
Quad vs Plane 사각형 메쉬의 종류 간단한 이펙트는 Quad, 넓은 지형은 Plane 사용
GetComponent<T> 런타임 컴포넌트 탐색 메서드 성능을 위해 Update가 아닌 Awake/Start에서 캐싱
URP / HDRP 유니티 렌더링 파이프라인 플랫폼(모바일/PC)과 목표 그래픽 수준에 따라 선택

💡 핵심 인사이트 : "상속보다 조합(Composition)"

  • 유니티의 모든 GameObject는 이름만 가진 빈 껍데기입니다. 여기에 Transform, Renderer, Script 등의 컴포넌트를 어떻게 조합하느냐에 따라 플레이어가 될 수도, 장애물이 될 수도 있음

✨ 느낀 점

  • 유니티의 시각적 요소들이 결국 점과 면이라는 데이터 단위(Mesh Data)에서 시작된다는 점을 명확히 이해함
  • 게임이 끊기는 원인이 단순한 그래픽 사양 문제가 아니라, CPU와 GPU 사이의 대화 횟수(Draw Call) 때문일 수 있다는 최적화의 관점을 얻음
  • GetComponent를 매번 호출하는 것이 왜 위험한지, 컴포넌트 구조의 내부 탐색 과정을 통해 논리적으로 파악함
  • 각기 다른 렌더링 파이프라인의 존재 이유를 배우며 프로젝트 시작 단계에서의 기술 스택 선정의 중요성을 느낌