텍스처 아틀라스(Texture Atlas)
텍스처 아틀라스(Texture Atlas)는 여러 텍스처를 하나의 이미지로 결합해 객체가 재질을 공유하게 하여, 텍스처 바인딩을 줄이고 게임과 실시간 애플리케이션에서 드로우콜을 줄이는 배칭을 가능하게 합니다.
텍스처 아틀라스(Texture Atlas)란 무엇인가요?
텍스처 아틀라스(Texture Atlas)(2D의 경우 스프라이트 시트라고도 함)는 여러 작은 텍스처를 함께 패킹한 하나의 큰 텍스처 이미지입니다. 객체마다 별도의 텍스처 파일을 로드하는 대신 GPU가 하나의 아틀라스를 로드하고 UV 좌표를 사용해 각 메시에 맞는 영역을 샘플링합니다.
텍스처 아틀라스를 왜 사용하나요?
드로우콜은 재질과 렌더 상태로 묶이므로, 서로 다른 텍스처를 쓰는 객체는 보통 함께 그려질 수 없습니다. 드로우콜이 많을수록 프레임 레이트가 낮아집니다. 아틀라스는 많은 객체가 재질을 공유해 배칭될 수 있게 합니다:
- 드로우콜 감소: 여러 객체가 하나의 재질을 공유하고 더 적은 패스로 묶임
- 텍스처 바인딩 감소: GPU가 텍스처 상태를 덜 자주 전환
- 배칭 가능: GPU가 많은 객체를 한 패스로 렌더링
- 로드 시간 개선: 파일 요청이 줄어듦
텍스처 아틀라스를 언제 사용하나요
| 시나리오 | 아틀라스의 이점 |
|---|---|
| 모바일 게임 | 필수(제한된 드로우콜 예산) |
| 오픈월드 씬 | 재질을 공유하는 많은 소품 |
| UI/HUD 요소 | 모든 아이콘을 한 시트에 |
| 복셀/블록 게임 | 모든 블록 텍스처를 하나의 아틀라스에 |
| 웹 3D (Three.js) | WebGL 상태 변경 최소화 |
아틀라싱은 실시간 씬을 빠르게 유지하기 위해 가벼운 폴리곤 수 및 완전한 PBR 재질 세트와 자연스럽게 짝을 이룹니다. 게임 엔진 워크플로는 우리의 게임 에셋을 위한 Unity 텍스처 베이킹 가이드를 참고하세요.
Sloyd의 텍스처 아틀라스
하나의 씬에서 사용하기 위해 Sloyd에서 여러 모델을 내보낼 때 그 텍스처들이 효율적으로 패킹될 수 있습니다. Sloyd의 GLB 내보내기는 Unity와 Unreal의 게임 엔진 아틀라스 워크플로와 잘 작동하는 최적화된 텍스처 레이아웃을 사용합니다.