UDN
Search public documentation:

AdditiveAnimationsKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 애니메이션 > 애디티브 애니메이션
UE3 홈 > 애니메이터 > 애디티브 애니메이션

애디티브 애니메이션


문서 변경내역: Laurent Delayen 작성. 홍성진 번역.

개요


애디티브(additive, 더하기식) 에니메이션이란 두 애니메이션 간의 차이를 계산하여 만들어집니다. 애디티브 애니메이션은 그 자체로는 전혀 쓸모가 없는데, 다른 애니메이션에 더해야 제대로 작동하기 때문입니다. 애디티브 애니메이션의 바탕이 되는 개념은 여러 애니메이션에 더해서 쓸 수 있는 포즈를 찾아내는 것입니다. 이렇게 하여 각각의 상태에 드는 전체 애니메이션 수가 줄어듭니다. 예를 들어 무기 재장전 애니메이션을 애디티브로 만듭니다. 그런 다음 그것을 빈둥(idle) 애니메이션, (전후좌우) 걷기 애니메이션 세트, 달리기 애니메이션 등에 더해줍니다. 그렇게 되면 앞으로 걷는 (또는 기타 다른 조합의) 애니메이션 도중 재장전을 하는 것이 아니라 재장전 애디티브를 만드는 것이고, 앞으로 걷기나 뒤로 뛰기 등등 위에다 더해줄 수 있는 것입니다.

애디티브 애니메이션 vs 필터

위의 무기 재장전 예제는 필터를 사용해도 가능한 일입니다. 재장전 애니메이션은 캐릭터의 상체에 재생하고, 하체는 빈둥, 걷기, 뛰기 애니메이션으로 놔두는 것입니다. 필터를 사용할 때의 문제점은 상체를 완전히 덮어쓴다는 데 있습니다. 그래서 뛸 때보다 가만히 서 있을 때 뻣뻣해 보이게 되어 애니메이션 블렌드 결과가 부자연스럽습니다. 필터 보간 가중치를 척추나 어깨까지 내린다 해도, 블렌드 결과가 그리 좋아 보이지는 않습니다. 애디티브 애니메이션을 사용하면 두 (전체 운동과 재장전) 모션 다 보존되어 훨씬 나은 결과를 얻을 수 있습니다.

애디티브 애니메이션의 문제

애디티브 애니메이션의 문제라면, 두 애니메이션을 더한 결과가 항상 원하는 대로 나오는 것은 아니라는 점입니다. 빌드할 때 애디티브 애니메이션은 두 애니메이션 간의 차이입니다. 거기서 얻은 애디티브 애니메이션은 딱 그 애니메이션에는 매우 잘 돌아가는 것이지요. 그러나 그 애디티브 애니메이션을 다른 애니메이션에 사용할 때는, 예상했던 결과와 다를 수가 있습니다.

총이 얼굴을 관통할 수도 있고, 캐릭터의 애니메이션이 부자연스러울 수도 있습니다. 즉 애디티브 애니메이션 만들어 사용하기가 항상 녹록치많은 않은 일입니다. 일반적으로 애디티브 애니메이션은 베이스 포즈에 매우 가까운 애니메이션 위에 사용하는 것이 좋은데, 그럴 때는 IK 본을 사용하여 팔다리(limb)의 오차를 수정하는 것이 좋습니다. 흔히 캐릭터의 엉덩이와 다리에 영향을 끼치는 애디티브 애니메이션의 경우, 발이 있어야 할 곳에 있지 않아 자다가 남의 다리 긁는 문제가 생기기도 합니다. 풋 플레이스먼트(foot placement)를 사용하면 이런 문제를 해결할 수 있기는 합니다. ^_^

애디티브 애니메이션 만들기


서로 빼기 계산을 해 줄 두 애니메이션 다 같은 애님세트에 있어야 합니다. 애님세트를 애님세트 에디터 로 열어 주고요. 브라우저에서 애니메이션을 선택합니다. Additive = A - B 를 하려면, 먼저 A 를 선택한 다음 툴바에 있는 애님시퀸스 메뉴에서 시퀸스를 애디티브 애니메이션으로 변환 을 선택합니다.

그렇게 선택하고나면 대화창이 뜹니다:

첫 번째 박스에서 애디티브 애니메이션 빌드 방법을 묻습니다. 연산은 Destination (Additive) = Source (selected animation) - Base Pose 입니다. (목적 (애디티브) = 원본 (선택된 애니메이션) - 베이스 포즈)

  1. 리퍼런스 포즈 - 베이스 포즈로 스켈레탈 메시 바인드 포즈를 사용합니다.
  2. 애니메이션 첫 프레임 - 베이스 포즈 애니메이션의 첫 프레임을 사용합니다.
  3. 애니메이션 스케일됨 - 베이스 포즈 애니메이션은 소스 길이에 맞도록 스케일 조절한 다음 다음 빼기 연산을 합니다.

연산이 완료되면 ADD_(소스_애니메이션_이름) 이라는 애디티브 애니메이션이 생성됩니다.

애디티브 애니메이션 보기


애디티브 애니메이션은 두 애니메이션의 차이점만을 나타내는 것이기 때문에, 그 자체로 뭔가가 나오지는 않습니다. 애디티브 애니메이션을 알아보기 쉽게 하기 위해 베이스 포즈를 애디티브 애니메이션과 함께 저장합니다. 그래서 애님세트 에디터에서 재생할 때 보이는 것은 베이스 포즈 + 애디티브 애니메이션 입니다. 스켈레톤 표시 역시도 그렇게 표시됩니다. 툴바의 그 아이콘 옆에는 베이스 포즈 애니메이션을 보는 아이콘도 있습니다. 클릭하면 베이스 포즈 스켈레톤이 보라색으로 표시됩니다. 아래 스크린샷에서 보면 스켈레톤이 둘 있는데, 애디티브 애니메이션이 베이스 포즈(보라)를 어떤 식으로 움직이는지(하양) 확인할 수 있습니다.

애디티브 애니메이션 재생하기


애님트리 에디터에서는 두 가지 방법을 사용하여 애디티브 애니메이션을 재생할 수 있습니다. AnimNodeAdditiveBlending (애님 노드 애디티브 블렌딩) 노드 또는 AnimNodeSlot (애님 노드 슬롯)을 사용하는 것입니다.

AnimNodeAdditiveBlending

이 노드에는 입력이 둘 있습니다. 첫째는 베이스 포즈로, 보통 애니메이션을 받습니다. 둘째 입력은 애디티브 애니메이션을 받습니다. 슬라이더를 통해 베이스 포즈 위에 적용되는 애디티브 애니메이션 양을 (0 - 100%) 조절할 수 있습니다.

AdditiveBlendingNode.jpg

AnimNodeSlot

애님 노드 슬롯은 애디티브 애니메이션 처리 방식을 이해합니다. 그래서 특정한 방식으로 사용할 필요가 없습니다. 그저 그 위에 애디티브 애니메이션을 재생하면, 소스 인풋을 덮어쓰는 대신 그 위에 애디티브 애니메이션이 더해집니다.

애디티브 애니메이션 조작


애님세트 에디터 툴바의 애님시퀸스 메뉴에서, 애디티브 애니메이션의 조작이 가능합니다.

더하기/빼기

"애디티브 애니메이션을 선택된 시퀸스에 추가" 또는 "애디티브 애니메이션을 선택된 시퀸스에서 빼기" 를 선택하면 애디티브 애니메이션을 선택한 것에 더하거나 뺄 수 있습니다.

첫 박스에서는 새로 만들 애니메이션 이름을 입력할 수 있습니다.

둘째 박스에서는 두 애니메애션을 서로 합치는 방법을 선택할 수 있습니다.

  • 애디티브 애니메이션을 소스에 맞춰 스케일 - 애디티브 애니메이션을 소스 길이에 맞춰 스케일 조절합니다.
  • 소스를 애디티브 애니메이션에 맞춰 스케일 - 소스 애니메이션을 애디티브 길이에 맞춰 스케일 조절합니다.

셋째 박스에서는 사용할 애디티브 애니메이션을 선택할 수 있습니다. 참고로 애디티브 애니메이션은 보통 애니메이션이나 다른 애디티브 애니메이션에도 더하거나 빼줄 수 있습니다.