애니메이션(Animation)

애니메이션 지원됨:
  • 모든 타입 객체의 변형 애니메이션
  • 포즈 본의 변형 애니메이션
  • 셰이프 키 애니메이션
  • 빛 애니메이션
  • 카메라 애니메이션

한 객체에 대한 여러 동작

대부분의 게임은, 하나의 객체가 여러 애니메이션을 가져 번갈아가며 씁니다. 이 애드온은 여러 동작 모두를 하나의 AnimationPlayer로 내보내서 쉽게 동작을 바꿀 수 있도록 합니다.

이 워크플로는 블렌더 nla_tracks를 사용합니다. 다음은 이 기능을 사용하는 간단한 가이드입니다:

1. 활성화 동작 숨기기(Stash)

New created action is always an active action bound to object. There are several ways to place an active action into NLA track, one is of course doing it in NLA Editor

../../../../_images/nla_editor.jpg ../../../../_images/nla_pushdown.jpg

혹은 Dope Sheet에서 액션을 숨길 수 있습니다

../../../../_images/dope_sheet.jpg ../../../../_images/stash_action.jpg

2. NLA 트랙의 mute 상태 확인하기

NLA 트랙은 muteunmute를 할 수 있고, 내보내기는 mute 상태인 모든 NLA 트랙을 개별 액션으로 내보낼 것이며, unmute 상태의 모든 NLA 트랙은 (액션을 포함한) 모든 액션으로 혼합하여 내보낼 것입니다.

../../../../_images/nla_strip.jpg

3. 씬 내보내기

Export Stashed Actions 설정이 켜져 있어야 합니다.

../../../../_images/stash_action_option.jpg

그러면 모든 숨겨진 동작, 활성화 동작을 AnimationPlayer로 내보냅니다.

../../../../_images/in_godot.jpg

제한(Constraints)

때로 복잡한 애니메이션은 객체 제한으로 만들어집니다; 보통 예시로는 역운동학(inverse kinematics)이 있습니다. 애드온은 객체가 제한이 있는지 자동으로 확인할 것입니다; 제한이 있다면 모든 제한은 액션에 베이크되어 객체와 함께 내보냅니다.

애니메이션 모드

Godot와 블렌더는 애니메이션 데이터를 저장하는 다른 구조를 갖고 있습니다. Godot에서 애니메이션은 각각의 움직이는 노드 대신 AnimationPlayer 노드에 저장됩니다.이 불일치를 고치고 그럼에도 애니메이션을 다용도로 재생하도록 하기 위해, 이 애드온은 세 개의 애니메이션 내보내기 모드를 갖고 있습니다.

'Animation as Actions' 모드

모든 애니메이션을 객체의 동작으로 취급합니다, 따라서 내보낸 씬에서 모든 객체는 고유의 AnimationPlayer를 가지며 동작을 갖고 있습니다.

'Scene Animation' 모드

블렌더의 타임라인에서 재생한 것과 같은 결과를 만들고 싶다면, 이것을 써야 합니다. 이 모드에서, 씬의 모든 애니메이션은 씬 루트의 한 AnimationPlayer에 배치됩니다.

'Animation as Action with Squash' 모드

이 모드는 'Animation as Action' 모드와 비슷한 작업을 하지만, 더 적은 AnimationPlayers를 만듭니다; 객체는 부모 자식 관계에서 AnimationPlayer를 공유합니다. 여러 리깅을 해야할 때나, 각 Skeleton과 Mesh가 동작을 가질 때 유용합니다; 하나의 리깅은 하나의 AnimationPlayer만 있으면 됩니다.