game-1 님의 블로그

[UnrealEngine5] Character 애니메이션 본문

UnrealEngine

[UnrealEngine5] Character 애니메이션

game-1 2025. 4. 10. 16:09

애니메이션 

애니메이션 bluePrint 안에는 스테이트 머신을 만들어야한다.

 

 

추가로 캐릭터의 애니메이션을 추가해줄 수 있습니다.

 

애니메이션블루프린트를 다음 처럼 추가해줍니다.

 

 

성공하면 다음과 같은 화면이 뜨는데 , 스켈레톤을 설정해주면됩니다.

 

위와 같이 이름을 지어줍니다.

 

 

 

그럼 다음과 같은 화면이 나오는데 여기서 스테이트 추가를 클릭해 state를 추가해줄 수 있습니다.

idle/run을 추가해준다.

들어가서 애니메이션을 idleRun이라는 블랜드스페이스를 추가해주고,

 

 

 

변수로 승격을 클릭해서 speed를  변수로 빼줍니다.

 

그리고 빼준 speed를 이용하여 이벤트 그래프를다음과 같이 작성해줍니다.

이때 speed의 경우 변수에서 끌고와서 set으로 가져오시면됩니다.

 이후 set과 cast to Character 노드를 연결 해줍니다.

 

BP_MainCharacter 다시 들어가서, 애니메이션을 만들어둔 블루프린트로 바꾸어줍니다.

 

여기서 IsFalling함수를 활용하면, 

캐릭터의 z축을 검사해서 떠있는지 안떠있는지를 검사해줍니다. 이를 통해 

추락하고 있는지 안하고있는지를 검사할 수 있습니다.


이제는 이 만든 변수를 활용하여 점프를 구현하면 됩니다.

점프의 경우 다음 3가지 스테이트가 필요합니다.

 

Jump를 시작하는 애니메이션, JumpLoop 공중에 떠있는 부분,

JumpEnd: 점프가 끝나는 부분 이렇게 나눕니다.

그리고 각각의 스테이트 변환시에 조건을 만들어 적용해주면됩니다.

위에 Is Falling 변수를 만들어 두었던 것을 활용하여 작성해 주면됩니다.

 

ex) idleRun 상태에서 -> jumpStart 부분입니다. 공중에 떠지면 위와 같이 jumpStart로 바꿔주면됩니다.