언리얼 엔진 본캠프 7주차-7 언리얼 엔진 C++ : 캐릭터 애니메이션

정재훈·2025년 2월 2일
0

unreal engine

목록 보기
21/45

캐릭터 애니메이션

Anim Instance : 애니메이션 시스템에서 사용하는 가장 핵심 클래스

  • 애니메이션 로직, 실행, 연동 등에 관한 것이 구현되어있음

Animation Sequence

: 스켈레탈 메시에 적용되는 단일 애니메이션 클립

  • 특정 프레임 수만큼 저장된 애니메이션 정보
  • 특정 상태에서 단일 애니메이션을 재생하는 용도
  • State Machine이나 Montage를 결합하면 보다 복잡한 애니메이션을 구현할 수 있음

Event Graph

: 게임 플레이 데이터를 기반으로 애니메이션 변수(프로퍼티) 값을 설정하는 그래프

  • 플레이어 캐릭터의 상태를 가져와서 애니메이션 변수를 업데이트
  • 애니메이션 블루프린트에도 Actor의 라이프사이클과 비슷한 것이 있다
    • BlueprintInitializeAnimation : 애니메이션 블루프린트가 초기화될 때 한 번만 호출되는 이벤트
      • 캐릭터의 클래스와 Character Movement를 가져오기
    • BlueprintUpdateAnimation : ActorTick()함수처럼 매 프레임 호출되는 이벤트
      • sequence0 : 속도 가져오기
      • sequence1 : 캐릭터가 움직이는지 확인
      • sequence2 : 캐릭터가 공중에 있는지 확인

Anim Graph

: 출력될 애니메이션를 제어하기 위한 그래프

  • 애니메이션 블렌딩 : 둘 이상의 애니메이션이 부드럽게 전환되도록 만드는 것
    • 블렌드 스페이스 : 여러 애니메이션과 포즈를 애니메이션의 변수(캐릭터의 상태) 값에 따라 부드럽게 전환하는 시스템
  • State Machine : 애니메이션 시스템에서 캐릭터의 상태에 따라 적절한 애니메이션으로 전환해주는 시스템
    • State : State Machine 내부에서 애니메이션의 상태를 표시해주는 노드, State 내부에서 출력할 애니메이션을 지정
    • Transition : 애니메이션의 상태가 다른 상태로 전환되기 위한 조건
    • 각각의 State에 적절한 애니메이션을 연결해주고 Entry state부터 이어줌
      • Idle : 하나의 상태(가만히 있을 때)만 가지므로 Animation Sequence 사용
      • Walk/Run : 멈춰있을 때부터 걷기 시작하고 뛰기까지의 애니메이션을 자연스럽게 연결해주는(애니메이션의 전환을 자연스럽게 해주는) 블렌드 스페이스를 사용
    • Control Rig : 캐릭터의 뼈 구조를 조작하는 리깅 시스템
      • Rigging System : 3D 모델에 뼈대와 제어 장치(Controller)를 배치하여 애니메이션을 위한(움직일 수 있는) 구조로 만드는 과정
      • IK : 뼈를 하나 움직였을 때 나머지 뼈들도 위치, 회전 등이 계산되어서 자연스럽게 보이도록 해줌
        • Rigging System으로 캐릭터의 손/발을 어떤 액터(지면, 아이템)와 맞닿게 지정하고 IK를 통해 나머지 뼈들도 손과 발에 맞게 움직임
profile
드가자

0개의 댓글