Unreal Engine/[Inflearn_rookiss] UE5 Lyra 분석

23. Lyra Animation 정리 - 1

헛둘이 2024. 11. 22. 06:48

어제 작성했던 Animation에 대해 정리해보려고 합니다.

Animation은 총 2가지 애니메이션이 존재하는데, 하나는 Weapon이고, 나머지 하나는 Mannequin입니다.

이번 포스팅에서는 Weapon에 대해서 정리해보겠습니다.

 

1. Weapon Animation

시작은 OnEquipped Event가 발생할 때입니다.

 

1-1. Determine Cosmetic Tags (Function)

- 우선 첫 번째로, GetPawn()->GetComponentByClass()를 통해 PawnComponent_CharacterParts를 가져옵니다.

- 만약 존재한다면 (IsValid)  지역변수 CosmeticComponent에 캐싱합니다.

- 그리고 CosmeticComponent에서 CombinedTags를 가져와서 CharacterParts의 멤버 변수에 저장합니다.

 

 

 

1-2. ActivateAnimLayerAndPlayPairedAnim (Macro)

- 이 로직은 C++에서 선언된 BlueprintCallable 함수와도 연관되어 있습니다.

- 맨 처음 Equipped bool flag가 세워지면, 

TSubclassOf<UAnimInstance> UHmWeaponInstance::PickBestAnimLayer(bool bEquipped, const FGameplayTagContainer& CosmeticTags) const
{
	const FHmAnimLayerSelectionSet& SetToQuery = (bEquipped ? EquippedAnimSet : UnequippedAnimSet);
	return SetToQuery.SelectBestLayer(CosmeticTags);
}

- bool 값에 따라 장착된 AnimSet인지, 장작되지 않은 AnimSet인지를 판별합니다

- 그리고 그 AnimSet을 바탕으로 CosmeticTags로 필터링합니다.

- 그 후 GetTypedPawn을 통해 Character를 가져온 후, 캐릭터의 Skeletal Mesh를 가져와서 Anim Montage를 실행시킵니다.