━━━━ ◇ ━━━━
유니티(Unity)/콘텐츠 개발

[Unity 기능] 2D Bone Animation 제작

✍️ 개요

 

 

 

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을 움직여주면서 자연스러운 연출을 제작하면 됩니다.

 

 

 

 

처음에는 연출 제작이 어렵지만 조금만 연습한다면 위처럼 좀비 달리기 같은 애니메이션을 쉽게 제작할 수 있습니다.

 

 

 

 

 

COMMENT