https://dev.epicgames.com/documentation/ko-kr/unreal-engine/string-handling-in-unreal-engine
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 |