아래 워크플로에서는 타임라인 인스턴스를 사용하여 외부 모션 클립으로 휴머노이드 캐릭터를 애니메이션화하는 방법에 대해 설명합니다. 이 워크플로에서는 클립 오프셋을 일치시키고, 클립 오프셋을 수동으로 조절하고, 클립 사이를 블렌드하여 부자연스러운 움직임과 미끄러짐을 최소화하는 방법에 대해서도 설명합니다. 휴머노이드 캐틱터를 예로 들어 설명하지만 다른 모든 게임 오브젝트에도 적용할 수 있습니다.
이 워크플로에서는 휴머노이드에 결속된 빈 애니메이션 트랙이 있는 타임라인 인스턴스를 이미 생성했다고 가정합니다.
프로젝트에서 모션 클립을 애니메이션 트랙으로 끌어다 놓아 새 애니메이션 클립을 생성합니다. 예를 들어 첫 번째 클립인 대기(idle) 자세를 끌어다 놓아 휴머노이드가 대기 자세에서 시작하도록 설정할 수 있습니다. 대기(idle) 클립의 위치와 크기를 적절하게 조절합니다.
두 번째 애니메이션 클립을 추가합니다. 이 예에서는 달리면서 왼쪽으로 꺾는 클립(이름: Run_Left)을 애니메이션 트랙에 끌어다 놓습니다. Run_Left 클립의 크기를 적절하게 조절합니다. 이 예에서는 Guard가 앞으로 달리다가 180도로 꺾도록 Run_Left 클립의 크기를 루프 하나를 포함하는 크기로 조절합니다.
타임라인 인스턴스를 재생합니다. 휴머노이드인 Guard 캐릭터가 애니메이션 클립이 바뀔 때마다 부자연스럽게 움직입니다. 첫 애니메이션 클립(Idle) 끝 지점의 휴머노이드 캐릭터 위치와 다음 애니메이션 클립(Run_Left) 시작 지점의 캐릭터 위치가 일치하지 않기 때문입니다.
클립 사이의 부자연스러운 움직임을 해결하려면 각 애니메이션 클립의 오프셋을 일치시켜야 합니다. 타임라인 에디터 창에서 몇 가지 방법을 사용하여 오프셋을 일치시킬 수 있습니다. 이 예에서는 두 번째 애니메이션 클립을 이전 클립과 일치시킵니다. 이렇게 하려면 Run_Left 클립을 선택하고 마우스 오른쪽 버튼으로 클릭한 후 Match Offsets to Previous Clip을 선택합니다.
타임라인 인스턴스를 다시 재생합니다. 휴머노이드의 위치와 회전이 일치하지만, 휴머노이드의 자세가 다르기 때문에 두 애니메이션 클립 간에 휴머노이드가 일치하지 않는 문제가 여전히 발생합니다. 첫 번째 애니메이션 클립의 끝 지점에서는 휴머노이드가 두 발을 붙이고 똑바로 서 있습니다. 두 번째 애니메이션 클립의 시작 지점에서는 휴머노이드가 두 발을 벌리고 몸을 앞으로 굽히고 있습니다.
블렌드를 생성하여 두 자세 사이에 발생하는 부자연스러운 움직임과 전환을 제거합니다. 클립의 크기, 블렌드 영역(Blend Area), 클립 들어오기(Clip In), 블렌드 커브의 모양을 조절하여 두 자세가 자연스럽게 전환되도록 합니다. 예를 들어 Idle 클립이 Run_Left 클립으로 자연스럽게 전환되도록 하기 위해 Idle 클립의 길이를 36으로 변경하고 Run_Left 클립의 시작 지점을 25프레임으로 이동합니다. 나머지 프로퍼티는 기본값을 유지합니다.
Idle 클립이 Run_Left 클립으로 전환될 때 두 자세 사이에 나타나는 부자연스러운 움직임과 신체 부위의 어색함이 블렌드를 통해 자연스럽게 제거됩니다. 하지만 발의 위치가 서로 다르기 때문에 블렌드를 하더라도 발이 부자연스럽게 미끄러지는 듯이 보입니다.
발이 미끄러지는 문제를 해결하려면 발의 위치가 갑자기 바뀌는 정도가 감소하도록 애니메이션 클립의 루트 오프셋을 수동으로 조절하여 발 미끄러짐을 줄여야 합니다. 루트 오프셋을 수동으로 조절하려면 타임라인 에디터 창에서 애니메이션 클립을 선택합니다. 인스펙터 창에서 Animation Playable Asset을 펼친 후 Clip Root Motion Offsets을 펼칩니다.
Clip Root Motion Offsets의 위치(Position)와 회전(Rotation) 값이 모두 영(0)이 아닙니다. Match Offsets to Previous Clip를 수행할 때 각 값이 이전 애니메이션 클립의 끝 지점에 있는 휴머노이드의 루트(엉덩이)와 일치하도록 설정되었기 때문입니다.
Clip Root Motion Offsets에서 이동 도구를 활성화합니다. 씬 뷰에서 애니메이션 클립의 루트에 이동 기즈모가 나타납니다. 다음 방법 중 하나를 사용하여 애니메이션 클립의 루트 오프셋 위치를 수동으로 조절합니다.
씬 뷰에서 이동 기즈모를 움직입니다.
인스펙터 창에서 위치 프로퍼티의 값을 변경합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.