KoreanFoodie's Study
언리얼 액터 생성 및 애셋 로드 (Unreal Actor Spawn and Asset Load) 본문
Game Dev/Unreal C++ : Study
언리얼 액터 생성 및 애셋 로드 (Unreal Actor Spawn and Asset Load)
GoldGiver 2022. 3. 30. 16:23
언리얼 액터 생성 예시
참고로 액터 생성시에는 ConstructorHelpers 를 많이 사용한다.
AWeapon::AWeapon()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
Weapon = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("WeaponHashValue"));
RootComponent = Weapon;
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SK_BlackKnight(TEXT("SkeletalMesh'/Game/InfinityBladeWeapons/Weapons/Blade/Swords/Blade_BlackKnight/SK_Blade_BlackKnight.SK_Blade_BlackKnight'"));
Weapon->SetSkeletalMesh(SK_BlackKnight.Object);
}
ConstructorHelpers 는 말 그대로 생성자에서만 사용이 가능하다. 만일 런타임에서 애셋을 로딩할 때는 StaticLoadObject 같은 API 를 활용해야 한다. 해당 애셋을 변경할 가능성이 없고, 여러 곳에서 사용할 예정이라면, ConstructorHelpers 를 이용해 애셋을 가져온 후 static 을 붙여 주자.
ConstructorHelpers
ConstructorHelpers 는 ObjectFinder 와 ClassFinder 로 나뉘어진다.
ObjectFinder 는 애셋 그 자체를 가져오는 경우, ClassFinder 는 블루프린트 등의 클래스 타입을 가져오는 경우에 사용하면 된다.
언리얼 오브젝트가 UClass 와 CDO 로 나뉜다는 것을 기억하면 이해가 쉬울 것이다!
'Game Dev > Unreal C++ : Study' 카테고리의 다른 글
언리얼 런타임 애셋 로딩 ( + Soft Referencing) (0) | 2022.03.31 |
---|---|
언리얼 INI 파일 설정 (Unreal INI File Setting) (0) | 2022.03.31 |
언리얼 오브젝트 계층 구조 요약 (Unreal Object Hierarchy) (0) | 2022.03.30 |
언리얼 프로퍼티 시스템 : 리플렉션(Reflection) (0) | 2022.03.30 |
언리얼 CDO (Class Default Object) : 클래스 기본 객체 (0) | 2022.03.30 |
Comments