1. 타일맵 에셋의 기본: PPU와 슬라이싱
🔹 PPU (Pixels Per Unit)
Unity는 1 유닛 = 게임 세상 속 1미터로 간주합니다. 픽셀 아트를 사용할 때는 내가 사용하는 타일의 실제 픽셀 크기와 PPU 값을 정확히 맞춰야 그래픽이 깨지거나 줄어드는 일이 없습니다.
예시:
- 내 타일이 32x32px → PPU를 32로 설정해야 함
- 기본값인 100을 그대로 쓰면 타일이 너무 작게 나와서 맞지 않음
🔹 슬라이싱 (Slicing)
타일맵은 대부분 하나의 큰 스프라이트 시트로 구성되므로, 이를 작은 타일 단위로 분할하는 작업이 필요합니다.
설정 방법:
- Sprite Mode → Multiple로 설정
- Sprite Editor에서 → Slice → Grid By Cell Size 선택
- 셀 크기를 PPU와 같은 값으로 설정 (예: 32 x 32)
🔹 픽셀 아트에 권장되는 설정
- Filter Mode: Point (no filter) → 흐릿한 경계 방지
- Compression: None → 아트 손상 방지
2. 아트 에셋 포맷: PSD vs PNG
아트 리소스를 어떤 포맷으로 사용할지는 협업 방식과 수정 빈도에 따라 달라집니다.
🖼 PSD (포토샵 원본 파일)
- ✅ 장점: 저장(Ctrl+S)만 하면 Unity에 자동 반영, 빠른 피드백
- ❌ 단점: 파일 크기 큼 → Git 관리 어려움 → Git LFS 사용 권장
🖼 PNG (압축 이미지)
- ✅ 장점: 용량이 가벼워 Git 관리에 유리, 팀 단위 분업에 적합
- ❌ 단점: 수정 시마다 내보내기(Export) 필요
👉 개인 개발이나 아트 수정이 많은 경우 → PSD
👉 협업이나 Git 최적화가 중요한 경우 → PNG
⚠️ 핵심은 일관성!
한 프로젝트 안에서는 PSD든 PNG든 한 가지 포맷을 끝까지 유지하는 것이 중요합니다.
3. 타일 팔레트는 기능별로 분리하자
모든 타일을 하나의 팔레트에 몰아넣는 것은 비효율적이고 혼란을 초래합니다. 역할에 따라 분리하면 생산성이 크게 향상됩니다.
예시:
- Ground_Palette: 지형 타일 (플레이어가 밟는 땅)
- Structures_Palette: 벽, 건물 등 충돌 오브젝트
- Nature_Palette: 나무, 바위 등 자연 요소
- Decorations_Palette: 상호작용 가능한 장식물 (예: 통, 상자)
→ 이렇게 기능 중심으로 분리하면 관리와 수정이 훨씬 쉬워집니다.
4. 성능 최적화의 핵심: 스프라이트 아틀라스(Sprite Atlas)
Unity의 Sprite Atlas 기능은 여러 이미지를 하나의 큰 텍스처로 묶어, Draw Call을 줄여 FPS를 향상시키는 중요한 최적화 도구입니다.
✅ 언제 설정해야 하나?
→ 타일 작업이 끝난 후가 아닌, 초기 세팅 단계에서 미리 적용해야 합니다.
✅ 설정 방법:
- Assets > Create > 2D > Sprite Atlas 클릭
- 새로 생성된 아틀라스 파일을 선택
- Objects for Packing에 타일 이미지 파일 또는 폴더를 드래그해서 추가
🎯 주의: 타일 팔레트가 아닌 원본 이미지를 등록해야 합니다!
Sprite Atlas는 '이미지를 묶는 목록표'이지, 팔레트를 포함하는 컨테이너가 아닙니다.
🧠 마무리 요약
| PPU | 타일 크기(px)와 동일하게 설정 |
| 슬라이싱 | Grid By Cell Size로 PPU와 맞춤 |
| PSD vs PNG | 수정 잦으면 PSD, 협업용은 PNG |
| 팔레트 분리 | 역할 기반으로 나누면 생산성 ↑ |
| Sprite Atlas | 초기부터 등록, 원본 이미지 기준 |
✍️ 오늘의 회고
이전까지는 그냥 PNG만 쓰고 팔레트 하나에 모든 타일을 때려 넣는 식으로 작업했지만, 이번에 아틀라스와 기능별 팔레트 분할을 도입하면서 작업 효율이 눈에 띄게 향상된다는 사실을 처음 알게 되었다.
'팀스파르타 내일배움캠프' 카테고리의 다른 글
| [TIL]유니티에서 CSV와 구글 스프레드시트를 이용한 데이터 관리 첫걸음 (2025.07.01) (2) | 2025.07.02 |
|---|---|
| [TIL] 유니티 2D 타일맵 시스템 설계 및 첫 레벨 제작 (1) | 2025.07.01 |
| Unity Skill UI가 최적화되지 않은 문제 해결 (0) | 2025.06.17 |
| Unity UI Panel 개발 - 문제해결 과정 (1) | 2025.06.12 |
| 📝 [TIL] 2025-06-04 (수) - ATM UI 시스템 구현 (2) | 2025.06.04 |