언리얼 공부를 하면서 무작정 유투브강의를 찾아 보며 어떤걸 따라 만들어 볼 지 고민했는데 내가 만들고 싶은 게임인 RPG게임을 따라 만드는게 도움이 많이 될 것 같아서 유투브에 있는 RPG 게임 Tutorial를 보면서 따라 만들어 보기로 했다. 영어로만 된 강의라 이해하기 어려웠지만 천천히 듣고 보면서 배워 나갔다. 

https://www.youtube.com/watch?v=WcDj4uZygyE&list=PLiSlOaRBfgkcPAhYpGps16PT_9f28amXi&index=2

 

나는 이 강의를 보고 시작했다. 

일단 기본적인 걷고 뛰는 것을 만들어 보았는 데 이때 애니메이션이 값에 따라 자연스럽게 이어지도록 해주는 것이 Blend Space 1D 이다. 

1. FBX import

일단 서있고 걷고 달리는 애니메이션 을 넣어줘야한다.

이때 애니메이션에 사용될 FBX파일 언리얼 프로젝트에 넣어주면되는데 혹시 모를 경우를 대비해 디폴트로 리셋하고

메시를 자신이 사용할 스켈레톤을 넣어줘야한다. 여기서 나는 스켈레톤인 SK_Mannequin으로 플레이를 만들것이라 SK_Mannequin으로 선택하고 임폴트 해주었다. 

2. Blend Space 1D

Blend Space 1D는 변수의 값에 따라 애니메이션이 자연스럽게 이어지도록 하는 애니메이션 흐름도라고 보면 될 것 같다.

애니메이션 변환을 위한 변수선

이때, 가로축의 이름을 본 사진과 같이 Speed로 해주면되는데 이것은 애니메이션이 Speed의 값에 따라 바뀌게 하기위한 변수선언이라고 보면 되며 이때 750정도를 max값으로 해서 달리기값의 최대를 정해주면 된다. 

애니메이션 삽입

그리고 위의 화면에 보이는 곳에 왼쪽이 Speed값이 0 오른쪽이 최대값인 750 이여서 이에 맞는 애니메이션을 넣어주면 된다. 

3.Animation Blueprint 

그 다음 Animation Blueprint를 만들어 주면 된다. 밑의 사진은 다 만들어진 상태이다. 

중요한 것은 state machine이다. state machine은 Cache pose를 사용하기 위해 애니메이션을 하나의 객체처럼 만드는 것이다. transition은 어떨때 애니메이션이 다른 애니메이션으로 변환되는 지 설정하는 것으로 지금에서는 Speed 값을 넣어 주면 된다. 

Locomotion State machine & Transition
Main State machine 및 흐름도

밑의 사진은 Animation Blue print 안의 Event graph에서 실제로 캐릭터가 움직임에 따라 캐릭터의 스피드를 구하는 Blue print이다. 

 

+ Recent posts