개요
오늘은 언리얼 엔진의 애니메이션 블루프린트에 대해 학습했다.
캐릭터 애니메이션을 관리하고, 움직임에 따라 자연스럽게 전환되도록 설계하는 방법을 배웠다.
배운 내용
1.애니메이션 블루프린트란?
2.애니메이션 블루프린트 생성 및 연결
애니메이션 블루프린트 생성하기
Animation → Animation Blueprint 생성ABP_Sparta로 설정캐릭터에 애니메이션 블루프린트 적용하기
BP_SpartaCharacter) 열기Animation Mode를 "Use Animation Blueprint"로 설정ABP_Sparta로 지정3.Movement Component 정보 받아오기
캐릭터 이동 속도, 점프, 낙하 상태를 감지해 애니메이션 전환을 위한 변수 설정
변수 생성:
Character (Character Object Reference)CharacterMovement (Character Movement Component Object Reference)변수 초기화 (Event Graph)
Event BlueprintInitializeAnimation에서 Get Owning Actor로 현재 캐릭터 가져오기CharacterMovement와 연결하여 속도 및 이동 상태를 가져올 수 있도록 설정매 프레임마다 이동 속도 업데이트 (Event BlueprintUpdateAnimation)
CharacterMovement의 Get Velocity → Vector Length XY 로 Ground Speed 값 구하기Ground Speed > 3.0이면 이동 중(IsMoving = True), 아니면 Idle 상태CharacterMovement의 Is Falling 함수로 캐릭터가 공중에 있는지 체크 (bIsFalling)4.State Machine (Locomotion) 설계
Anim Graph에서 "New State Machine" 추가 → "Locomotion" 생성Idle, Walk/Run 상태를 추가하고 애니메이션 연결Idle → Walk/Run: Ground Speed > 3.0Walk/Run → Idle: Ground Speed <= 3.0결과: 캐릭터가 이동하면 걷기/달리기 애니메이션으로 부드럽게 전환됨
5.점프 & 낙하 애니메이션 추가 (Main States)
State Machine 구조 확장
Main States State Machine 생성Save Cached Pose)Jump (점프 시작)Fall Loop (추락 중)Land (착지)Transition 설정:
Jump → Fall Loop: 점프 애니메이션 종료 시 자동 전환Fall Loop → Land: 캐릭터가 지면에 닿으면 착지 애니메이션 실행Land → Locomotion: 착지 후 일정 시간 후 걷기/서기 상태로 복귀Control Rig 적용 (Foot IK 설정)
Main States에서 Control Rig 노드 추가 → CR_Mannequin_BasicFootIK 설정ShouldDoIKTrace 옵션 활성화결과: 캐릭터가 점프, 추락, 착지 시 적절한 애니메이션이 전환됨
오늘 배운 점
Event Graph에서 CharacterMovement 정보를 가져와 애니메이션을 제어하는 것이 중요하다.