# 메시(Mesh)란?
유니티에서 3D 모델은 기본적으로 메시이다
메시는 3D 객체의 모양을 정의하는 데이터 덩어리로
아래의 요소들로 구성된다
- 정점 (Vertices)
3D 공간에서 점들의 위치 (X, Y, Z 좌표)
- 삼각형 (Triangles/Indices)
정점들을 연결해서 만들어지는 가장 작은 기본 단위로
이 삼각형들이 모여 모델의 형태를 만든다
- 노멀 (Normals)
각 정점이나 면이 어느 방향을 바라보고 있는지 나타내는 정보로
빛 계산에 사용된다
- UV 좌표 (UV Coordinates)
모델 표면에 텍스처를 입힐 때,
텍스처의 어느 부분이 모델의 어느 정점에 매핑될지를 나타내는 2D 좌표
- 탄젠트 (Tangents)
노멀 맵(Normal Map) 같은 특수 텍스처를 사용할 때 필요한 정보이다
이런 정보들이 많을수록 모델의 디테일은 높아지지만,
그만큼 파일 크기와 메모리 사용량이 늘어난다
# 메시 압축(Mesh Compression)이란?
메시 압축은 말 그대로 3D 모델의 메시 데이터를 압축해
파일 크기와 메모리 사용량을 줄이는 기술이다
이 과정에서 메시 데이터의 일부 정밀도(precision)가 희생될 수 있지만,
시각적으로 큰 차이를 느끼지 못하는 수준에서 용량을 크게 절감할 수 있다
압축된 메시 데이터는 게임 빌드 시 디스크에 저장되는 용량을 줄여주고,
게임 실행 시 메모리에 로드되는 데이터량도 줄여주기 때문에
로딩 시간 단축과 런타임 메모리 절약에 기여한다
# 유니티의 메시 압축 사용법
유니티는 메시 압축을 매우 간단하게 적용할 수 있는 옵션을 제공한다
1. 모델 임포트 설정 열기
프로젝트 뷰(Project view)에서 압축하려는 3D 모델 파일(.fbx, .obj 등)을 선택한다
인스펙터(Inspector) 뷰에 모델 임포트 설정이 나타나게 된다
여기서 Model 탭으로 이동하면 모델 임포트 설정을 열 수 있다
2. Mesh Compression 옵션 설정
Mesh Compression 드롭다운 메뉴에
기본값은 보통 Off나 Low로 설정되어 있다
선택할 수 있는 옵션은 아래와 같다
Off: 압축하지 않음. 원본 메시 데이터 그대로 사용. (최고 정밀도, 최대 용량)
Low: 낮은 수준으로 압축. 약간의 정밀도 손실이 있을 수 있지만, 일반적으로 눈에 띄지 않음
Medium: 중간 수준으로 압축. 용량 절감 효과가 더 크지만, 정밀도 손실도 좀 더 있음
High: 높은 수준으로 압축. 용량 절감 효과가 가장 크지만, 모델의 외형이 눈에 띄게 떨어짐
원하는 압축 레벨을 선택한 후, 인스펙터 하단의 Apply 버튼으로 적용 가능하다
# 메시 압축의 장점과 고려 사항
메시 압축은 눈에 잘 띄지 않는 디테일의 희생으로 큰 용량 이득을
얻을 수 있는 가성비 좋은 최적화 기술이다
특히 배경 오브젝트나 원거리에 배치되는 오브젝트처럼
정밀도가 크게 중요하지 않은 모델에는 반드시 적용하는 것이 좋다
'게임 엔진 - 유니티 > [최적화] 유니티' 카테고리의 다른 글
| [유니티 최적화] Garbage Collector (0) | 2025.06.21 |
|---|---|
| [유니티 최적화] 배칭 (3) | 2025.06.21 |
| [유니티 최적화] IL2CPP (0) | 2025.06.21 |