본문 바로가기
언리얼엔진 개발/Animation

[UnrealEngine5] 애니메이션 구성하는 방법(1) Blend Space

by yeni_0224 2023. 4. 30.
728x90
반응형

애니메이션을 구성하는 방법은 정말 많이 있지만

크게는 이렇게 세가지가 있는 걸로 알고 있다.

1. State Machine으로 구성하기

2. Blend Space로 구성하기

3. Play Anim Montage로 구성하기

이렇게 세가지 방법이 있다.

개인적으로는 Blend Space로 구성하는 방법이 가장 쉬웠다고 생각한다. (?) 물론 사람바이 사람이지만, 나는 그러했다.

소스코드로 캐릭터 애니메이션을 구성하려고 한다면 솔직히 말하면 저기 중에서 한가지의 방법만 사용하기는 어렵다. 그래서 Blend Space로 캐릭터의 기본 움직임 (Idle, Walk, Jump, Jog)을 구성하고, 추가적인 애니메이션(공격, 죽음, 기어가기) 이런 것들은 Play Anim Montage를 호출해서 사용하는 것이 상대적으로 편했다.

 

애니메이션을 구성하는 방법은 대략적으로 알고있었지만 어떨 때 이 행동을 시킬지와 같은 구성을 짜는게 어려웠고, 코드 연습한다고 Play Anim Monatage로 애니메이션 전부를 컨트롤 하겠다고 하면서 생고생을 하기도 했다. 역시 반반 섞어서 쓰는 것이 아주 좋겠다.

 

그래서 이번 첫번째는 Blend Space로 캐릭터의 움직임을 구성해보겠다.


1. Content Browser 우클릭 > Animation(?) > Blend Space를 선택한다.

 

2. Horizontal, Vertical 부분에서 그래프에 적어줄 범위를 정해준다. 보통은 걷는다는 속도로 하면 200 정도 잡지 않나(물론 개인적인 생각인 것) 생각한다.내가 그래프를 보는 방향 기준으로 앞, 뒤, 왼쪽, 오른쪽으로 이동하도록 애니메이션을 설정해주면 된다. 오른쪽에 있는 애니메이션 에셋을 드래그 해서 각 위치에 지정해주면 된다.

한가운데에 있는 점은 Idle이다. Idle을 중심으로 앞 뒤 좌 우로 움직일 것이다. 라는 의미로 생각하면 되겠다.

 

3. Animation Blueprint에서 BlendSpace를 연결해준다

저 Blend space는 어디에 넣어야 하는가. AnimGraph 창에서 오른쪽에 있을 BlendSpace 에셋을 드래그 하여, Output Pose랑 연결해주고, 그 Blend Space 노드 안에서 가운데 사진처럼 연결해주면 된다. 움직임을 추가로 더 넣을 예정이라면 Move라는 state를 하나 만들고, 그 안에다가 넣어주면 된다. (맨 왼쪽 사진의 Slot이 적힌 노드는 Anim Montage에서 사용하는 노드이니 현재 글에서는 무시해도 된다. 다음번 애니메이션 게시물에서 다시 설명할것이다)

 

4. 역시나 Animation Blueprint에서 이렇게 그래프를 구성해주면 된다. 이렇게 했을 때, 캐릭터가 이동하면서 버벅임/끊김 같은 현상이 가장 덜했다. Dot연산해주는건 그냥 외우는 것이 좋겠다. 

개발 환경 : Unreal Engine5.1

 

여담

언리얼엔진 공부한다고 지난 몇개월간 Notion에 정리를 해놓았건만 블로그처럼 오픈이 안되는 것일줄은 잘 몰랐당. 왜냐하면 자료를 검색했을 때도 구글에 아주 잘 떴고, 회사에서 공고를 낼 때 노션을 많이 활용하던데, 검색하면 아주 잘 떴기 때문이다. 허허.. 지금 게임을 개발하면서 하나씩 일지를 써내려가는 중이기에 이번 기회에 지난 몇달간 공부했던거, 연습하기 위해 만들었던 것들을 하나씩 풀어볼 생각이다 :) 이렇게 풀면서 복습도 하는거지몽 :)

728x90
반응형