State Machine이란 어떤 값에 따라서 애니메이션 상태를 쉽게 변경하도록 하는
장치이다. 물론 유니티에도 있었던 기능인데, 언리얼에서의 이것을 설명해 보겠다.
이렇듯 일단 Character를 생성했어야 한다. 그 안쪽을 보면 Animation 탭에 Animation Mode라는 게 있는데,
여기서 Use Animation Blueprint를 선택하고, Content Drawer에서 적용시킬 Anim Class를 생성해야 한다.
대충 이런 경로로 만들 수 있다. Animation -> Animation Blueprint
이제 더블클릭해서 열어보자.
이렇듯 AnimGraph에서 New State Machine을 만들어주자. 아니 근데 대체 왜 노드 이름이랑
검색할 때 필요한 이름이 다른 것인가? 저 작게 나와있는 게 검색 시 이름인가 아직 헷갈린다.
아무튼 해석을 해보면 StateMachine에서 처리되어 결과로 나온 애니메이션이 결과로
표시되는 형태이다. StateMachine은 아직 아무것도 없다. 더블클릭해서 편집해 보자.
뭐 대충 이런 식으로 만들면 된다. 빈 공간을 클릭하고 New State를 통해서 노드를 만들 수 있다.
그리고 테두리를 클릭해서 드래그하면 서로 연결이 가능하다.
애니메이션 짜듯이 뭐 일반적으로 idle에서 퍼져나가는 형태대로 만들어주자.
반대로도 연결해 줘서 애니메이션을 넘나들 수 있게 하자.
이제 각 노드를 편집할 때다.
이건 idle 노드의 안쪽이다. 간단하다. 그냥 idle 애니메이션을 연결했다.
Walk도 마찬가지로 연결해 주면 된다.
조건을 설정해야 한다. idle에서 Walk로 갈 수 있다는 건 알겠는데, 어떤 상황에서 가야 하는지에 대한 것이다.
여기선 간단히 bool값으로 구현해 보겠다. 실제 상황이라면 속도의 절댓값을 비교한다거나 하면 된다.
마찬가지로 저 아이콘을 더블클릭하면 편집이 가능하다.
Flag라는 변수가 True면 통과하도록 해줬다. 이 정도는 설명 안 하겠다.
반대쪽도 마찬가지로 False일 때 통과하도록 했다.
여기까지 하면 완성된다.
이렇게 Flag가 False일 때는 멈춰서 있다. idle 노드가 작용한 결과라고 보면 된다.
이건 Flag가 false인 경우이다. 사진으로 보면 별 차이가 없어 보이긴 하지만 분명히
걷고 있는 상태이다. 마찬가지로 walk 노드가 작용한 결과이다.
이상으로 도움이 되었길 바라며,
끝.
'게임 개발 > Unreal Engine 5' 카테고리의 다른 글
Unreal Engine 5) 블루프린트(Blueprint)에서 함수 만들기 (0) | 2025.04.13 |
---|---|
Unreal Engine 5) Event Tick에서 입력받는법 (0) | 2025.04.11 |
Unreal Engine 5) Material Parameter Collection (0) | 2025.04.07 |
Unreal Engine 5) Sequence에 대하여. (0) | 2025.04.06 |
Unreal Engine 5) 머티리얼 타일링하는 방법 (0) | 2025.04.06 |
댓글