관리 메뉴

KoreanFoodie's Study

언리얼 문자열 (FName, FString, FText) 클래스 본문

Game Dev/Unreal C++ : Study

언리얼 문자열 (FName, FString, FText) 클래스

머니덕 2022. 4. 1. 15:09

언리얼 문자열 클래스

언리얼 문자열 클래스는 3 가지가 있다. (FName, FString, FText) 이 중, 조작이 가능한 클래스는 FString 이다.

참고 - 문자열의 변환 : 출처

FName 은 FName(*FString) 꼴을, FString 은 .ToString( ) 꼴을, FText 는 FText::FromName( ) 꼴을 활용하는 것을 알 수 있다.
기타 세부 구현은 소제목 링크의 문서를 참고하자.

FName

FName 은 콘텐츠 브라우저에서 애셋 이름을 지을 때, 스켈레탈 메시에서 본에 접근할 때 등등에 사용된다. FName 은 문자열을 하나하나 비교하지 않고, 주어진 문자열을 해싱한 테이블에 저장한 후, index 로 값을 비교한다. 이 때문에 키로 FName 에 접근하는 속도가 빠르며, 스트링에서 FName 으로의 변환도 해시 테이블을 사용하므로 상대적으로 빠르다. FName 은 대소문자를 구분하지 않고, 변경도 불가능하다.

// FName 생성
FName TestFName = FName(TEXT("Test FName"));

 

FString

FString 은 조작이 가능한 유일한 스트링 클래스이다.

// FString 생성
FString TestFString = FString(TEXT("TestFString"));

// 뷰포트에 출력
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, TestFString);

// 출력 로그에 출력
UE_LOG(MyClass, Log, TEXT("This is %s"), *TestFString);

 

FText

FText 는 언리얼 엔진에서 text localization 기능을 제공하는 주 컴포넌트이다. FText 는 현지와, 포맷팅 등을 제공하므로, 문자열을 생성할 때 사용한다.
모든 플랫폼에서 2바이트 문자열로 사용할 수 있다.


0 Comments
댓글쓰기 폼