Version: 2019.2
무한 클립을 애니메이션 클립으로 전환
애니메이션 오버라이드 트랙과 아바타 마스크 사용

휴머노이드 애니메이션

타임라인 인스턴스를 사용하여 외부 모션 클립으로 휴머노이드를 애니메이션화하는 방법에 대해 설명합니다. 이 워크플로에서는 클립 오프셋을 일치시키고, 클립 오프셋을 수동으로 조절하고, 클립 사이를 블렌드하여 부자연스러운 움직임과 미끄러짐을 최소화하는 방법에 대해서도 설명합니다. 휴머노이드를 예로 들어 설명하지만 다른 모든 게임 오브젝트에도 적용할 수 있습니다.

이 워크플로는 휴머노이드에 바인딩된 빈 애니메이션 트랙으로 타임라인 인스턴스를 이미 생성했다고 가정합니다. 예를 들어 DefaultMale 휴머노이드는 빈 애니메이션 트랙에 바인딩되어 있습니다.

빈 애니메이션 트랙에 결속된 DefaultMale 휴머노이드
빈 애니메이션 트랙에 결속된 DefaultMale 휴머노이드

프로젝트에서 모션 클립을 애니메이션 트랙으로 드래그하여 새 애니메이션 클립을 생성하십시오. 예를 들어 대기 포즈를 첫 번째 클립으로 드래그하면 대기 자세에서 휴머노이드를 시작합니다.

클립 뷰에서 애니메이션 클립을 배치하거나 크기를 조절하거나 잘라내려면 Mix 모드를 Clip Edit 모드로 선택하십시오. 타임라인 창의 편집 동작을 변경하는 세 가지의 다른 Clip Edit 모드가 있습니다. 타임라인 창이 Mix 모드이면 클립을 드래그하고 잘라내서 블렌드를 만들 수 있습니다.

![대기 자세(Idle)가 애니메이션 클립으로 설정된 애니메이션 트랙](DefaultMale 휴머노이드에 바인딩됨). Mix 모드(빨간색 원)가 Clip Edit 모드로 선택되었습니다.(../uploads/Main/timeline_humanoid_idle.png)

두 번째 애니메이션 클립을 추가합니다. 이 예에서는 달리다가 왼쪽으로 도는 클립(Run_Left)을 애니메이션 트랙에 추가한 후 하나의 루프를 포함하도록 클립 크기를 조절합니다. 그러면 DefaultMale이 달리다가 180도 회전합니다.

Idle 클립과 Run_Left 클립을 포함하는 애니메이션 트랙
Idle 클립과 Run_Left 클립을 포함하는 애니메이션 트랙

타임라인 인스턴스를 재생합니다. 이 예에서 DefaultMale은 각 애니메이션 클립 간에 점프하는데, 이는 첫 번째 애니메이션 클립(Idle)의 끝 지점에 있는 휴머노이드의 포지션이 다음 애니메이션 클립(RunLeft)의 시작 지점에 있는 휴머노이드의 포지션과 일치하지 않기 때문입니다.

29프레임에서 끝나는 첫 번째 애니메이션 클립(빨간색 화살표 및 상자)과 30프레임에서 시작되는 두 번째 애니메이션 클립(녹색 화살표와 및 상자) 사이에서 휴머노이드가 부자연스럽게 움직입니다
29프레임에서 끝나는 첫 번째 애니메이션 클립(빨간색 화살표 및 상자)과 30프레임에서 시작되는 두 번째 애니메이션 클립(녹색 화살표와 및 상자) 사이에서 휴머노이드가 부자연스럽게 움직입니다

클립 매칭

클립 간에 애니메이션이 점프하는 문제를 해결하려면 각 애니메이션 클립의 오프셋을 일치시키십시오. 타임라인 창은 다양한 오프셋 매칭 방식을 제공합니다. 이 예에서 타임라인은 두 번째 애니메이션 클립을 이전 클립과 일치시킵니다. 이렇게 하려면 Run_Left 클립을 선택하고 마우스 오른쪽 버튼을 클릭한 후 Match Offsets to Previous Clip을 선택하십시오.

마우스 오른쪽 버튼으로 클릭하고 Match Offsets to Previous Clip을 선택하여 선택된 애니메이션 클립의 오프셋을 바로 앞의 애니메이션 클립과 일치시킵니다.
마우스 오른쪽 버튼으로 클릭하고 Match Offsets to Previous Clip을 선택하여 선택된 애니메이션 클립의 오프셋을 바로 앞의 애니메이션 클립과 일치시킵니다.
오프셋을 맞추고 나면 두 번째 애니메이션 클립의 시작 지점에 있는 휴머노이드의 포지션 및 회전(프레임 30, 녹색 화살표가 있는 고스트)이 첫 번째 애니메이션 클립의 끝 지점에 있는 휴머노이드의 포지션 및 회전(프레임 29, 빨간색 화살표)과 일치합니다.
오프셋을 맞추고 나면 두 번째 애니메이션 클립의 시작 지점에 있는 휴머노이드의 포지션 및 회전(프레임 30, 녹색 화살표가 있는 고스트)이 첫 번째 애니메이션 클립의 끝 지점에 있는 휴머노이드의 포지션 및 회전(프레임 29, 빨간색 화살표)과 일치합니다.

타임라인 인스턴스를 다시 재생합니다. 휴머노이드의 위치와 회전이 일치하지만, 휴머노이드의 자세가 다르기 때문에 두 애니메이션 클립 간에 휴머노이드가 일치하지 않는 문제가 여전히 발생합니다. 첫 번째 애니메이션 클립의 끝 지점에서는 휴머노이드가 두 발을 붙이고 똑바로 서 있습니다. 두 번째 애니메이션 클립의 시작 지점에서는 휴머노이드가 두 발을 벌리고 몸을 앞으로 굽히고 있습니다.

클립 블렌드

블렌드를 생성하여 두 포즈 간의 점프 및 전환을 제거할 수 있습니다. 클립의 크기, 블렌드 영역, Clip In, 각 블렌드 커브의 모양을 조절하여 두 포즈 간의 전환을 구현하십시오. 예를 들어 Idle 클립과 Run_Left 클립 간 전환의 경우 Idle 클립의 크기가 36프레임으로 변경되고 Run_Left 클립은 프레임 25에서 시작하도록 재배치되었습니다. 나머지 클립 프로퍼티는 기본값에서 변경되지 않았습니다.

Mix 모드를 선택한 상태에서 두 클립 간의 블렌드(빨간색 원)를 생성하여 두 애니메이션 간의 원활한 전환을 구현할 수 있습니다.
Mix 모드를 선택한 상태에서 두 클립 간의 블렌드(빨간색 원)를 생성하여 두 애니메이션 간의 원활한 전환을 구현할 수 있습니다.

Idle 클립이 Run_Left 클립으로 전환될 때 블렌드는 두 포즈 간의 눈에 띄는 점프 동작을 제거합니다. 대부분의 신체 부위 간 전환은 자연스럽게 나타나지만, 이 예에서는 발의 다른 포지션 간 블렌드로 인해 발이 부자연스럽게 미끄러지는 동작(풋 슬라이딩)이 나타납니다.

풋 슬라이딩 줄이기

풋 슬라이딩을 줄이려면 발의 포지션이 급격히 변하지 않도록 애니메이션 클립의 오프셋을 수동으로 조정해야 합니다. 오프셋을 수동으로 조정하려면 타임라인 창에서 애니메이션 클립을 선택하고, 인스펙터 창에서 Animation Playable Asset을 확장하십시오.

애니메이션 클립을 선택합니다. 인스펙터 창에서 Animation Playable Asset (빨간색)을 확장하여 Clip Transform Offsets를 표시합니다.
애니메이션 클립을 선택합니다. 인스펙터 창에서 Animation Playable Asset (빨간색)을 확장하여 Clip Transform Offsets를 표시합니다.

Clip Transform Offsets 의 회전과 포지션은 0이 아닙니다. 이는 Match Offsets to Previous Clip을 수행하여 이러한 값을 이전 애니메이션 클립의 끝 지점에 있는 휴머노이드의 루트(허리)와 이미 일치시켰기 때문입니다.

Clip Transform Offsets 아래에서 이동 툴을 활성화하십시오. 그러면 씬 뷰의 애니메이션 클립 루트에 이동 기즈모가 나타납니다.

이동 툴(인스펙터 창, 빨간색 화살표)을 활성화하여 씬 뷰에 이동 기즈모(녹색 화살표)를 표시합니다.
이동 툴(인스펙터 창, 빨간색 화살표)을 활성화하여 씬 뷰에 이동 기즈모(녹색 화살표)를 표시합니다.

다음 방식 중 하나를 사용하여 애니메이션 클립의 오프셋 포지션을 수동으로 조정하십시오.

  • 씬 뷰에서 이동 기즈모를 움직입니다.

  • 인스펙터 창의 Clip Transform Offsets에서 해당 Position 프로퍼티의 값을 적절하게 변경합니다.


  • 2019–08–20
무한 클립을 애니메이션 클립으로 전환
애니메이션 오버라이드 트랙과 아바타 마스크 사용
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961