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

휴머노이드 애니메이션 생성

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

이 워크플로에서는 휴머노이드에 결속된 빈 애니메이션 트랙이 있는 타임라인 인스턴스를 이미 생성했다고 가정합니다.

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

프로젝트에서 모션 클립을 애니메이션 트랙으로 끌어다 놓아 새 애니메이션 클립을 생성합니다. 예를 들어 첫 번째 클립인 대기(idle) 자세를 끌어다 놓아 휴머노이드가 대기 자세에서 시작하도록 설정할 수 있습니다. 대기(idle) 클립의 위치와 크기를 적절하게 조절합니다.

Guard 휴머노이드에 결속되어 있고, 대기(Idle) 자세를 애니메이션 클립으로 포함하고 있는 애니메이션 트랙
Guard 휴머노이드에 결속되어 있고, 대기(Idle) 자세를 애니메이션 클립으로 포함하고 있는 애니메이션 트랙

두 번째 애니메이션 클립을 추가합니다. 이 예에서는 달리면서 왼쪽으로 꺾는 클립(이름: Run_Left)을 애니메이션 트랙에 끌어다 놓습니다. Run_Left 클립의 크기를 적절하게 조절합니다. 이 예에서는 Guard가 앞으로 달리다가 180도로 꺾도록 Run_Left 클립의 크기를 루프 하나를 포함하는 크기로 조절합니다.

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

타임라인 인스턴스를 재생합니다. 휴머노이드인 Guard 캐릭터가 애니메이션 클립이 바뀔 때마다 부자연스럽게 움직입니다. 첫 애니메이션 클립(Idle) 끝 지점의 휴머노이드 캐릭터 위치와 다음 애니메이션 클립(Run_Left) 시작 지점의 캐릭터 위치가 일치하지 않기 때문입니다.

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

클립 사이의 부자연스러운 움직임을 해결하려면 각 애니메이션 클립의 오프셋을 일치시켜야 합니다. 타임라인 에디터 창에서 몇 가지 방법을 사용하여 오프셋을 일치시킬 수 있습니다. 이 예에서는 두 번째 애니메이션 클립을 이전 클립과 일치시킵니다. 이렇게 하려면 Run_Left 클립을 선택하고 마우스 오른쪽 버튼으로 클릭한 후 Match Offsets to Previous Clip을 선택합니다.

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

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

블렌드를 생성하여 두 자세 사이에 발생하는 부자연스러운 움직임과 전환을 제거합니다. 클립의 크기, 블렌드 영역(Blend Area), 클립 들어오기(Clip In), 블렌드 커브의 모양을 조절하여 두 자세가 자연스럽게 전환되도록 합니다. 예를 들어 Idle 클립이 Run_Left 클립으로 자연스럽게 전환되도록 하기 위해 Idle 클립의 길이를 36으로 변경하고 Run_Left 클립의 시작 지점을 25프레임으로 이동합니다. 나머지 프로퍼티는 기본값을 유지합니다.

 두 클립 사이에 블렌드를 생성하여 두 애니메이션이 부드럽게 전환되도록 합니다.
두 클립 사이에 블렌드를 생성하여 두 애니메이션이 부드럽게 전환되도록 합니다.

Idle 클립이 Run_Left 클립으로 전환될 때 두 자세 사이에 나타나는 부자연스러운 움직임과 신체 부위의 어색함이 블렌드를 통해 자연스럽게 제거됩니다. 하지만 발의 위치가 서로 다르기 때문에 블렌드를 하더라도 발이 부자연스럽게 미끄러지는 듯이 보입니다.

발이 미끄러지는 문제를 해결하려면 발의 위치가 갑자기 바뀌는 정도가 감소하도록 애니메이션 클립의 루트 오프셋을 수동으로 조절하여 발 미끄러짐을 줄여야 합니다. 루트 오프셋을 수동으로 조절하려면 타임라인 에디터 창에서 애니메이션 클립을 선택합니다. 인스펙터 창에서 Animation Playable Asset을 펼친 후 Clip Root Motion Offsets을 펼칩니다.

애니메이션 클립을 선택합니다. 인스펙터 창에서 Animation Playable Asset(고급 프로퍼티)을 펼친 후 Clip Root Motion Offsets을 펼칩니다.
애니메이션 클립을 선택합니다. 인스펙터 창에서 Animation Playable Asset(고급 프로퍼티)을 펼친 후 Clip Root Motion Offsets을 펼칩니다.

Clip Root Motion Offsets의 위치(Position)와 회전(Rotation) 값이 모두 영(0)이 아닙니다. Match Offsets to Previous Clip를 수행할 때 각 값이 이전 애니메이션 클립의 끝 지점에 있는 휴머노이드의 루트(엉덩이)와 일치하도록 설정되었기 때문입니다.

Clip Root Motion Offsets에서 이동 도구를 활성화합니다. 씬 뷰에서 애니메이션 클립의 루트에 이동 기즈모가 나타납니다. 다음 방법 중 하나를 사용하여 애니메이션 클립의 루트 오프셋 위치를 수동으로 조절합니다.

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

  • 인스펙터 창에서 위치 프로퍼티의 값을 변경합니다.

이동 도구(인스펙터 창, 파란색 화살표)를 활성화하여 이동 기즈모(빨간색 화살표)를 씬 뷰에 표시합니다. 이동 기즈모를 사용하여 애니메이션 클립의 루트 모션 오프셋의 위치를 수동으로 지정합니다.
이동 도구(인스펙터 창, 파란색 화살표)를 활성화하여 이동 기즈모(빨간색 화살표)를 씬 뷰에 표시합니다. 이동 기즈모를 사용하여 애니메이션 클립의 루트 모션 오프셋의 위치를 수동으로 지정합니다.

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