언리얼 엔진 접두어

김민수·2025년 1월 8일

언리얼 C++

목록 보기
1/32

언리얼 엔진에서는 TF 같은 접두어를 통해 특정한 유형의 클래스나 자료 구조를 구분한다. 이는 에픽 게임즈의 코딩 스타일 가이드에 따른 명명 규칙이며, 각 접두어는 특정 목적을 가진 클래스 그룹을 나타낸다.


1. T 접두어: 템플릿 클래스

T 접두어는 주로 템플릿 기반 클래스에 사용된다. 언리얼 엔진에서는 다양한 컨테이너 클래스를 템플릿 형태로 제공하며, T 접두어를 붙여 이러한 템플릿 클래스임을 나타내는 것이다.


⦁ T 접두어 클래스 목록

클래스설명예시
TArray동적 배열 (Dynamic Array)TArray<int32> MyArray;
TMap키-값 쌍을 저장하는 해시맵 (Map)TMap<FString, int32> MyMap;
TSet중복을 허용하지 않는 집합 (Set)TSet<FName> MySet;
TWeakObjectPtr약한 참조 포인터 (Weak Pointer)TWeakObjectPtr<UObject> Ptr;
TSharedPtr공유 포인터 (Shared Pointer)TSharedPtr<MyClass> Ptr;
TUniquePtr고유 포인터 (Unique Pointer)TUniquePtr<MyClass> Ptr;

⦁ 예시

TArray

TArray<FString> Names;
Names.Add("Player1");
Names.Add("Player2");

TMap

TMap<FString, int32> Scores;
Scores.Add("Player1", 100);
Scores.Add("Player2", 200);


2. F 접두어: 엔진 기본 클래스 (Framework Classes)

F 접두어는 언리얼 엔진에서 제공하는 기본 클래스 또는 구조체에 사용된다. 이러한 클래스나 구조체는 언리얼 엔진의 핵심 기능을 제공하며, 주로 수학적 연산, 3D 벡터, 로테이션, 트랜스폼 등을 다룬다.


⦁ F 접두어 클래스 목록

클래스설명예시
FVector3D 벡터 클래스 (Vector)FVector Location;
FRotator회전 값을 나타내는 클래스 (Rotator)FRotator Rotation;
FTransform위치, 회전, 스케일을 포함하는 클래스FTransform Transform;
FString문자열 클래스FString Name = "Player";
FName이름을 나타내는 클래스FName PlayerName;
FColor색상을 나타내는 클래스FColor Red = FColor::Red;

⦁ 예시

FVector

FVector Location(100.0f, 200.0f, 300.0f);
Location += FVector(10.0f, 0.0f, 0.0f); // X축으로 10만큼 이동

FRotator

FRotator Rotation(0.0f, 90.0f, 0.0f); // Yaw(좌우 회전) 90도

FTransform

FTransform Transform;
Transform.SetLocation(FVector(100.0f, 200.0f, 300.0f));
Transform.SetRotation(FQuat(FRotator(0.0f, 90.0f, 0.0f)));


3. U 접두어: UObject 기반 클래스

U 접두어는 언리얼 엔진에서 UObject를 상속받는 모든 클래스에 붙는다. 이러한 클래스들은 엔진의 객체 관리 시스템에 의해 관리되며, 가비지 컬렉션, 리플렉션 시스템 등을 지원한다.


⦁ U 접두어 클래스 목록

클래스설명예시
UObject모든 UObject 기반 클래스의 부모 클래스UObject* MyObject;
UActorComponent액터에 부착 가능한 컴포넌트 클래스UActorComponent* Component;
UUserWidgetUI 위젯 클래스UUserWidget* Widget;
UStaticMesh정적 메쉬 클래스UStaticMesh* Mesh;


4. 요약

  • T 접두어 : 템플릿 클래스를 나타내며, 주로 컨테이너(배열, 맵, 셋) 및 스마트 포인터에 사용된다.
  • F 접두어 : 언리얼 엔진의 핵심 클래스 및 구조체(3D 벡터, 로테이터, 트랜스폼, 문자열 등)에 사용된다.
  • U 접두어 : UObject를 상속받는 클래스에 사용되며, 언리얼 엔진의 객체 관리 및 리플렉션 시스템과 연관된 클래스들이다.
profile
안녕하세요

0개의 댓글