본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ Actor 이름 추출

by MRG 2024. 10. 11.
728x90
반응형

 

▣ GetName() 메서드를 사용하여 Hit.GetActor()의 이름을 가져올 때 이름 뒤에 붙는 "_C_1"와 같은 접미사는

Unreal Engine에서 블루프린트 클래스나 인스턴스화된 객체를 나타낼 때 종종 추가됩니다.

이 접미사는 Unreal의 객체 관리 시스템에서 객체가 어떤 클래스에서 파생되었는지와 고유한 인스턴스임을 식별하기 위해 자동으로 붙는 것입니다.

예를 들어, 블루프린트로 생성된 액터나 객체는 기본적으로 Unreal의 객체 시스템에서 다음과 같은 형식으로 이름이 변경됩니다:

Beteta_C_1
Glock_C_1


여기서:
"_C": 블루프린트 클래스의 객체임을 나타냅니다.
"_1": 해당 클래스의 첫 번째 인스턴스를 나타냅니다. 만약 여러 인스턴스가 있다면 뒤에 숫자가 증가합니다.

 

 



  ClassName.Len():
문자열의 전체 길이를 반환합니다. 예를 들어, 클래스 이름이 "Beteta_C_1"이면 이 문자열의 길이는 10입니다.


  ClassName.Find(TEXT("_C")):
문자열에서 "_C"라는 패턴을 찾아, 그 패턴이 처음 나타나는 위치의 인덱스를 반환합니다. 예를 들어, "Beteta_C_1"에서 "_C"는 인덱스 6에서 시작됩니다. 이 경우 Find(TEXT("_C"))는 6을 반환합니다.


  ClassName.Len() - ClassName.Find(TEXT("_C")):
문자열의 전체 길이에서 "_C"가 시작되는 위치의 인덱스를 뺍니다. 예를 들어 "Beteta_C_1"에서 전체 길이 10에서 _C의 시작 인덱스 6을 빼면 결과는 4가 됩니다.


  ClassName.LeftChop(4):
LeftChop(4)는 문자열의 끝에서 4글자를 잘라냅니다. 즉, "Beteta_C_1"에서 뒤의 "_C_1"을 잘라내고 "Beteta"만 남깁니다.

 

 

▣ API

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/API

 

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Core/Containers/FString/LeftChop/

 

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Core/Containers/FString/Find/

 

 

728x90
반응형

댓글