Unreal TIL 4일차 - Animation(1)

yys·2026년 2월 27일

TIL

목록 보기
4/85

Animation Blueprint


애니메이션 블루프린트(Animation Blueprint)는 게임 플레이 중 캐릭터의 애니메이션을(정확히는 Skeletal Mesh의 애니메이션을)제어하는 도구이다.

애니메이션 블루프린트의 초기 사진

  • Result에는 Animation 에셋 자체를 넣을 수 있지만, 조건에 따라 다양한 애니메이션을 수행하도록 BlendSpace, State Machine 등을 추가할 수 있다.

Blend Space


유휴(Idle), 걷기(Walk), 달리기(Run)처럼 애니메이션을 특정 값에 따라 혼합해서 자연스럽게 유도하는 도구이다.

아래는 Idle, Walk, Run에 대한 Blend Space

  • 각 애니메이션에 대한 Speed(Value)는 0, 50, 100으로 단순하게 지정했다.
    • 이 부분은 Character Movement Component의 Max Speed에 따라 달라질 수 있다.
  • 따로 움직이는 도중에 다른 애니메이션(기울이기 같은)을 넣지 않았기에 Legacy 버전인 Blend Space 1D로도 가능하다.

Event Graph 수정


Animation Blueprint는 내부에 Event Graph가 있어 로직을 수행할 수 있다.

현재는 '어떤 Speed 값에 어떠한 애니메이션을 사용할 것인가?' 만 지정했을 뿐, 'Speed에 값을 넣는' 부분을 지정하지 않았는데 이 부분을 여기서 해결하면 된다.

Animation Blueprint에 값을 부여하는 로직을 구현하면 다음과 같다.

  • 해당 Animation Blueprint를 지니는 Pawn 정보를 가져오고
  • Pawn의 Velocity 벡터를 XY 평면에 내린 벡터의 크기를 Speed 변수에 할당

Animation Blueprint의 Anim Graph에 만들었던 Blend Space를 배치하고 업데이트한 Speed 변수를 삽입

기타 내용


강의를 통해 지니고 있던 내용을 Remind하면서, CMC(Character Movement Component)의 특징을 다시금 떠올렸다.

CMC는 가만히 있으면 Kinematic 상태가 되어서 물리 엔진이 잠시 동작하지 않는 다는 것인데, 이를 해결하려면 Tick을 통해 캐릭터를 앞 또는 뒤로 소량 움직이고 롤백하도록 해야 했다.

CMC의 대안으로 Mover라는 실험적 플러그인이 있는데, 필요하면 한 번 사용해봐야겠다.

참고 내용

profile
게임 개발 지망생

0개의 댓글