본문 바로가기
프로그래밍/게임 개발

프로그래밍 「 게임 개발 편」타임라인의 캐릭터 애니메이션

by grapedoukan 2023. 7. 4.
728x90

목표: 타임라인을 사용하여 캐릭터에 애니메이션 적용

타임라인을 통해 캐릭터를 애니메이션화하는 방법을 설명하겠습니다.

먼저, 지난 글에서 했던 것처럼, 타임라인이라는 빈 갬오브젝트를 만들고, 디렉터 자식을 만들고, 새로운 플레이어블 디렉터를 만들겠습니다.

다음으로, 이를 보여주기 위해 애니메이션 릭을 가져왔습니다.

릭으로 가장 먼저 하고 싶은 일은 리그가 휴머노이드로 설정되어 있는지 확인하는 것이며, 유니티는 메커니즘을 사용하여 제대로 애니메이션되었는지 확인할 수 있습니다. 계속해서 모든 리그를 휴머노이드로 만드십시오. 애니메이션 유형이 일반으로 설정되면 캐릭터는 대부분의 경우 태아 위치로 접히므로 이상적이지 않습니다.

그런 다음 디렉터 게임 오브젝트 아래에 있는 YBot을 자식으로 드래그합니다.

다음으로 Ybot 타임라인 편집기로 드래그하여 애니메이터 트랙을 만들어 보겠습니다.

이제 실제 애니메이션을 선택하고 복제한 다음 현재 위치(예: 유휴, 펀칭 등)로 이름을 바꿉니다. 오른쪽에 표시된 문자를 볼 수 있으며, 이것이 올바르게 수행했음을 알 수 있는 방법입니다.

모든 애니메이션에 대해 이 작업을 수행합니다.

이제 애니메이션을 우리가 만든 애니메이션 트랙으로 드래그할 수 있습니다.

전환 사이에 클리핑이 없도록 서로 혼합하여 전환을 매끄럽게 할 수 있음을 기억하십시오.

유휴 애니메이션의 경우 이 루핑을 원하므로 사후 외삽  하단의 루프 옵션이 "켜기"로 설정되어 있는지 확인합니다.

이제 눈치채실 수 있는 것 중 하나는 역방향 애니메이션이 단순히 애니메이션이고 실제로 뒤로 이동하지 않는다는 것입니다.

이것은 특정 애니메이터의 제작자가 의도한 것입니다. 예를 들어 mixamo.com 와 같은 사이트에서 애니메이션을 선택할 때 실제로 뒤로 걷도록 선택할 수 있습니다.

이 경우 "In Place"를 선택 취소하여 실제로 이동하고 IK를 사용할 수 있도록 합니다. (제자리 애니메이션을 사용하고 계속 진행하는 방법에 대한 자세한 내용을 읽어보세요.)

이제 올바른 애니메이션이 있으므로 다른 문제를 해결해야 합니다. 캐릭터가 우회전 애니메이션을 수행하고 뒤로 이동으로 전환하면 오른쪽으로 회전한 다음 다음 애니메이션에 맞게 다시 회전하는 것을 알 수 있습니다.

이 문제를 해결하려면 오프셋을 이전 클립과 일치시켜야 합니다.

이제 이전 애니메이션의 위치와 일치하고 해당 위치에서 뒤로 이동합니다.

우리는 이것을 반복해서 할 수 있습니다.

또 다른 우회전을 추가하고 이전과 같이 루프를 만든 다음 거기에 또 다른 후진 걷기를 추가하겠습니다.

당신은 그것을 가지고 있습니다! 일단 기초 중 일부를 이해하면 아주 간단합니다. 다음으로 Character Override Animations를 사용하는 방법에 대해 설명하겠습니다.

 

캐릭터 오버라이드 애니메이션

동시에 다른 애니메이션에 커밋하면서 애니메이션을 재생하는 방법을 설명합니다. 예를 들어, 플레이어가 걷고 있지만 특정 측면을 유지하면서 다른 애니메이션을 사용하려는 경우 오버라이드를 사용하는 것이 좋습니다.

이 예에서는 플레이어가 뒤로 걷게 하고 펀치도 하고 싶습니다.

먼저 트랙 오버라이드를 생성하려고 합니다.

다음으로, 펀칭 애니메이션을 오버라이드 트랙으로 드래그하고 싶습니다.

애니메이션을 재생할 때 아직 매끄럽지 않다는 것을 알 수 있습니다.

그리고 이전처럼 오프셋을 이전과 일치시킬 수 없습니다. 따라서 수동으로 일치시켜야 합니다. 변환 오프셋을 사용하여 이 작업을 수행할 수 있습니다. (이 기사의 뒷부분에서 가능한 대안에 대해 논의 할 것입니다.)

따라서 걷는 애니메이션 변환이 있는 위치를 찾고 애니메이션을 최대한 가까이 드래그하고 이에 맞게 플레이어를 회전합니다.

그런 다음 더 매끄럽게 만들기 위해 펀칭 애니메이션을 쉽게 인/아웃할 수 있습니다.

이제 더 좋아 보입니다.

이제 예를 들어 플레이어가 펀치를 날린 다음 계속 걷게 하려면 오버라이드 채널에 적용할 수 있는 아바타 마스크를 만들 수 있습니다. 이름을 PunchingMask로 지정합니다.

아바타 마스크를 선택하면 휴머노이드 변형의 두 가지 옵션이 있음을 알 수 있습니다. 휴머노이드를 선택하면 그림이 표시됩니다.

다리, 위치  IK 선택 해제하기만 하면 상체가 애니메이션 펀칭 애니메이션을 수행할 때 다리가 계속됩니다.

이제 이 아바타 마스크를 오버라이드 트랙으로 드래그해야 합니다. 오버라이드 트랙을 선택하고 아바타 마스크를 필드로 드래그하기만 하면 됩니다.

이제 이론적으로 아바타 마스크가 기본 애니메이션의 위치를 사용하지 않기 때문에 변환을 수동으로 배치할 필요가 없습니다.

아바타 마스크로 가능성을 상상할 수 있습니다!

이제 제자리에서 뒤로 걷기 애니메이션을 사용하여 계속 움직이게 하는 방법에 대해 간략하게 설명하겠습니다. 이 작업을 수동으로 수행해야 합니다.

현재 애니메이션에서 녹화 버튼을 간단히 선택할 수는 없는데, 애니메이션이 관련되어 있기 때문입니다.

따라서 Ybot 타임라인으로 드래그하여 애니메이션 트랙을 만듭니다. 그런 다음 처음에 키를 만든 다음 마지막에 ybot을 이동하고 녹음을 중지할 수 있습니다.

그리고 용이성을 조정하고 싶다면 곡선을 조정할 수 있습니다.

728x90