https://dev.epicgames.com/documentation/ko-kr/unreal-engine/string-handling-in-unreal-engine

 

언리얼 엔진의 스트링 처리 | 언리얼 엔진 5.4 문서 | Epic Developer Community

FName, FText, FString에 대한 레퍼런스 가이드와 언리얼 엔진에서 사용할 수 있는 문자열 클래스에 대한 개요입니다.

dev.epicgames.com

FName

  • 초경량 시스템
    • 주어진 문자열을 재사용 시, Data Table에 한번만 저장된다.
  • 초경량 시스템으로 속도가 매우 빠르다.
    • 대소문자를 구분하지 않는다.
      • 소유 String Table에 대한 Index와 Instance Number의 조합으로 저장된다.
    • 수정 및 조작이 불가하다.
    • FString에서 FName으로 변환 할 때 Hash Table을 사용한다.
      • 한번 사용된 String은 Table에 1번만 저장된다.
  • Unreal Engine에서 Asset 내 이름은 모두 FName으로 작업된다.
    • AssetName
    • Dynamic Material Instance
    • Skeletal Mesh Bone Name

Compare

  • == 연산자를 사용함.
    • index 안의 값을 비교하기에 CPU가 크게 절약된다.
  • Compare 함수도 사용 가능한데, C 계열의 Compare와 동일한 방식으로 결과를 반환한다.

Search Name Table

  • Constructor에 FName_Find를 추가했을 때, 반환 값으로 Name Table 내의 index 값을 Search 가능.
    • Name_None을 반환한 경우에는 Name Table 내에 해당 Name이 없는 것
  • 더보기
    	if( FName(TEXT("pelvis"), FNAME_Find) != NAME_None )
    	{
    		// Do something
    	}

Ftext

  • 다음 기능을 제공하여 Text Localization을 지원하는 주요 Component
    • Create Literal Localized Text 
    • Text Format
    • Convert from Number to Text
    • Convert from Date/Time to Text

Convert

  • 모든 기능이 제공은 되지만, Localization Data가 삭제 된다.

Compare

  • 일반적으로 Overload 된 연산자를 제공하지는 않음.
  • 다만 몇 가지 함수를 이용해 미묘한 차이가 있는 Included Data를 인식한다.

FString

  • 조작이 가능한 String Class
    • 대소문자 변환
    • 부분 문자열 발췌
    • 역순
  • 조작이 가능한 만큼 다른 String Class보다 가격이 비싸다.
    • Printf를 사용해 조립이 가능하다.

 

'UE5 > Architecture' 카테고리의 다른 글

[Architecture] Task System  (0) 2024.05.06
[Architecture] Programming Subsystem  (0) 2024.05.06
[Architecture] Asset Registry  (1) 2024.05.06
[Architecture] Asset Reference  (0) 2024.05.06
[Architecture] Module(+ Package)  (0) 2024.05.03

+ Recent posts