2024/10/21에 해당하는 글 1

캐릭터 애니메이션 설정

Unreal 이론|2024. 10. 21. 19:35

[이득우의 언리얼 프로그래밍 Part2 수업의 정리]

 

스켈레톤과 AnimInstance를 같이 선택해준다.

static ConstructorHelpers::FObjectFinder<USkeletalMesh> CharacterMeshRef(TEXT("/Script/Engine.SkeletalMesh'/Game/InfinityBladeWarriors/Character/CompleteCharacters/SK_CharM_Cardboard.SK_CharM_Cardboard'"));
if (CharacterMeshRef.Object) {
	GetMesh()->SetSkeletalMesh(CharacterMeshRef.Object);
}
static ConstructorHelpers::FClassFinder<UAnimInstance> AnimInstanceClassRef(TEXT("/Game/ArenaBattle/Animation/ABP_AB_Character.ABP_AB_Character_C"));
if (AnimInstanceClassRef.Class) {
	GetMesh()->SetAnimInstanceClass(AnimInstanceClassRef.Class);
}

 

ConstructorHelper를 사용해 원하는 캐릭터 메시를 입혀주고 캐릭터 애니메이션 인스턴스도 지정해준다.

 

캐릭터 애니메이션 시스템의 생성

  • 스켈레탈 메시 컴포넌트의 애니메이션 블루프린트 클래스를 지정한다.
  • 캐릭터가 초기화될때 AnimInstance 클래스의 인스턴스를 생성한다
  • 캐릭터는 GetAnimInstance 함수를 사용해 애니메이션 인스턴스를 얻을 수 있음
  • 애니메이션 인스턴스는 GetOwningActor 함수를 사용해 자신을 소유한 액터 정보를 얻을 수 있음

 

캐릭터 애니메이션 시스템의 설계

  • 애니메이션 블루프린트는 이벤트 그래프와 애님 그래프 두 영역으로 구성
  • 이벤트 그래프에서는 이벤트로부터 상태를 파악할 수 있는 주요 변수를 저장하는데 사용
  • 애님 그래프에서는 저장된 변수로부터 지정된 상태의 애니메이션 재생
  • 애님 그래프의 복잡한 상태는 State Alias로 분리해 효과적으로 설계 가능
  • Initialize -> 처음 시작때, Update-> 프레임 마다 (둘다 발생시 GetOwning 이벤트 발생해 현재 캐릭터 상황 살펴보고 상태를 내가 지정한 변수에 저장)
  • 그 상태를 보고 애님 그래프에서 애니메이션 재생

'Unreal 이론' 카테고리의 다른 글

캐릭터 컨트롤 설정  (0) 2024.10.20
캐릭터와 입력 시스템  (1) 2024.10.19
언리얼 엔진 게임 제작 기초  (0) 2024.10.14
언리얼 빌드 시스템  (1) 2024.10.03
언리얼 오브젝트 관리 - 패키지  (0) 2024.10.01

댓글()