본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-7

애니메이션 블루프린트의 기초

저번에 잠깐 다뤘던 애니메이션에 대해서 이번엔 애니메이션 블루프린트를 통해 다뤄보자.

이를 위해 우선 애니메이션 블루프린트를 생성해주자.

생성시에 우리가 사용할 스켈레톤 메시를 선택해주어야 한다.

 

그러면 이제 다음과 같은 화면을 볼 수 있다.

좌측에는 미리보기와 함수 및 변수 작성 칸이, 중앙에는 이벤트 그래프 칸이, 우측에는 디테일 패널 및 프리뷰 에디터와 에셋 브라우저가 존재한다.

 

기본적으로 에셋 브라우저에서 원하는 애니메이션을 골라서 Output Pose에 넣고 컴파일을 해주면 해당 애니메이션이 출력된다.

 

우리는 중앙에서 Animgraph를 통해 여러 변수들을 사용하여 애니메이션들을 블렌딩하게 된다.

블렌딩하기 위해 사용하는 함수는 Blend 함수이다.

해당 함수는 이유는 모르겠으나, 언리얼의 언어가 한국어일때는 검색이 불가능하다.

언리얼의 언어를 영어로 바꾸면 정상적으로 검색되니 잠시 언어를 바꿔줄 필요가 있다.

 

이제 해당 함수를 통해 동작 2개를 블렌딩 해보자.

Blend 함수에 있는 알파 값에 따라서 어떤 애니메이션을 동작할지 정하게 된다.

만약 값이 0.5와 같은 중앙 값이라면, 해당 애니메이션 2개를 섞은 동작을 실행하게 된다.

 

우리는 이제 알파 값에 변수를 할당하고, 해당 변수를 통해 런타임 동안에 값을 수정하여 애니메이션을 전환하게 된다.

우선 변수를 설정해주자.

 

설정한 변수는 Anim Preview Editor에서 수치 조절이 가능하다.

 

이제 해당 변수를 알파 값에 설정해주고 해당 에디터 창에서 값을 변경해주면 변경한 값에 따른 애니메이션을 실행한다.

이를 토대로 앞으로 가는 동작과 왼쪽로 가는 동작을 블렌딩 해보자.

이를 위해 앞으로 가는 것에 대한 알파값 변수 1개와 왼쪽으로 가는 알파값 변수 1개 총 2개의 변수가 필요하다.

그리고 idle 동작을 블렌딩에 넣어서 맨 처음 블렌딩할 때 사용하였다.

 

우선 앞으로 가는 동작은 알파값에 따라서 뛰는 동작 또는 idle 값이 섞여 다소 느릿하게 가는 모습을 연출할 수 있다.

이제 Foward 값에 따라서 해당 앞으로 가는 동작이 시행되고, 이어서 Left 값에 따라 Left 동작만 시행되던가 아니면 앞에 Foward 값과 섞인 동작이 시행된다.