애니메이션 블루프린트 | 시퀀스 | 몽타주 | 블랜드 스페이스 | 스테이트 머신

김여울·2025년 5월 25일
1

내일배움캠프

목록 보기
4/111

애니메이션 블루프린트를 이용한 캐릭터 애니메이션 시스템 만드는 순서
1. Skeletal Mesh 캐릭터 준비
2. 애니메이션 시퀀스 가져오기 (Idle, Walk, Run 등)
3. 블렌드 스페이스 생성 (속도에 따른 모션 전환)
4. 애니메이션 블루프린트 생성
5. State Machine 구성 (Idle → Run 전환 등)
6. Transition Rule 설정 (속도 기반 등)

🔻ABP_Character

  • 블루프린트에 애니메이션 적용하기
  • BP_Character 가서 만들어놨던 ABP_Character를 애님클래스 설정

🌀 애니메이션 에셋 종류

종류설명예시색상 (콘텐츠 브라우저 아이콘 기준)
🟩 애니메이션 시퀀스Skeletal Mesh에 적용되는 기본 애니메이션 클립걷기, 점프, 공격 등초록색
🟧 블렌드 스페이스여러 애니메이션을 속도나 방향 등 변수에 따라 부드럽게 전환걷기 ↔ 달리기 전환 등주황색
🟪 애니메이션 몽타주애니메이션 조합 + 분기/조건/노티파이 등을 조정 가능한 고급 애셋콤보 공격, 스킬 발동 등보라색

몽타주 만들기
애니메이션 시퀀스 우클릭 > 생성 > 애님몽타주 생성
📎애니메이션 블루프린트 Anim Montage, 상하체 애니메이션 분리


🌀애니메이션 시퀀스 vs 몽타주 비교

항목🟩 애니메이션 시퀀스🟪 애니메이션 몽타주
기본 개념단일 모션 데이터 (3D 애니메이터가 만든 순수 애니메이션)여러 시퀀스를 조합해 상황에 따라 재생
트리거 / 이벤트❌ 불가능✅ 가능 (노티파이, 섹션 등 포함)
사용 위치일반 상태머신, 블렌드스페이스특정 슬롯에서 재생 (애니메이션 블루프린트 필요)
구조하나의 모션만 포함여러 시퀀스를 "섹션"으로 나눠서 구성 가능
용도기본 동작 (걷기, 달리기 등)상황별 연출 (공격, 스킬, 컷신 등)
추가 기능없음 (모션 재생 전용)노티파이, 분기, 트리거 등 다양한 게임 로직과 연동

  • 블렌드 스페이스
    🔻BS_RunWalk
    • 여러 개의 애니메이션을 해당 값에 따라 중간 애니메이션을 자동으로 계산해서 보여준다

▶ 세로축에 Speed 설정하고 세로축만 사용
속도가 0 = Idle
최고 속도 = Run

🔑 ctrl - 마우스 대면 프리뷰
🔑 Shif - 딱 맞춰서 설정됨

▶ ABP_Character 변수 생성 후 갖고와 연결

Velocity에는 X, Y, Z 축 다 포함되어 있다
Z축은 점프이기 때문에 사용하지 않고 달리기는 X축과 Y축만 사용
구조체 핀 분할 ➡ Make Vector X와 Y만 갖는 새로운 벡터 생성할 수 있다

  • Vector와 Scalar의 차이

    • Vector 방향성과 크기를 모두 가진 값. 예: 속도, 힘, 이동 방향 등
    • Scalar 크기만 있는 값. 예: 속력(방향 없음), 질량, 온도 등
  • Vector Length

    • Vector Length 벡터의 길이 ➡ 크기

    • 방향성은 제거하고 힘의 크기만 필요할 때 사용

    • Vector Length 를 통해 속력만 가져올 수 있음 → 방향은 필요 없고 움직임의 강도(빠르기)만 알고 싶을 때 유용
      💡 벡터의 길이는 스칼라 값

      // 캐릭터 속도 구할 때
      FVector Velocity = Character->GetVelocity(); // 방향 + 크기
      float Speed = Velocity.Length();             // 크기만 (속력)

  • IsValid() 함수

    • IsValid(SomeActor) 는 해당 액터가 레벨에 존재하고 유효한 상태인지 검사하는 함수
    • 보통 NullPointer 예외 방지용 방어 코드로 제일 앞 줄에 사용함.

  • 스테이트 머신

    • AnimGraph에서 블랜드 스페이스 대신 스테이트 머신 들고오기

      항목State MachineBlend Space
      기반 원리상태 간 전환애니메이션 간 혼합
      구성 단위여러 상태(State) + 전이 규칙하나의 블렌딩 맵
      사용 예시걷기 → 점프 → 공격 전환속도에 따라 걷기 ↔ 달리기 혼합
      입력조건식 (속도 > 200 등)연속된 변수 (속도, 방향 등)
      재사용성여러 상태 논리 작성 가능단일 애셋 내부에서 부드러운 전환
    • 스테이트에 각 시퀀스 / 블랜드 스페이스 연결

    • Run에 블랜드 스페이스 넣는 이유
      - Run 상태에 애니메이션 시퀀스만 넣으면 속도가 1만 되어도 무조건 Run 애니메이션이 바로 재생돼서 자연스럽지 않음
      - BS로 속도 값에 따라 애니메이션 부드럽게 섞어줌

  • 트랜지션 룰

    • 스테이트 머신(State Machine) 안에서 "어떤 상태에서 다른 상태로 전환할 조건"을 정함

      속도가 0보다 크면 Idle ➡ Run

      속도가 0보다 작거나 같으면 Run ➡ Idle

0개의 댓글