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

유저 캐릭터 애니메이션 만들기 5 - 허리 각도에 따라 애니메이션 변화 주기 본문

게임 개발 공부/개인 프로젝트

유저 캐릭터 애니메이션 만들기 5 - 허리 각도에 따라 애니메이션 변화 주기

huenuri 2024. 8. 25. 15:42

이제 유저 캐릭터 애니메이션을 적용하는 기능이 얼마 남지 않았다. 이번주 화요일부터 게임 개발 공부를 다시 시작하며 4일 연속 공부하는 기록을 세우는 중이다. 3일을 넘기는 일은 내게 정말 드문 일인데 주말에 놀더라도 오늘은 계획된 공부를 마쳐야겠다.

이제 마지막 한 시간이 남았다. 공부가 하기 싫은 날에는 음악을 크게 틀고 하기 때문에 평소보다 집중력은 30% 이상 떨어지는 것 같다.

안 하는 것보다는 훨씬 나으니 이렇게라도 해야지. 그럼, 시작해볼까?


 

 

 

각도에 따른 Aim 동작 만들기

이렇게 3개의 동작 애니메이션을 만들 것이다.

 

애니메이션을 가져올 때 주의할 점은 그냥 이동이 아닌 복사를 해야 한다는 것이다.

아래쪽 진행 바를 좌측 끝까지 당긴 후 오른쪽 버튼을 클릭해 프레임 제거를 선택한다.

 

 

 

 

Idle 상태 만들기

 

좌측 Asset Detail 창에서 Additive Setting의 Aim Type을 Mesh Space로, Base Pose Type도 아래 그림처럼 바꾸어 준다.

Pose Animation은 원본을 검색하여 넣는다. 복사본이 아님을 유의하자.

 

 

 

 

 

 

이 Idle을 복사하여 아래로 보는 방향, 위로 보는 방향의 에셋을 하나씩 만들어준다.

 

 

 

 

 

Down, Up 상태 만들기

 

굽히거나 위로 쳐드는 동작은 spine_02를 클릭하고 45도 정도 구부리도록 바꾸어준다. 그런 다음 +key를 눌러 키프레임을 추가한다.

 

 

 

 

 


 

 

Aim Offset 1D 만들기

 

Aim Offset 1D는 한 방향으로 바라보는 에니메이션을 설정할 때 사용한다. 스켈레톤을 선택하고 에디터의 아래쪽 그래프에서 전에 하던 것처럼 값을 설정하고 모션을 넣어주었다.

 

 

 

 

 

 

방향만 받으니 가로축으로만 줄이 생겼다.


 

 

 

ABP 애니메이션 블루프린트 수정하기

 

Event Graph

Aim 변수를 하나 추가하고, 폰 소유자가 Aim Rotation을 받도록 한다. 그리고 Aim 값을 바꾸는 노드를 연결한다.

 

 

 

Aim Graph

 

에님 그래프에서 조금 전에 만들었던 AOB_Aim 노드를 가져오고 Aim 변수를 추가한다.

 

중간에 Layered blend per bone과 연결해준다.

 

 

 

 

 

 

이제 허리를 구부리고 펴는 동작이 가능하다.

 

 

 

 

 

 

이 블로그에는 Aim을 변경하는 또다른 방법이 나와있는데, 난 앞선 블로그에서 소개했던 방법이 더 나은 것 같아 이걸로 해보았다.


 

 

학습을 마치고

 

드디어 유저 캐릭터 기본 애니메이션은 정리를 마쳤다. 공부하기 싫은 마음을 억지로 참고 또 참고 해보니 이것도 할만 했다.

전에는 이런 마음이 들면 포기하고 하지 않았으나 마음의 근육도 단련시킬수록 튼튼해짐을 느꼈다. 이론적인 학습이 더 필요한 부분도 있지만, 오늘의 개인 프로젝트는 여기까지 진행해보기로 했다.