FName
콘텐츠 브라우저에서 새 애셋 이름을 지을 때, 다이내믹 머티리얼 인스턴스의 파라미터를 변경할 때, 스켈레탈 메시에서 본에 접근할 때, 모두 FName 을 사용. 주어진 문자열이 재사용된다 해도 데이터 테이블에 한 번만 저장됨. 대소문자를 구분하지 않음. 변경도 불가능하여, 조작할 수 없음. 접근하는 속도가 빠름.
FName TestFName = FName(TEXT("ThisIsMyTestFName"));
// FName을 변환
FName -> FString
FNametoFString = TestFName.ToString();
FName -> FText
FNameToFText = FText::FromName(TestFName);
// FName으로 변환(대소문자 구분안함으로 손실 위험있음)
FString -> FName
FStringToFName = FName(*TestHUDString);
FText -> FString -> FName //FString으로 변환 후 FName으로 변환 가능.
FString
조작이 가능한 유일한 스트링 클래스. 대소문자 변환, 부분 문자열 발췌, 역순 등 사용가능한 메서드가 많음. 검색, 변경에 다른 스트링과의 비교도 가능.
FString TestFString = FString(TEXT("This is my test FString."));
// FString에서 변환
FString -> FName
FStringToFName = FName(*TestFString); //대소문자 구분안함으로 손실 위험있음
FString -> FText
FStringToFText = FText::FromString(TestFString); //'true' 거나 'false' 거나
bool
TestFString.ToBool();
int
FCString::Atoi(*TestFString);
float
FCString::Atof(*TestFString);
// FString으로 변환
FName
FNametoFString = TestFName.ToString();
FText
FTextToFString = TestFText.ToString();
float
FString::SanitizeFloat(FloatVariable);
int
FString::FromInt(IntVariable);
bool
InBool ? TEXT("true") : TEXT("false"); //'true' 거나 'false' 거나
FVector
VectorVariable.ToString(); // 'X= Y= Z='
FVector2D
Vector2DVariable.ToString(); // 'X= Y='
FRotator
RotatorVariable.ToString(); // 'P= Y= R='
FLinearColor
LinearColorVariable.ToString(); // '(R=,G=,B=,A=)'
UObject
(InObj != NULL) ? InObj->GetName() : FString(TEXT("None")); // UObject 의 FName
FString::Printf()
FString 문자열 나누기 - ParseIntoArray
; 파일의 경로에서 폴더명이나 파일명을 구하는 상황등에서 문자열을 나눌때 사용하자. like C++ strtok!
FString AssetPath = TEXT("/Game/DB/Text/UITextTable.UITextTable");
TArray<FString> Paths;
AssetPath.ParseIntoArray(Paths, TEXT("/"));
for (FString& Element : Paths)
{
UE_LOG(LogClass, Warning, TEXT("Path : [%s]"), *Element);
// [Game], [DB], [Text], [UITextTable.UITextTable]
}
AssetPath = TEXT("/Game/DB//Text/UITextTable.UITextTable");
AssetPath.ParseIntoArray(Paths, TEXT("/"), false);
for (FString& Element : Paths)
{
UE_LOG(LogClass, Warning, TEXT("Path No Cull : [%s]"), *Element);
// [Game], [DB], [], [Text], [UITextTable.UITextTable]
// 세번째 param InCullEmpty = false 일 경우 공백도 배열에 담김
}
FString 스페이스(띄우기) 없애기 - RemoveSpaceInline
FString Message = TEXT("Hello World is Beautiful World");
Message.RemoveSpacesInline();
// Message = "HelloWorldisBeautifulWorld"
'::protected > 언리얼4&5' 카테고리의 다른 글
UUserWidget::Function() (0) | 2019.12.11 |
---|---|
파생 데이터 캐시(Drived Data Cache) 경로 변경. (0) | 2019.12.09 |
폰(Pawn)과 플레이어 컨트롤러(PlayerController). (0) | 2019.12.06 |
액터(Actor)의 초기화 순서. (0) | 2019.12.06 |
InterpTo (0) | 2019.11.20 |