---
title: "용량은 그대로인데 화질만 깎였다면"
description: "이중 압축은 원본과 아틀라스 양쪽에서 압축할 때 생깁니다. 최종 용량은 같고 품질만 두 번 깎입니다. 그리고 에러가 안 납니다."
author: "유니얼"
pubDate: 2026-09-09
category: "game-dev/unity/rendering"
tags: ["Unity", "최적화", "텍스처"]
canonical: https://blog.unialgames.com/posts/unity-atlas-pitfalls/
---
아틀라스로 묶었는데 결과가 이상합니다.

- 용량은 그대로인데 스프라이트가 뭉개져 보인다
- 한 장으로 묶었는데 Frame Debugger 에서는 여전히 여러 배치로 나뉜다
- 메모리를 아끼려고 묶었는데 오히려 늘었다

셋 다 흔하고, 셋 다 **에러가 안 납니다.** 하나씩 봅니다.

## 이중 압축

제일 자주 걸리고 제일 안 보이는 것입니다.

```text
원본 스프라이트를 ASTC 로 압축
      ↓
그 결과를 아틀라스에 패킹
      ↓
아틀라스를 다시 ASTC 로 압축
```

압축은 되돌릴 수 없는 연산입니다. 한 번 깎인 화질은 두 번째 압축에서 복구되지 않고,
거기서 또 깎입니다. 그런데 **최종 파일 크기는 한 번 압축한 것과 같습니다.**
ASTC 블록 크기가 결과 크기를 정하기 때문입니다.

즉 **잃기만 하고 얻는 게 없습니다.**

고치는 방법은 한 줄입니다. **압축 지점을 아틀라스 한 곳으로 통일합니다.**

```text
원본 스프라이트 (Texture Importer)
  Compression:        None      아틀라스에서 압축할 것이므로
  Read/Write:         Disabled  켜면 메모리 두 배
  Generate Mip Maps:  Off       픽셀 퍼펙트 2D 라면

Sprite Atlas (Platform Settings > Android)
  Format:             ASTC 6x6  여기서 한 번만
  Compressor Quality: Normal
  Tight Packing:      On
  Max Texture Size:   2048
```

원본을 `None` 으로 두면 프로젝트 폴더가 무거워지지 않을까 걱정할 수 있는데,
**원본은 빌드에 안 들어갑니다.** 아틀라스에 이미 들어가 있으니까요.
`Library` 캐시만 조금 커집니다.

**예외가 하나 있습니다.** 16x16 같은 극소 도트 그래픽은 픽셀 하나하나가 의미를 가져서
블록 압축이 그림을 망가뜨립니다. 이런 것은 의도적으로 압축을 끄고 갑니다.
그 외에는 압축이 기본입니다.

## 페이지 분할

아틀라스가 최대 크기를 넘으면 Unity 가 **자동으로 여러 장으로 쪼갭니다.**
경고 없이 조용히 합니다.

그러면 물리적 텍스처가 다시 여러 개가 되므로 배치도 다시 나뉩니다.
"분명 한 장으로 묶었는데 드로우 콜이 안 줄었다" 의 원인이 대개 이것입니다.

증상이 얄궂은 것은, **처음에는 잘 되다가 나중에 생긴다**는 점입니다.
스프라이트를 몇 장 추가했더니 어느 순간 한계를 넘고, 그때부터 쪼개집니다.
추가한 사람은 아틀라스를 건드린 적이 없으니 원인을 찾기 어렵습니다.

확인은 아틀라스 에셋 인스펙터의 미리보기에서 합니다.
페이지가 여러 장이면 거기 나옵니다. 넘쳤으면 그루핑을 다시 나눕니다.

## 메모리가 오히려 늘었다

앞의 로딩 시점 이야기가 여기서 돌아옵니다.
아틀라스는 **일부만 올릴 수 없습니다.** 스프라이트 하나가 필요하면 한 장이 통째로 올라옵니다.

기능별로 묶어 두면 이런 일이 생깁니다. UI 아이콘 하나 띄우려고
같은 아틀라스에 있는 보스 파츠까지 메모리에 올라옵니다.
개별 텍스처였다면 필요한 것만 올라왔을 텐데, 묶어서 더 나빠진 것입니다.

이건 설정으로 못 고칩니다. **그루핑을 다시 하는 수밖에 없습니다.**

## Sprite Atlas Analyzer

Unity 6.3 부터 이 셋을 정적으로 찾아 주는 도구가 있습니다.
게임을 돌릴 필요가 없어서 CI 에 걸어 둘 수 있습니다.

걸어 두는 편이 좋습니다. **세 가지 다 한 번 잡아도 다시 생기는 종류** 입니다.
사람이 기억해서 막을 수 있는 게 아니고, 마지막에 확인하면 이미 여기저기 퍼진 뒤입니다.

## 확인은 실기에서

메모리가 진짜 줄었는지는 Memory Profiler 로 봅니다.
**에디터에 붙인 스냅샷은 믿으면 안 됩니다.**

에디터는 아틀라스에 들어간 개별 텍스처를 따로 들고 있는 경우가 있고,
플랫폼 압축 설정도 빌드와 다르게 적용됩니다.
그래서 에디터에서는 "묶었는데 안 줄었다" 가 자주 나옵니다.

그리고 비교하려면 **전후 둘 다 실기에서** 떠야 합니다.
전은 에디터, 후는 실기로 재면 아무 말도 못 합니다.