[UE5] 2주차 2번. BlendSpace 애니메이션 구현
by pmj6541Q. 애니메이션 저번글에 하셨잖아요?
그건 Locomotion. 이번건 BlendSpace 입니다.
Q. 이거 봤어요. 지난 글에 additive 구현할 때 base 로 넣었잖아요.
본의아니게 스포 했습니다.
각설하고, Locomotion 대신 왜 BlendSpace 로 구현하였는지 설명하겠습니다.
너무 복잡한 애니메이션 그래프
말 그대로, 너무 복잡한 애니메이션 그래프가 생길 수 있어요. 아래 선들이 전부 크로스 되면서 어떤 구조인지 파악하기 어렵습니다.
물론 그래프를 간결하고 이해하기 쉽게 하는 방법은 여러가지 있지만, BlendSpace를 활용하여 스테이트 수를 줄여주는 것도 하나의 방법이라는걸 말하고 싶어요.
아날로그성 연결
내 나름 이름을 붙여보았는데, 이해가 잘 되면 좋겠습니다. Locomotion 애니메이션은 전환 조건을 boolean 의 성격으로 전환됩니다.
이동 -> 점프 같은 경우는 해당사항이 더 적합하지만, 이동 -> 뛰기, 뛰기 -> 이동 같은 경우, 실제 행동과 연관지어 봅시다.
속도에 따라 빨라지고, 느려지며 걷기, 뛰기 동작이 자연스럽게 이어지지 않나요.
이걸 아날로그성 연결이라고 했습니다.
구현
BS_Unarmed 라는 블렌드 스페이스 파일을 만들어줍니다. 콘텐츠 드로어 -> 우클릭 -> 애니메이션 -> 블렌드 스페이스 입니다.
그리고, 아래와 같은 설정을 해주어야 해요. 강의에서는 암기식으로 넘어갔지만, 조금이나마 기억에 남도록 설명하자면, 우리는 대기 -> 걷기 -> 뛰기 를 섞고 싶으니 1 x 2의 그리드가 필요합니다. 그리고 애니메이션을 결정하는 변수값은 Speed 이니 적어 주시고, 적당한 값을 넣어주죠. 최대 600으로 지정하겠습니다. 앞서 말했듯, 3가지 애니메이션을 넣어주어야 하기에 그리드는 2개로 분할합니다. (선이 3개 생기므로..)
그다음은 간단해요. 에셋 브라우저에서 대기, 걷기, 뛰기 애니메이션을 분할된 그리드에 잘 넣어줍니다.
이제 세 애니메이션이 Speed 의 값에 따라 아날로그식으로 연결되어 작동합니다.
적용
어떻게 적용하는가 입니다. 당연하게도 Character의 애니메이션을 구현하기 때문에 ABP_Character 파일로 와줍니다.
Locomotion을 연결해주었던걸 우리가 직접 만든 BS_Unarmed 라는 블렌드 스페이스 와 연결해주면 됩니다.
이러면 wasd 입력에 따라 Speed 가 바뀌게 되고, 스피드 값에 따라 대기 -> 걷기 -> 뛰기 의 연결이 이어지게 됩니다.
Q. Gif 결과물좀 넣어줘..
다음시간에는 꼭..
'UnrealEngine' 카테고리의 다른 글
[UE5] 2주차 5번. Sword와 함께.. (0) | 2024.12.27 |
---|---|
[UE5] 2주차 4번. Dodge 구현 (feat. Interface) (0) | 2024.12.24 |
[UE5] 2주차 3번. 애니메이션 Alias 기능 (0) | 2024.12.23 |
[UE5] 2주차 1번. Locomotion 애니메이션 구현 (1) | 2024.12.19 |
[UE5] 1주차. 구현 요약 (1) | 2024.12.18 |
블로그의 정보
만두네민박
pmj6541