개발단에 가입하여 베르의 게임 개발 유튜브를 후원해주세요!
안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!
이번에는 서로 다른 3D 모델의 애니메이션을 가져와서 적용할 수 있는 애니메이션 리타게팅 기술에 대해서 알아보겠습니다.
사용 엔진 버전 : 2020.3
타임라인
0:00 인트로
0:10 3D 애니메이션 제작 과정
1:06 애니메이션 리타게팅
1:48 유니티의 애니메이션 리타게팅
4:03 아웃트로
스크립트
인트로
안녕하세요. 여러분들과 함께 게임 개발을 공부하는 베르입니다.
이번에는 유니티에서 제공하는 애니메이션 리타게팅에 대해서 알아보도록 하겠습니다.
애니메이션 제작
애니메이션 리타게팅이라는 기술에 대해서 알아보기 전에 3D 애니메이션 제작 과정에 대해서 얘기해보겠습니다.
3D 애니메이션을 만들기 위해서는 먼저 당연하게도 애니메이션을 입힐 3D 모델을 만들어야 합니다.
그리고 이 3D 모델을 완성하고 나면 모델을 움직이게 하기 위한 뼈대인 본을 심고, 각 본이 3D 모델의 버텍스에 미칠 영향의 범위를 설정해줘야 합니다.
이 과정을 스키닝, 혹은 리깅이라고 부릅니다.
리깅을 모두 마친 다음에야 리깅 과정을 마친 3D 모델을 기준으로 캐릭터가 움직이는 모션을 만들게 됩니다.
모션을 만들 때는 프레임 단위로 키를 잡아주게 되는데 이 과정에서 애니메이션을 자연스럽게 만들려면 그만큼 많은 수고가 들게 됩니다.
하나의 동작을 만들 때마다 리깅된 3D 모델을 가져와서 프레임 단위로 키를 잡아주는 힘든 과정을 캐릭터의 애니메이션 하나를 만들 때마다 계속 반복해줘야하는 것이죠.
모든 3D 캐릭터를 만들 때마다 새로 애니메이션을 만드는 일은 굉장히 반복적이고 힘든 일입니다.
애니메이션 리타게팅
그래서 개발자들은 생각했습니다.
이미 만든 애니메이션을 조금만 손봐서 새로 만든 3D 모델 캐릭터에 입히면 좀 더 쉽게 애니메이션을 만들 수 있지 않을까? 하고 말입니다.
캐릭터만의 특징이 드러나는 동작이 아닌 숨쉬기, 걷기, 물마시기, 달리기, 이런 기본적인 동작을 매번 캐릭터를 새로 만들 때마다 다시 만들기에는 사용되는 인력에 비해 낭비로 여겨지기 충분했습니다.
그리고 기본적인 사람 형태의 캐릭터들은 똑같이 하나의 머리, 척추, 골반, 두 팔, 두 다리, 이렇게 공통적인 형태를 가지고 있습니다.
그래서 기본적인 사람 형태의 공통점을 이용해서 애니메이션을 돌려쓸 수 있도록 만든 기술, 그것이 바로 애니메이션 리타게팅입니다.
유니티의 애니메이션 리타게팅
그럼 이제 유니티에서 애니메이션 리타게팅을 사용하는 모습을 보도록 하겠습니다.
먼저 에셋 스토어에서 유니티 짱 에셋과 Mixamo사의 Magic Pack을 내 에셋에 추가해줍니다.
그리고 유니티 에디터에서 패키지 매니저를 열고 두 에셋을 찾아서 임포트 시켜줍니다.
그 후에 유니티 짱의 데모 씬과 Mixamo Magic Pack의 데모 씬을 살펴보면 서로 다른 캐릭터의 애니메이션을 확인할 수 있습니다.
만약 유니티 짱 캐릭터로 마법을 사용하는 게임을 만들려고 할 때, 애니메이션 리타게팅 기술이 없다면 이 수 많은 애니메이션을 모두 새로 만들어야 할 겁니다.
하지만 애니메이션 리타게팅이 있는 한 우리는 손쉽게 이 마법사 애니메이션을 유니티 짱에게 적용할 수 있습니다.
그 전에 먼저 유니티에서 애니메이션 리타게팅을 사용하기 위해서는 한 가지 제약사항이 있습니다.
그것은 바로 3D 모델과 애니메이션이 사람 형태로 제작된 휴머노이드 형태일 것입니다.
그래서 유니티 짱과 마법사 애니메이션 팩 데모에 사용되는 사람 형태 모델을 찾아서 선택하고 Rig 탭을 보면 애니메이션 타입이 Humanoid로 되어 있는 것을 볼 수 있습니다.
애니메이션을 적용할 3D 모델과 애니메이션이 포함된 FBX 파일의 애니메이션 타입이 모두 Humanoid여야 애니메이션 리타게팅 적용이 가능합니다.
그럼 이제 마법사 애니메이션을 유니티 짱에게 입혀보겠습니다.
마법사 애니메이션 데모 씬을 열고 마법사 애니메이션 모델 앞에 유니티 짱을 배치해줍니다.
그리고 유니티 짱의 애니메이터 컨트롤러를 바로 뒤에 있는 마법사 애니메이션 모델의 애니메이터 컨트롤러로 교체해줍니다.
물론 애니메이터 컨트롤러를 새로 만들어서 마법사 애니메이션으로 구성한 뒤에 넣어도 됩니다.
이렇게 유니티 짱 캐릭터에 마법사 애니메이션을 넣은 뒤 게임을 플레이시켜보면 아주 간단하게 애니메이션이 적용되는 것을 볼 수 있습니다.
아웃트로
여담으로 개나 고양이, 말 같은 동물들 역시 각 종류 별로 공통적인 동작이 많은 편이기 때문에 애니메이션 리타게팅이 적용되면 좋은 대상입니다.
그래서 동물에도 애니메이션 리타게팅을 적용하게 위해서 3D 맥스에서 제공되는 사람 형태의 본 구조인 바이패드를 동물 형태로 왜곡해서 사용하는 경우가 자주 있습니다.
이것 덕분에 가능한게 바로 스카이림의 스파이더맨이죠.
이번 영상에서는 유니티의 애니메이션 리타게팅에 대해서 알아보았습니다.
이 강좌는 시청자 여러분들의 시청과 후원으로 제작되었습니다.
이상 베르의 게임 개발 유튜브였습니다. 감사합니다.
[유니티 어필리에이트 프로그램]
아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.
[투네이션]
[Patreon]
[디스코드 채널]
'Unity3D > Animation' 카테고리의 다른 글
[Unity] 유니티 애니메이션 클립 (0) | 2022.01.03 |
---|---|
[Unity3D] Animation - 애니메이션 샘플레이트 (0) | 2021.05.25 |
[Unity3D] Animation - 애니메이션 이벤트 (5) | 2020.05.11 |
[Unity3D] Animation - 애니메이터 컨트롤러의 파라미터 조절하기 (3) | 2020.02.21 |
[Unity3D] Animation - 잘못된 애니메이션 리소스로 인해서 발생하는 버그 (1) | 2017.08.03 |