클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

RPG 게임 기능 1 - 애니메이션 Locomotion & Blend Space 2 : 웅크린 자세와 기울여 달리는 자세 만들기 본문

게임 개발 공부/언리얼 엔진

RPG 게임 기능 1 - 애니메이션 Locomotion & Blend Space 2 : 웅크린 자세와 기울여 달리는 자세 만들기

huenuri 2024. 8. 25. 14:28

오늘 새벽에는 언리얼 애니메이션 학습을 마무리하려고 한다. 지난번에 기본 상태 애니메이션까지 만들었고, 오늘 해야 할 작업을 웅크린 자세의 애니메이션을 만드는 것이다.

영어로 되어 있어 한국어보다 이해하는데 어려워서 여러번 돌려봐야 하니 시간이 많이 걸린다.
오늘은 꼭 애니메이션 학습을 마치고 다음주부터는 다른 기능도 넣고 해야 할 작업들이 정말 많다.

 

참고 유튜브 동영상


 

 

웅크린 자세의 애니메이션 만들기

 

Blend Space 1D 생성

 

속도만 받을 것이니 1D로 만들어 다음과 같이 추가해준다.

 

앞에서 여러번 반복했으니 이젠 별로 어렵지 않다.


 

 

 

ABP에서 상태 추가하기

 

에님 그래프에 들어가서 crouch 상태를 만들고 여기에 애니메이션 노드를 연결해준다.


 

 

 

Main 그래프에서 Crouch 상태 추가하기

main에 모든 애니메이션을 하나로 만들어 추가해주었는데 crouch 동작도 하나 만들도록 하자.

 

그런 다음 crouch일 때와 아닐 때의 상태를 변수를 받아 만들어주었다.


 

Event Graph에서 노드 연결하기

BP_Character에서 변수 받기

BP_에서 crouched 변수를 하나 만들고, ASP로 와서 받은 character를 가져온 후 노드에 연결한다.

이제 이를 활성화, 비활성화 시켜주어야 하므로 다시 BP_Player로 돌아간다.


 

Input Action 만들기

IA_Crouch 애니메이션

 

왼쪽 컨트롤 키를 입력하면 crouch 상태가 되는 상태를 만들어준다.

이미 제공된 input에서 이 키만 추가해주었다. 이제 BP_Charater의 이벤트 그래프로 돌아간다.

Add Mapping Context가 노드가 연결되어 있는지 확인하고 조금 전에 만들었던 IA_Crouch를 가져온다.

 

연결을 맞게 해주었는데 웅크린 자세 애니메이션은 적용이 되지 않는다.

 

 

 

Character Movement 설정

 

 

 

Camera Boom 설정

 

카메라를 앞쪽으로 옮기는 노드인데, 이렇게 하면 Left Ctrl 키가 작동이 되는 걸 봐서 애니메이션 설정에만 문제가 있는 것 같다.

 

 

 

 

타임라인 추가

 

이렇게 연결을 하면 화면 확대 축소 기능이 활성화된다.


 

 

 

기울인 자세 만들기

Locomotion 폴더 옆에 Lean을 하나 추가하고, mm_run_fwd 애니메이션을 하나 가져와 복사한다.
왼쪽 오른쪽 기울인 자세를 만들 것이므로 하나는 Left, 다른 하나는 Right로 만든다.

애니메이션에 들어가서 다음과 같이 설정을 변경한다.

 

그런 다음 골반을 왼쪽과 오른쪽으로 10도씩 비틀어 각각 만들어준다.

 

 

 

 

Blend Space 1D 만들기

 

만들어놓은 Left와 Right 애니메이션을 가져와서 BS에 넣어준다.

 

 

 

 

ASP의 스테이트 머신

Walk/Run 상태에서 Lean BS 추가

 

 

 

 

Event Graph 수정

 

Delta Time으로 회전값을 받는다. 앞부분의 속도를 Delta Time으로 바꾸고

 

 

Lean 값을 계산하는 노드를 완성한다.

 

여기까지 했는데 Crouch처럼 Lean도 역시 적용이 되지 않았다.

 

 

 

 

 


 

 

 

 

언리얼 학습을 마치고

굉장히 오랜 시간에 걸쳐 이 동영상을 시청하며 따라해보았다. 사실 웅크린 자세가 되지 않아 뒷부분은 그냥 넘어가려고 했는데, 이상하게도 해보고 싶었다. 그냥 따라하고 블루프린트를 연결하는 것만으로도 공부에 도움이 될 것 같았다. 그래도 포기하지 않고 끝까지 했다는데 스스로를 격려해본다~

평소에 영어공부를 열심히 해둘 걸 하는 후회가 개발 공부를 하며 많은 들곤 한다. 지금은 시간이 없어 영어공부는 못할 것 같지만.. 매일 1시간이라도 하는 게 나을지 아니면 나중에 시간날 때 하는 게 나을지 고민이 되긴 한다.

이제 공부하고 싶은 언리얼 분야는 애니메이션만 아니면 괜찮을 것 같다. 이것만 3주 이상 붙들고 있으니 지루해서 돌아가실 지경이다..
그렇다고 애니메이션을 잘 다룰 수 있는 것도 아니니 나중에 필요한 부분이 있을 때 더 학습해보기로 하자.