2024/02/03 TIL

양우창·2025년 2월 3일

내일배움캠프 TIL

목록 보기
18/22

개요

오늘은 언리얼 엔진의 애니메이션 블루프린트에 대해 학습했다.
캐릭터 애니메이션을 관리하고, 움직임에 따라 자연스럽게 전환되도록 설계하는 방법을 배웠다.

배운 내용

1.애니메이션 블루프린트란?

  • 캐릭터의 골격 애니메이션을 제어하는 전용 블루프린트
  • 게임 블루프린트가 로직을 다루듯, 애니메이션 블루프린트는 캐릭터의 움직임과 애니메이션 상태 전환을 담당
  • Anim Graph와 Event Graph 두 가지 주요 그래프를 사용

2.애니메이션 블루프린트 생성 및 연결

  • 애니메이션 블루프린트 생성하기

    • Content Browser에서 Animation → Animation Blueprint 생성
    • Skeleton (예: SK_Mannequin)과 부모 클래스 (AnimInstance) 선택
    • 블루프린트 이름을 ABP_Sparta로 설정
  • 캐릭터에 애니메이션 블루프린트 적용하기

    • 캐릭터 블루프린트 (BP_SpartaCharacter) 열기
    • Mesh 컴포넌트의 Animation Mode를 "Use Animation Blueprint"로 설정
    • Anim Class를 ABP_Sparta로 지정
    • 컴파일 후 저장, 게임 실행하여 Idle 애니메이션이 정상적으로 적용되는지 확인

3.Movement Component 정보 받아오기

  • 캐릭터 이동 속도, 점프, 낙하 상태를 감지해 애니메이션 전환을 위한 변수 설정

  • 변수 생성:

    • Character (Character Object Reference)
    • CharacterMovement (Character Movement Component Object Reference)
  • 변수 초기화 (Event Graph)

    • Event BlueprintInitializeAnimation에서 Get Owning Actor로 현재 캐릭터 가져오기
    • 캐릭터를 CharacterMovement와 연결하여 속도 및 이동 상태를 가져올 수 있도록 설정
  • 매 프레임마다 이동 속도 업데이트 (Event BlueprintUpdateAnimation)

    • CharacterMovementGet VelocityVector Length XYGround Speed 값 구하기
    • Ground Speed > 3.0이면 이동 중(IsMoving = True), 아니면 Idle 상태
    • CharacterMovementIs Falling 함수로 캐릭터가 공중에 있는지 체크 (bIsFalling)

4.State Machine (Locomotion) 설계

  • State Machine을 활용하여 캐릭터의 상태(Idle, Walk, Run)를 자동으로 전환
  • Anim Graph에서 "New State Machine" 추가 → "Locomotion" 생성
  • Idle, Walk/Run 상태를 추가하고 애니메이션 연결
  • Transition 설정:
    • IdleWalk/Run: Ground Speed > 3.0
    • Walk/RunIdle: Ground Speed <= 3.0

결과: 캐릭터가 이동하면 걷기/달리기 애니메이션으로 부드럽게 전환됨

5.점프 & 낙하 애니메이션 추가 (Main States)

  • State Machine 구조 확장

    • 점프, 낙하, 착지 동작을 위한 Main States State Machine 생성
    • 기존 Locomotion State Machine을 캐시 포즈로 저장 (Save Cached Pose)
    • 애니메이션 상태 추가:
      • Jump (점프 시작)
      • Fall Loop (추락 중)
      • Land (착지)
  • Transition 설정:

    • JumpFall Loop: 점프 애니메이션 종료 시 자동 전환
    • Fall LoopLand: 캐릭터가 지면에 닿으면 착지 애니메이션 실행
    • LandLocomotion: 착지 후 일정 시간 후 걷기/서기 상태로 복귀
  • Control Rig 적용 (Foot IK 설정)

    • Main States에서 Control Rig 노드 추가 → CR_Mannequin_BasicFootIK 설정
    • 발이 지면에 맞게 조정되도록 ShouldDoIKTrace 옵션 활성화

결과: 캐릭터가 점프, 추락, 착지 시 적절한 애니메이션이 전환됨

오늘 배운 점

  • 애니메이션 블루프린트를 활용하면 캐릭터의 움직임을 훨씬 자연스럽게 만들 수 있다.
  • Event Graph에서 CharacterMovement 정보를 가져와 애니메이션을 제어하는 것이 중요하다.
  • State Machine을 활용하면 애니메이션 전환을 직관적으로 관리할 수 있어 효율적이다.
  • Control Rig를 사용하면 지형에 따라 발이 자연스럽게 배치되는 효과를 줄 수 있다.
profile
내배캠 언리얼 엔진 1기

0개의 댓글