마티네 AnimControl 트랙
문서 변경내역: Laurent Delayen 작성. 홍성진 번역.
개요
마티네의 AnimControl 트랙을 고급 캐릭터 애니메이션 블렌딩에 사용하는 방법 안내입니다.
마티네를 사용하여 한 액터에서 단 하나의 애니메이션만 재생한다면 이는 무척 간단합니다. 먼저 사용할 애님세트를 액터 그룹의 GroupAnimSets 배열에 추가합니다. 그런 다음 그룹에 AnimControl 트랙을 추가합니다. 키를 추가할 때는 선택할 수 있는 AnimSequence 목록이 제공됩니다. 하나의 AnimControl 트랙만 사용한다면 슬롯 이름이나 기타 항목을 지정할 필요가 없습니다.
마티네에서는 "슬롯"을 사용하여 스켈레탈 메시에 여러 애니메이션을 재생합니다. 각 슬롯은 메시의 특정 구역에 해당합니다. 예를 들어 머리만, 몸통, 오른팔 또는 전체 메시 등을 나타냅니다.
그리고 각 슬롯에는 여러 채널이 있습니다. 한 채널은 한 번에 재생될 수도 있는 애니메이션을 나타내므로, 채널 수가 많아지면 한 슬롯상에 블렌딩할 애니메이션 수가 많아진다는 뜻입니다.
여기서는 마티네에서 AnimControl 트랙을 사용하여 스켈레탈 메시에 애니메이션을 재생시키는 방법을 단계별로 안내해 드리도록 하겠습니다.
Animation Tree 셋업
AnimNodeSlot 애니메이션 노드를 AnimNodeBlendPerBone 과 결합 배치하여 캐릭터 스켈레톤의 특정 바디 부분을 마스킹합니다. 이 프로세스에서는 마티네가 사용할 슬롯이 생성됩니다.
슬롯은 애니메이션을 재생할 스켈레톤 마스크를 정의합니다. AnimNodeBlendPerBone 애니메이션 노드를 사용하지 않을 경우 애니메이션이 스켈레톤의 모든 본에 영향을 미치므로 "전체 바디"에 대해 재생됩니다. 따라서 이 경우에는 AnimNodeSlot 노드를 배치하고 이름을 (노드의 NodeName 프로퍼티) "Slot_FullBody"로 정합니다.
그런 다음 스켈레톤의 하위 영역을 처리할 수 있습니다. 예를 들어 AnimNodeBlendPerBone 노드를 배치하고 다리를 마스킹합니다. 이후 AnimNodeSlot을 배치하고 이름을 "Slot_UpperBody"로 정합니다. 사용자 정의 애니메이션에서 재생할 모든 바디 부분에 대해(다리, 머리...) 이러한 절차를 반복합니다.
AnimNodeSlot 에는 기본 애니메이션에 연결된 최초 하위(소스)가 있습니다. 기본적으로 마티네 특정 애니메이션이 아니므로 AnimTree에서 설정된 모든 것을 재생합니다. 이를 통해 AnimTree가 기본 애니메이션을 처리하도록 할 수 있습니다. 예를 들어 캐릭터가 이동하면 걷기 애니메이션이 재생됩니다. 그러나 마티네는 그 맨 위에 애니메이션을 중첩할 수 있습니다. 예를 들어 캐릭터의 맨 위에 손을 흔드는 애니메이션을 놓을 수 있습니다.
AnimNodeSlot의 추가적인 하위(채널)는 애니메이션을 재생하는 마티네의 AnimControl 트랙을 통해 사용 가능합니다. 트랙 수가 늘어날수록 동시에 재생(및 블렌딩) 가능한 애니메이션 수도 늘어납니다.
간단한 AnimTree 설정은 다음 스크린샷을 참조하십시오.
Slot_LowerBody, Slot_UpperBody과 Slot_FullBody의 3가지 슬롯이 정의되었으며 Slot_LowerBody, Slot_UpperBody이 Slot_FullBody보다 우선합니다.
여기서 기본 애니메이션은 액터 이동 시 앞으로 걷는 애니메이션을 재생하고 가만히 서 있을 때의 Idle(빈둥) 애니메이션을 재생하는 AnimNodeBlendBySpeed입니다.
노드 배치 순서는 Slot_FullBody에 대한 전체 몸체 애니메이션을 재생하도록 하며 Slot_LowerBody나Slot_UpperBody(또는 둘 다)에서 다른 사용자 지정 애니메이션을 중첩할 수 있습니다.
Slot_FullBody가 AnimNodeBlendPerBone 앞에 배치된 경우 사용자 지정 전체 몸체 애니메이션의 맨 위에 상체 애니메이션을 중첩할 수 없습니다. 전체 몸체 노드가 상체 몸체 노드 위에 입혀지기 때문입니다.
레벨 설정
SkeletalMeshActorMAT 액터를 통해 맵에 캐릭터를 배치합니다. 해당 클래스에 포함된 코드는 Pawn 등의 모든 액터에 추가하여 게임플레이 및 마티네에서의 애니메이션 재생 중에 이들을 제어할 수 있습니다. SkeletalMeshActorMAT 로는 간편하게 메시를 던져 애니메이션을 재생할 마티네에 걸어줄 수 있습니다.
앞서 생성한 AnimTree에 대한 참조로 AnimTreeTemplate 프로퍼티를 설정하여 메시가 정확하게 설정되었는지 확인합니다. 또한 Movement 탭에서 Physics를 PHYS_interpolating으로 설정합니다.
마티네 설정
InterpGroup은 GroupAnimSets 프로퍼티를 통해 사용하려는 애니메이션을 나타내야 합니다.
InterpGroup에서 AnimControl 트랙을 추가합니다(마우스 오른쪽 버튼 클릭).
SlotName은 AnimTree의 AnimNodeSlot 설정 이름입니다. 따라서 이 예에서는 Slot_FullBody, Slot_UpperBody 및 Slot_LowerBody가 있습니다.
이러한 슬롯의 중복 트랙을 생성하여 추가적인 채널을 만듭니다.
웨이트 우선 순서는 아래에서 위쪽입니다. 따라서 가장 아래에 있는 채널이 가장 위에 있는 채널보다 우선 순위가 있습니다. Slot_FullBody에 두 채널이 있고 두 웨이트가 1.0이라면 아래 채널만 애니메이션에 입력됩니다.
각 채널 웨이트를 설정하려면 Curve Editor를 사용합니다. 유효한 웨이트 범위는 0.0에서 1.0입니다.
앞서 만든 애님트리를 사용한 셋업 예제는 다음 스크린샷을 참조하십시오.
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.