사용한 에셋 : https://0x72.itch.io/dungeontileset-ii
Learning
When: 1학년 7월 30일
How:
심화반 강의 영상에서 Sprite Library와 Sprite Resolver를 이용한 시간이 있었는데,
모르는 내용이기도 했고 이것을 알았다면 개인 프로젝트를 만들 때 시간을 많이
절약할 수 있었을 것 같아 공부하게 되었습니다.
Understanding:
- 간단 설명 : Sprite Library는 말 그대로 스프라이트를 담는 공간인데, 그냥 담는 것이
아닌 카테고리별로 나누고 그 카테고리마다 스프라이트를 추가하는 방식으로 담기 때문에
유용하게 쓸 수 있습니다. Sprite Resolver는 Sprite Library와 같이 쓰는 컴포넌트입니다.
Sprite Resolver는 엄청 커다란 역할을 가지진 않고, 애니메이션과 Sprite Library의
중간 다리 정도로 생각하시면 됩니다. 참고로 Sprite Library는 컴포넌트이기도 하고,
에셋 폴더에 들어가는 파일이기도 합니다. (Animator 처럼요) - 사용법 : 만약 슬라임의 종류가 10개나 있고 무식하게 애니메이션을 만든다면 클립도 손수 다
스프라이트 찾아가며 만들어야 하고 애니메이션 컨트롤러에 연결도 다 바꿔주어야
하는데(놀랍게도 제 이야기입니다. ㅠ) 여기서 더 쉽고 빠르게 같은 동작을 다른 스프라이트로
하는 방법이 Sprite Library를 쓰는 것입니다.- 원하시는 폴더에 Sprite Library를 만듭니다.

- 더블클릭해서 열면 카테고리와 라벨이 있을 텐데, 카테고리를 추가한 후 그 카테고리의 라벨에 원하시는 스프라이트를 넣으시면 됩니다. 카테고리에는 Idle, Run, Jump 같은 내가 만들 스프라이트의 모음을 뭐라고 부를 것인지를 적으시면 됩니다. 그 후에 알아보기 쉽게 IDLE_0, IDLE_1 과 같이 이름을 짓는다면 나중에 작업할 때 편합니다.

- 이것을 쓰는 이유가 다른 캐릭터로도 쉽게 바꿀 수 있다는 점이기 때문에 다른 라이브러리도 만들어 보겠습니다. 아까와 똑같이 라이브러리를 만드는데 이번엔 위에 있는 Main Library를 먼저 만든 Sprite Library로 둡니다. 이것은 인터페이스의 구현과 비슷한 개념인데, 그렇게 하면 만들지도 않은 Idle(방금 전에 만든) 카테고리가 생깁니다. 이것은 하나의 약속으로, 그 카테고리에 원래 있던 스프라이트도 다 있고, 원래 있던 스프라이트는 지워지지 않습니다. 즉 원래 만든 라이브러리를 Main Library로 두는 라이브러리는 원래 만든 Sprite Library를 쓰던 중에 갑자기 이것으로 바뀌어도 정상 작동한다는 뜻입니다. 이런 특징을 이용해서 Sprite Library만 따로 만들어서 바꿔 끼면 애니메이션도 바뀌는 방식으로 오브젝트를 만들 수 있습니다.

- 이제 사용하는 일만 남았는데 오브젝트에 Sprite Renderer, Animator, Sprite Resolver, Sprite Library 컴포넌트를 붙여줍니다. 그리고 Animator를 만들어 넣어준 후 Sprite Library에 만든 라이브러리를 넣고 Sprite Resolver의 Category를 원하는 카테고리로 선택해 줍니다.

이거 하고 Animator 바꿨습니다. 햇갈리게 해서 죄송합니다. - Ctrl + 6을 눌러 Animation 창을 열고 오브젝트를 클릭하면 아무 클립도 없기 때문에 클립을 만들라고 하는데 Create를 눌러 클립을 만들어줍니다. 만약 Samples 버튼이 없다면 우측 점 3개를 눌러 Show Sample Rate를 활성화시켜 주고, Samples를 4로 바꿔줍니다. 이것은 4프레임, 즉 1초에 사진 4장으로 애니메이션을 만들겠다는 뜻입니다. 좌측에 있는 녹화 버튼을 누르면 스프라이트가 바뀌는 대로 프레임의 스프라이트가 설정되는데, 원하는 시간에 Sprite Resolver에서 원하는 스프라이트를 누르면 정한 시간에 스프라이트가 원하는 것으로 바뀝니다. 이렇게 클립을 만들었으면 이제 Sprite Library에 2번째로 만든 라이브러리를 넣어도 자연스럽게 작동합니다.

원래 만든 스프라이트가 있어서 좀 이상하게 보입니다. 정상 작동하는 중 입니다.

- 원하시는 폴더에 Sprite Library를 만듭니다.
Result: 이렇게 깔끔하게 애니메이션을 돌려쓰는 방식이 있으니, 잊지 마시고 제가 했던 실수는 하지 않으시기를 바라겠습니다.
'C#' 카테고리의 다른 글
| [C#] SOLID 원칙 (1 : S/SRP) (3) | 2025.08.05 |
|---|---|
| [C#] IndexOutOfRangeException과 ArgumentOutOfRange 에러의 차이 (1) | 2025.08.04 |
| [C#] Queue 자료형, 자료 구조 (1) | 2025.07.29 |
| [C#] 구조체 (struct) (7) | 2025.07.28 |
| [C#] var 키워드 (0) | 2025.07.27 |