캐릭터 애니메이션 설정
[이득우의 언리얼 프로그래밍 Part2 수업의 정리]
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 |