여기서는 순전히 커브 데이터로 애니메이션을 구동시키는 걷기 애니메이션을 새로 만들어 봅니다. 기존 애니메이션 시퀀스 를 기반으로 하는 포즈 에셋 을 사용하여, 애니메이션에서 포즈를 둘 받은 다음 블렌딩하여 새로운 걷기 동작을 만듭니다. 여기서는 Full Body 예제를 사용하여 동작을 만들었지만, 동일한 개념을 얼굴 애니메이션에 적용하여 커브 데이터로 구동되는 애디티브 얼굴 애니메이션을 만들 수 있습니다.
여기서는 블루프린트 삼인칭 템플릿 프로젝트를 사용합니다.
-
콘텐츠 브라우저 에서 Content/Mannequin/Animations 폴더 아래 ThirdPersonWalk 를 우클릭하고 포즈 에셋 생성 을 선택합니다.
-
새로운 포즈 에셋 이름은 기본으로 하고, 더블클릭 하여 엽니다.
클릭하면 원본을 확인합니다.
포즈 에셋 을 만들 때, 포즈 이름 은 (커브가 애니메이션에 존재하는 한) 기본적으로 자동 생성됩니다. 포즈 에셋 을 생성해 낸 애니메이션 각 프레임에 대해 포즈를 생성합니다. 각 포즈에 대한 커브 가중치를 조절하여 가중치가 적용된 상태에서의 결과 포즈를 확인할 수 있습니다. 예를 들어, 위에서는 Pose_6 의 가중치를 조절하고 캐릭터는 오른 발을 앞으로 움직입니다.
기본적으로 모든 포즈 에셋 은 Additive 가 아닌 Full Body 로 설정되어 있습니다. 즉 가중치 값은 0 (영향력 없음) 또는 1 (영향력 최대)라는 뜻입니다. 예를 들어 이 경우 가중치 값을 0.2 로 설정하면 1 로 설정한 것과 같습니다. 보다 세밀한 제어를 위해서는 포즈 에셋 을 Additive 로 설정하면 되지만, 캐릭터의 전신에 적용된 (걷기나 뛰기와 같은) 애니메이션에 그렇게 하면 캐릭터가 압축되어 보이거나 스케일이 바람직하지 않게 나올 수 있습니다.
-
Pose_6 에 우클릭 하고 r_foot_fwd 로 이름변경 합니다.
-
Pose_24 에 우클릭 하고 l_foot_fwd 로 이름변경 합니다.
-
메인 툴바 에서 에셋 생성 을 클릭하고 애니메이션 생성 / 레퍼런스 포즈에서 를 선택합니다.
-
저장 위치와 이름을 선택합니다 (여기서는 CurveWalk 라 합니다).
-
새 애니메이션 안에서, 타임라인에 우클릭 하고 Append at the End (끝부분에 덧붙입니다.)를 선택하고 30 프레임을 추가합니다.
-
커브 아래 추가 버튼을 클릭한 뒤, Add Variable Curve.. (변수 커브 추가...) 아래 l_foot_fwd 를 선택하여 추가한 뒤, r_foot_fwd 도 추가합니다.
이제 커브 데이터로 구동시키고자 하는 포즈가 둘 생겼습니다.
-
l_foot_fwd 와 r_foot_fwd 커브 양쪽에 대해 Expand Window (창 확장) 박스를 체크합니다.
-
타임라인을 0 으로 옮긴 뒤 l_foot_fwd 커브에서 Shift + 좌클릭 하여 키를 만들고, Time 및 Value 를 0 으로 설정합니다.
-
Shift + 좌클릭 하여 Time 0.5 와 Value 1.0, Time 1.0 과 Value 0.0 으로 각각 키를 추가합니다.
그러면 애니메이션 중간쯤 캐릭터의 왼발이 앞으로 나간 포즈가 됩니다.
-
r_foot_fwd 커브에서 Shift + 좌클릭 으로 다음 키를 추가합니다: (Time 0, Value 1), (Time 0.5, Value 0), (Time 1, Value 1).
애니메이션 시작시 왼발로 전환해 가는 과정에서 캐릭터의 오른 발이 앞에서 중간에 있게 됩니다. 애니메이션 막바지에 달하면서, 커브 데이터를 사용하여 오른 발 앞 포즈를 다시 취한 뒤 루핑시켜 걷기 한 주기를 만들어 냅니다.
-
포즈 에셋으로 애니메이션을 미리보려면, 에셋 디테일 패널에서 현재 프리뷰 포즈 에셋 이 ThirdPersonWalk_PoseAsset 을 사용하도록 설정합니다.
최종 결과
이제 애니메이션을 재생하면 두 포즈가 커브 데이터로 블렌딩되는 것을 볼 수 있습니다.
런타임에 이 애니메이션을 재생하려면 애니메이션 블루프린트 내 Pose Blend Nodes 중 하나를 사용해야 합니다.