1교시의 도착점
지금은 제작보다 구조를 정확히 보는 시간입니다. 3교시 실습에서 어떤 설정을 왜 확인해야 하는지 말로 설명할 수 있게 합니다.
- 01
Texture, Sprite Sheet, Sprite, Animation Clip을 서로 다른 말로 설명합니다.
- 02
Sprite Mode, Pixels Per Unit, Filter Mode가 화면에 미치는 영향을 예측합니다.
- 03
규칙적인 시트는 Grid로 Slicing하고 모든 프레임의 Pivot을 맞추는 이유를 설명합니다.
- 04
프레임 수, Samples, Loop Time으로 한 바퀴의 재생 시간을 계산합니다.
60분의 설명 흐름
완성된 걷기 장면을 먼저 본 뒤, 결과를 만든 에셋과 설정을 역순으로 분해합니다.
그림을 재생 가능한 데이터로 바꾸기
교수자 설명 중심
- 5주차 결과와 연결
움직이는 Player가 멈춰 보이는 이유와, 물리 이동과 시각적 움직임의 차이를 묻습니다.
- 네 가지 에셋 구분
Texture → Sprite Sheet → 개별 Sprite → Animation Clip의 변환 관계를 설명합니다.
- Import Settings
Sprite Mode, Pixels Per Unit, Filter Mode와 Compression을 비교합니다.
- Slicing과 Pivot
Grid와 Automatic의 차이, 일정한 Cell Size와 발 중심 Pivot의 역할을 시연합니다.
- Animation Clip
프레임 순서, Samples와 Loop Time을 바꾸며 속도와 반복을 관찰합니다.
- 오류 진단과 회수
흐림, 크기 차이, 떨림과 멈춤의 원인을 한 단계씩 말로 찾습니다.
이동과 애니메이션은 서로 다른 변화입니다
Rigidbody2D는 Player의 세계 위치를 바꾸고, Sprite Animation은 같은 위치에서 보이는 그림을 바꿉니다. 둘을 분리해야 충돌과 표현을 각각 안전하게 조절할 수 있습니다.
세계에서 어디에 있는가
Rigidbody2D.linearVelocity와 Collider2D가 위치 변화와 충돌을 담당합니다.
그 위치에서 어떻게 보이는가
SpriteRenderer와 Animator가 현재 상태에 맞는 그림을 선택해 보여 줍니다.
한 파일이 네 단계의 역할로 나뉩니다
이름이 비슷하지만 서로 대신할 수 없습니다. “원본 그림 → 나눌 규칙 → 한 장면 → 시간 순서”로 읽습니다.
- 01Texture
프로젝트로 가져온 PNG 같은 원본 이미지 데이터입니다.
- 02Sprite Sheet
여러 자세나 타일을 일정한 칸에 모아 둔 한 장의 Texture입니다.
- 03Sprite
Sprite Editor가 시트에서 잘라 낸 하나의 표시 가능한 그림입니다.
- 04Animation Clip
여러 Sprite를 시간 순서대로 배치한 재생 규칙입니다.
가져오는 순간에 크기와 선명도가 결정됩니다
먼저 전체 프로젝트의 기준을 정하고, 같은 종류의 캐릭터 시트에는 같은 기준을 적용합니다.
| 설정 | 권장 시작값 | 뜻 | 어긋나면 보이는 현상 |
|---|---|---|---|
| Texture Type | Sprite (2D and UI) | Texture를 2D Sprite로 사용합니다. | Sprite Editor와 SpriteRenderer 흐름을 사용할 수 없음 |
| Sprite Mode | Multiple | 한 이미지 안의 여러 프레임을 개별 Sprite로 나눕니다. | 시트 전체가 한 장으로 선택됨 |
| Pixels Per Unit | 시트 전체에 같은 값 | 몇 픽셀이 월드 1 Unit인지 정합니다. | 같은 캐릭터 프레임의 크기가 달라짐 |
| Filter Mode | 픽셀 아트는 Point | 확대·축소 때 픽셀 사이를 보간할지 정합니다. | Bilinear에서는 가까이 볼 때 부드럽거나 흐려짐 |
| Compression | 선명도 우선이면 None | 플랫폼용 Texture 압축 정도를 정합니다. | 작은 픽셀 가장자리에 색 번짐이 생길 수 있음 |
PPU = 1616픽셀 높이가 월드 1 Unit입니다. 32픽셀 높이 Sprite는 2 Unit로 보입니다.
PPU = 3232픽셀 높이가 월드 1 Unit입니다. 숫자가 커지면 같은 이미지가 월드에서는 더 작게 보입니다.
프레임의 사각형과 기준점을 함께 맞춥니다
Slicing은 그림을 잘라 내는 일만이 아닙니다. 각 프레임이 차지하는 영역과 물체의 원점을 정의합니다.
Grid by Cell Size
모든 칸이 32×32처럼 일정할 때 사용합니다. 시트 제작자가 정한 칸 크기를 그대로 입력하므로 프레임 폭과 높이가 일정합니다.
Cell Size = 32 × 32Automatic
투명 영역을 기준으로 보이는 그림의 경계를 찾습니다. 자세마다 경계가 달라질 수 있어 Pivot과 프레임 크기를 다시 확인합니다.
alpha boundary- 01
Open
Sprite Editor - 02
Slice
Grid by Cell Size - 03
Pivot
Bottom Center - 04
Apply
결과 저장
프레임을 시간 위에 놓습니다
Animation Clip은 “어떤 Sprite를 어느 시점에 보여 줄지” 저장합니다. 처음에는 SpriteRenderer의 Sprite 속성 하나만 바꾸는 단순한 Clip으로 시작합니다.
| 프레임 | Samples | 한 프레임 | 한 바퀴 | 느낌 |
|---|---|---|---|---|
| 6장 | 6 | 약 0.167초 | 1초 | 차분하고 무거움 |
| 6장 | 12 | 약 0.083초 | 0.5초 | 가볍고 빠름 |
| 6장 | 18 | 약 0.056초 | 약 0.333초 | 매우 빠르고 분주함 |
보이는 증상에서 가까운 설정을 찾습니다
모든 값을 한꺼번에 바꾸지 않습니다. 원본 → Import → Slice → Pivot → Clip 순서로 처음 어긋난 지점을 찾습니다.
픽셀 아트가 흐릿하게 보입니다
먼저: Filter Mode가 Point (no filter)인지 확인합니다. 다음: Compression과 Game View 축척을 확인합니다. PPU는 선명도보다 월드 크기 기준에 가깝습니다.
시트 전체가 한 장으로 선택됩니다
Texture Type이 Sprite (2D and UI), Sprite Mode가 Multiple인지 확인하고 Sprite Editor에서 Slice 후 Apply했는지 봅니다.
프레임이 바뀔 때 캐릭터가 떨립니다
Rigidbody2D보다 먼저 각 Sprite의 Rect 크기와 Pivot 위치를 비교합니다. 발 중심 같은 기준점이 모든 프레임에서 같은 위치에 있어야 합니다.
한 번 재생한 뒤 멈춥니다
Animation Clip 에셋을 선택하고 Inspector의 Loop Time이 켜져 있는지 확인합니다. Idle과 Move는 보통 반복합니다.
프레임 순서가 튀어 보입니다
Animation 창의 Sprite Keyframe 순서를 확인합니다. 파일명의 숫자가 텍스트 순서로 정렬될 수 있으므로 walk_00처럼 자릿수를 맞추면 관리하기 쉽습니다.
화면을 덮고 구조를 복원합니다
먼저 자신의 말로 답한 다음 펼쳐 확인합니다. 답의 핵심은 메뉴 이름보다 역할의 연결입니다.
Q1. Sprite Mode를 Multiple로 바꾸는 이유는?
한 Texture 안의 여러 자세를 개별 Sprite 하위 에셋으로 나누기 위해서입니다. Single이면 시트 전체를 하나의 Sprite로 취급합니다.
Q2. PPU가 서로 다르면 무엇이 달라집니까?
같은 픽셀 크기의 그림이 월드에서 서로 다른 크기로 보입니다. PPU는 월드 1 Unit에 대응하는 픽셀 수입니다.
Q3. Pivot이 프레임마다 다르면 왜 떨립니까?
Sprite 교체 때 각 그림의 원점이 Transform의 같은 위치에 놓이므로, 그림 속 발이나 몸통의 실제 위치가 프레임마다 이동하기 때문입니다.
Q4. 6프레임을 Samples 12로 재생하면 한 바퀴는 몇 초입니까?
6 ÷ 12 = 0.5이므로 0.5초입니다. Loop Time이 켜져 있으면 그 뒤 첫 프레임부터 반복합니다.
Sprite Sheet는 여러 ______을 한 Texture에 모아 둔 이미지입니다.
규칙적인 시트는 Grid by ______로 나누면 칸 크기를 일정하게 유지할 수 있습니다.
Animation Clip의 한 바퀴 시간은 ______ 수를 Samples로 나누어 계산합니다.
Unity 공식 자료
용어와 설정은 Unity 6.6 문서를 기준으로 정리했습니다.
- Sprite texture Import Settings ↗Sprite Mode, Pixels Per Unit, Pivot과 Filter Mode의 공식 정의
- Create sprites from a texture ↗Sprite Editor에서 Texture를 여러 Sprite로 나누는 절차
- Create a new Animation Clip ↗Animation 창, Clip, Animator Controller와 Animator 연결