✍️ 개요
Bone Animatin은 Skeletal Animation 기법을 의미하며, Sprite에 뼈대를 생성하여 모델을 움직이는 기법입니다.
더 자연스러운 움직임을 재공하며 재사용성이 높아 많이 활용되고 있습니다.
오늘은 2D 환경에서 Bone Animation을 제작하는 방법에 대해 알아보도록 하겠습니다.
📌 환경 설정
UPM(Unity Pacakge Manager)에서 2D Animation 패키지를 설치합니다.
이 패키지는 Bone Animation 제작 기능을 제공합니다.
추가로 2D PSD Importer 패키지를 설치합니다.
이 패키지는 포토샵(PSD) 파일을 Unity에 Import 할 수 있도록 해줍니다.
포토샵에서 제작한 레이어들을 온전히 보존해주기 때문에 Rigging 작업에 큰 도움을 줍니다.
※ 만약 포토샵이 없다면, Sprite을 각 부위 별로 쪼개 하나의 이미지로 제작해야 합니다.
PSD 파일 Import 한 모습
부위 별로 쪼개 하나로 표현한 PNG 파일
저는 PSD 파일로 Bone Animation을 제작하도록 하겠습니다.
📌 Asset 제작하기
먼저 포토샵을 통해 움직이고 싶은 부위 별로 레이어를 나눠 제작합니다.
저는 사람 모델을 제작하였습니다.
위 사진을 보시면 총 13개의 Sprite로 구분되어 있는게 보이시죠?
각 Sprite 부위마다 1개의 레이어를 가지므로 총 13개의 레이어가 필요합니다.
제작이 끝났다면 파일을 저장하여 Unity에 드래그하여 Import 합니다.
Asset을 눌러 Importer을 PSDImporter 방식으로 변경합니다.
그러면 PSD 파일이 Asset으로 Import 된 것을 확인할 수 있습니다.
📌 Sprite 뼈대 제작
PSD Asset을 누르고 Open Sprite Editor 버튼을 누릅니다.
Sprite Editor - Skinning Editor 선택합니다.
왼쪽 상단에 도구 툴을 확인해보면 Create Bone이 있습니다. 클릭해주세요.
이제 골반을 기준으로 이미지에 맞춰 뼈대를 생성해줍니다.
이제 Auto Geometry을 선택하여 Generatre For All Visible을 클릭합니다.
이 기능은 Sprite의 Mesh을 자동으로 생성하도록 합니다.
Detail을 직접 설정할 수 있지만, 저는 그냥 이대로 생성하도록 하겠습니다.
다음으로 Auto Weights을 선택하여 Generate All을 클릭합니다.
그러면 위 사진처럼 생성한 뼈대를 Sprite에 영향을 주도록 설정할 수 있습니다.
※ Bone Influence을 선택하고 Sprite을 클릭하여 세부적으로 Bone 설정을 할 수 있습니다.
설정이 끝났다면 우측 상단에 Apply 버튼을 눌러 Sprite Editor 창을 종료합니다.
📌 Bone Animation 제작
설정한 Asset을 Scene에 배치하면 위처럼 생성됩니다.
Bone의 위치와 회전을 조정하면 Sprite가 움직이는 것을 확인할 수 있습니다.
하지만 이 방법으로 Animation을 구현한다면 엄청난 고통에 시달리실 겁니다.
그래서 저희는 IK Manager 2D Component을 사용할 겁니다.
IK는 Inverse Kinematic의 줄임말로, 역운동학을 의미합니다.
끝 관절만 움직이면 나머지 관절들이 자동으로 계산되는 기법을 의미합니다.
Asset에 IK Manager 2D Component을 추가합니다.
그 후 IK Solvers에 '+' 기호를 눌러 Limb를 선택합니다.
그러면 IK Solver가 생성됩니다.
이제 끝 관절을 생성하여 적용해주도록 하겠습니다.
마지막 뼈대에 우클릭하여 Create Empty을 선택하여 빈 오브젝트를 생성합니다.
※ 참고로 저는 왼쪽 팔 끝 뼈대를 선택했습니다.
이제 다음 과정을 수행합니다.
① New LimbSolver2D 오브젝트의 이름을 변경한 후 클릭하여 Inspector 창을 활성화합니다.
② 아까 생성한 빈 프로젝트(Effector)을 Limb Solver 2D 컴포넌트의 Effector에 추가해줍니다.
③ Create Target 버튼을 클릭하여 적용합니다.
작업이 끝났다면 위처럼 IK을 움직임에 따라 관절이 자연스럽게 따라오는 것을 확인할 수 있습니다.
이제 Animator을 사용하여 IK을 움직여주면서 자연스러운 연출을 제작하면 됩니다.
처음에는 연출 제작이 어렵지만 조금만 연습한다면 위처럼 좀비 달리기 같은 애니메이션을 쉽게 제작할 수 있습니다.
'유니티(Unity) > 기능 구현' 카테고리의 다른 글
[Unity 기능] 2D Endless Platform 구현 (2편) (0) | 2025.01.02 |
---|---|
[Unity 기능] 2D Endless Platform 구현 (1편) (2) | 2025.01.01 |
[Unity 기능] 컴파일 시점 제어하기 (1) | 2024.12.25 |
[Unity 기능] 커스텀 패키지 제작하기 (0) | 2024.12.20 |
[Unity 기능] Sprite Atlas에 대하여 (1) | 2024.12.15 |