unreal 8기

9일차

왕건 2026. 2. 13. 17:44

애니메이션 블루프린트와 블렌드 스페이스

 

 

SK_Bot에 대한 애니메이션 플루프린트를 생성해준다.
에셋의 Idel 모션이 ABP에 적용이 되었다. 하지만 우리는 ABP가 아닌 BP에 적용을 해야한다.

 

적용 방법은 캐릭터 BP로 들어가서 Anim Class를 아까 만들었던 ABP로 설정해준다.
초록색은 애니메이션 시퀀스 타입, 노란색은 블렌드 스페이스 타입

 

보라색파일은 몽타주

 

몽타주와 시퀀스의 차이는 시퀀스는 단일모션, 몽타주는 여러가지의 모션이 들어감.

 

블렌드 스페이스에 정지상태와 뛰는 상태를 넣어준다.

 

블렌드 스페이드 > 여러 모션들을 섞어서 표현할 수 있는 공간

 

방금 만든 블렌더 스페이스를 적용시켜 본다.

 

속도를 세팅해 주어야한다.

캐릭터의 속도 값을 가져야한다.

이벤트 그래프로와서 속도 값을 받을 변수를 생성한다.

 

Speed라는 변수값을 속도로 받게 설정해준 다음

 

설정 된 폰의 오너의 정보를 가지고 옴
걷기랑 뛰기는 Z축 값을 쓰지않기 때문에 핀분할로 Z축을 따로 나눠준다.

 

스칼라 : 크기만 가지고 있는 값

벡터 : 크기와 방향도 가지고 있는 값

 

길이가 벡터의 스칼라 값이기 떄문에 벡터의 길이를 구해준다.
그걸 속도로 넣어준다
값 들이 유효한지 안한지 체크를 하기 위해 시작할때 is valid를 넣어준다.

 

컴파일 후 실행해보면 잘 적용이 된걸 볼 수 있다.


 

이번엔 '스테이트 머신' 이라는 개념을 이용해 여러 모션들을 추가해 볼 것이다.

 

모션들을 효율적으로 관리하기 위해 사용한다.

 

예를 들면 '신호등', '자판기'도 스테이트 머신의 한 종류이다.

 

 

스테이트 머신 Run 노드에 Run 시퀀스를 바로 넣지 않는 이유는
모션이 가만히 있다가 바로 뛰는게 아닌,

어색하지 않게 속도에 따른 모션의 차이를 주기 위해서 바로 Run을 넣지 않는다.

 

다시 스테이트 머신으로 돌아와서 서로 상호작용을 연결해주고 
상호작용 연결간의 조건(트랜지션 룰)을 설정해준다.  

 

달리는 상태는 속도가 0보다 클때
가만히 있는 상태는 속도가 0보다 작거나 같을때

이렇게 설정 해준다음

 

 

기존 노드들을 지우고 새로 만든 스테이트 머신을 적용 시켜주면 

 

 

잘 적용이 되는 걸 볼 수 있다.

 


다음으로는 점프를 구현해 볼 것이다.

 

점프는 뛰거나 안뛰거나 두 가지 중 하나기 때문에 

ABP 이벤트 그래프에 참 거짓 노드를 생성해주고
Movement Componant의 Is Falling 값을 가져와 준다.
sequence를 이용해 노드들을 정리해준다.

 

이제 스테이트 머신에 적용해야한다.

 

 

스테이트 머신으로 돌아와서 

StateAlias를 Idle/Run으로  생성해주고, 나머지 점프, Fall, Land를 State로 설정해준다. 

 

Fall 애니메이션은 착지하기 전까지는 계속 되어야하기 때문에 디테일패널에 루프 애니메이션을 체크해준다.

 

트랜지션 룰 순서를 설정해준다.

Idle/Run > Jump

Idle/Run > Fall      트랜지션 룰에 isin Air 부울 값을 넣어준다

 

점프 모션이 끝나자 마자 떨어지는 모션이 자동으로 나오게 체크해준다.

 

 

Fall > Land 트랜지션 룰에 낫을 추가해 더이상 공중에 있지 않을때 착지모션이 나오게 설정해준다.

 

 

착지 후 정지상태 모션이 바로 부드럽게 나와야하기 때문에 이것도 자동으로 되게 체크해주고 컴파일 저장 후 실행

 

떨어지는 모션
착지모션

 

잘 동작하는것을 알 수 있다.

 

 

'unreal 8기' 카테고리의 다른 글

11일차  (0) 2026.02.20
10일차  (0) 2026.02.19
8일차  (0) 2026.02.12
7일차  (0) 2026.02.11
6일차  (0) 2026.02.10