🎮 주제 : 유니티 핵심 개념 총정리 - 시점, 데이터, 렌더링 및 시스템 구조
태그 : #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를 매번 호출하는 것이 왜 위험한지, 컴포넌트 구조의 내부 탐색 과정을 통해 논리적으로 파악함
- 각기 다른 렌더링 파이프라인의 존재 이유를 배우며 프로젝트 시작 단계에서의 기술 스택 선정의 중요성을 느낌
'SBS아카데미 > 유니티' 카테고리의 다른 글
| [Unity - TIL] UI 레이아웃 시스템 및 정규화 기반 이동 로직 (0) | 2025.09.17 |
|---|---|
| [과제] 기초 렌더링 개념 및 컴포넌트 기반 이동 시스템 (0) | 2025.09.17 |
| [과제] [Unity - TIL] ItemManager를 통한 무기 전환 및 다형성 기반 액션 구현 (0) | 2025.09.16 |
| [Unity - TIL] MonoBehaviour 기반 아이템 시스템 설계 및 무기 순환 전환 구현 (0) | 2025.09.15 |
| [Unity - TIL] MonoBehaviour 생명주기(Life Cycle)와 클래스 구조의 이해 (0) | 2025.09.12 |