애니메이션을 플레이하는데 여러가지 함수들이 존재한다.

BlendSpace 1D, 2D, 3D 재생의 경우

블렌드 스페이스를 재생하는 경우에는 SkeletalMeshComponent에 PlayAnimation이라는 함수를 사용하면 된다.

SK_Mesh->PlayAnimation(blendSpace, true);
FVector BlendParams(50.0f, 0.0f, 0.0f);
SK_Mesh->GetSingleNodeInstance()->SetBlendSpaceInput();

Slot에 지정된 애니메이션 재생의 경우

먼저 재생할 시퀀스를 UPROPERTY로 설정해야만 한다.

예를 들면 이렇게 설정해야 한다.

UPROPERTY(BlueprintReadOnly, EditAnywhere)
UAnimSequence *MyAnimSequence;

Slot이 정해진 애니메이션 재생의 경우 애님 인스턴스를 호출해 사용해야 한다.

USkeletalMeshComponent *Mesh = MyActor->FindComponentByClass<USkeletalMeshComponent>();
     if (Mesh)
     {
         UAnimInstance *AnimInst = Mesh->GetAnimInstance();
         if (AnimInst)
         {
             AnimInst->PlaySlotAnimationAsDynamicMontage(MyAnimSequence, TEXT("UpperBody"), 0.1f, 0.1f, 1.0f, 30.0f);
         }
     }

간단한 Full Body 애니메이션을 재생한 뒤 타이머를 설정해 끝에서 멈추는 방법

MyAnimTimer = AnimInstance->Montage_Play(MyMontage);
 GetWorldTimerManager().SetTimer(PauseMontageTimerHandle, this, &MyActor::PauseMontageFunc, MyAnimTimer, false);

일반적인 애님 몽타주를 실행하는 방법

AnimInst->Montage_Play(MyMontage);

몽타주의 섹션을 바로 건너뛰고 플레이하는 방법

AnimInst->Montage_JumpToSection("SectionName",MyMontage);

지금 진행중인 애니메이션이 끝나고 몽타주의 섹션을 건너뛰게 만들어 플레이하는 방법

AnimInst->Montage_SetNextSection("CurrentSection", "NextSection", MyMontage);

몽타주를 멈추는 방법

AnimInst->Montage_Pause(MyMontage);

몽타주를 멈춘 상태에서 재생하는 방법

AnimInst->Montage_Resume(MyMontage);

Layered Animation 재생의 경우

Additive Animation 이라고도 하는 이런 애니메이션들은 아래 공식 문서처럼 만들어 진다.

https://docs.unrealengine.com/en-US/Engine/Animation/AnimHowTo/AdditiveAnimations/index.html

저런 애니메이션들을 플레이 하기 위해서는 PlaySlotAnimationAsDynamicMontage 함수등을 이용해 플레이해야한다.