에셋 지정
게임이 시작하기 전 생성자함수에서 에셋을 지정하려면 ConstructorHelpers::FObjectFinder를 사용하면 된다. 이때 에셋 경로는 변하지 않을 고유값이므로 static을 붙여주고 if + Succeeded()로 에셋이 불러와졌을때만 메쉬에 적용해주는 부분이 중요하다.
static ConstructorHelpers::FObjectFinder<USkeletalMesh>SM_KWANG(TEXT("SkeletalMesh'/Game/Assets/ParagonKwang/Characters/Heroes/Kwang/Meshes/KwangRosewood.KwangRosewood'"));
if (SM_KWANG.Succeeded())
{
Mesh->SetSkeletalMesh(SM_KWANG.Object);
}
이번에는 생성자에서 에셋을 로드하지 않고, 게임 실행 중 BeginPlay()에서 에셋을 로딩해보자. 해당 명령어는 LoadObject<타입>이다.
void AABPawn::BeginPlay()
{
Super::BeginPlay();
Mesh->SetAnimationMode(EAnimationMode::AnimationSingleNode);
UAnimationAsset* AnimAsset = LoadObject<UAnimationAsset>(nullptr, TEXT("AnimSequence'/Game/Book/Animations/WarriorRun.WarriorRun'"));
if (AnimAsset != nullptr)
{
Mesh->PlayAnimation(AnimAsset, true);
}
}
'UE4' 카테고리의 다른 글
[UE4] 게임 실행 중 뷰포트에서 콘솔띄우기 (0) | 2022.09.30 |
---|---|
[UE4] Pawn & Character (0) | 2022.09.30 |
[UE4] Animation Blueprint (0) | 2022.09.30 |
[UE4] PlayerInput값을 게임에 바로 전달하기 (0) | 2022.09.30 |
[UE4] An Unreal process has crashed (0) | 2022.09.30 |