3D 모델에 애니메이션을 적용시킬때 애니메이션 클립의 모든 동작을 다 적용시키고 싶지 않을때가 있다
다리의 움직임 혹은 손의 움직임만 적용시키고 싶을때도 있는데 그럴때 사용하는 방법이 Avatar Mask 이다
3D 모델의 Animation이 Humanoid 타입인 경우에는 Avatar Mask에서 Humanoid 탭을 이용해 손쉽게 적용시키고자 하는 부위와 적용시키지 않고자 하는 부위를 선택할 수 있다
적용시키고 싶지 않은 부위는 클릭 하여 빨간색으로 만들면 적용되지 않게 된다 반면 초록색은 적용시킬 부위이다
이 글에선 Humanoid Type의 Animation Type이 아닌 Generic Type의 Animation Type을 가졌을 경우 아바타 마스크를 어떻게 적용하는지 알아보자
우선 Avatar Mask를 적용시킬 3D 모델을 클릭해 Animation Type을 확인해보자
3D 모델을 클릭 후 Inspector에서 Rig를 확인해보면 Animation Type이 있는데 인간 형태의 3D 모델이지만 Generic Type의 Animation Type을 가지고 있다
이런 경우 Avatar Mask 를 Humanoid로 만들어주게 되면 Avatar Mask가 적용되지 않게 된다
Avatar Mask를 적용시키기 위해선 Avatar Definition을 통해 3D Model의 Avatar를 생성해 주어야 한다
"Create From this Model" 을 클릭 하고 Root Node를 설정해 주고 난뒤 Apply 버튼을 누르면 3D Model 안에 Avatar가 생성된것을 확인할 수 있다
이제 이 아바타를 이용해 아바타 마스크를 만들것이다
Avatar Mask 파일을 생성후 HuManoid가 아닌 Transform 탭으로 들어간다
Transform 탭 안에 Use skeleton from 이라는 부분이 보이는데 거기에 생성한 Avatar를 Assign 한 후 Import skeleton 버튼을 클릭한다
3D Model의 Hierarchy가 보이는데 여기에서 내가 애니메이션을 적용시킬 부분과 적용시키지 않을 부분을 선택한다
체크를 하면 애니메이션을 적용할 부위, 체크를 하지 않으면 애니메이션을 적용시키지 않겠다는 의미이다
필자의 경우 다리만 애니메이션을 적용시키고 싶고 팔은 적용시키고 싶지 않아 팔에 해당하는 Shoulder부분은 전부 uncheck했다
이렇게 해서 만들어진 Avatar Mask는 애니메이션으로 이동해 적용하고자 하는 애니메이션 레이어에 할당해주면 된다
애니메이션 레이어 옆에 톱니바퀴 버튼을 클릭 후 Mask에 내가 생성한 Avatar Mask를 적용해주면 끝이다
아래 영상은 Avatar Mask를 적용하기 전/후 입니다
'Unity' 카테고리의 다른 글
Unity Vector3.Lerp 선형보간으로 부드럽게 움직이게 하기 (0) | 2024.11.12 |
---|---|
Unity Animation Rigging - Two Bone IK Constraint 사용방법 (12) | 2024.11.11 |
Custom Unity Package를 UPM으로 배포하는 방법 (0) | 2024.07.16 |
[Unity] PostProcessing (0) | 2024.07.11 |
[Unity] Animator Component의 Root Motion 이란? (0) | 2024.07.10 |