Game Develop

[UE5] FString to const TChar* 하기 본문

UnrealEngine5/이것저것

[UE5] FString to const TChar* 하기

MaxLevel 2023. 2. 10. 08:42

그냥 FString을 역참조해주면 된다.

FString은 내부적으로 TArray<TCHAR> 타입을 멤버변수로 가진 상태에서 관리하기 때문이다.

F12로 정의찍다보면 역참조연산자(*)가 const TChar* 리턴된다고 코드가 작성되어있다.

 

메쉬나 애님인스턴스 로드할 때 경로를 매개변수로 넘겨줘서 로드하게 하려다보니까 알게 됐다.

보통 아래같이 문자열리터럴을 TEXT 매크로를 통해 const TChar*로 변환시켜서 넘긴다.

 
1
2
3
4
5
6
7
8
9
static ConstructorHelpers::FObjectFinder<USkeletalMesh>
    tempMesh(TEXT("에셋경로"));
 
if (tempMesh.Succeeded())
{
    GetMesh()->SetSkeletalMesh(tempMesh.Object);
    GetMesh()->SetRelativeLocationAndRotation(FVector(00-90), FRotator(0-900));
}
 
cs

 

 

경로를 매개변수로든 뭐든 따로 입력받아서 하고싶으면 그냥 아래처럼 하면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
void ACharacterBase::LoadMesh(FString assetPath)
{
    static ConstructorHelpers::FObjectFinder<USkeletalMesh>
        tempMesh(*assetPath);
 
    if (tempMesh.Succeeded())
    {
        GetMesh()->SetSkeletalMesh(tempMesh.Object);
        GetMesh()->SetRelativeLocationAndRotation(FVector(00-90), FRotator(0-900));
    }
}
cs