언리얼
언리얼 C++ 기본 타입
gamedevlab
2025. 5. 13. 22:28
블루프린트 / C++ 매핑 타입
- 기본 매핑 타입 블루프린트는 기본적으로 unsigned 정수형을 사용하지 않는다. 블루프린트와 연동이 필요한 변수는 uint 계열 타입 및 double 타입의 사용을 지양해야 한다.
-
Blueprint C++ Float float - double Integer int32 - uint32 Integer64 int64 - uint64 Bool bool - 유틸리티 매핑 타입
-
Blueprint C++ String FString Name FName Vector FVector Rotator FRotator Transform FTransform
- 오브젝트 매핑 타입 블루프린트의 오브젝트 레퍼런스는 C++의 포인터에 해당한다. 따라서 할당되지 않은 참조는 실행 시 문제를 야기한다.
-
Blueprint C++ Object UObject* Actor AActor* ActorComponent UActorComponent
자주 사용되는 클래스
Class | #include |
UWorld | Engine/World.h |
AActor | GameFramework/Actor.h |
UActorComponent | Components/ActorComponent.h |
UGameplayStatics | Kismet/GameplayStatics.h |
UKismetSystemLibrary | Kismet/KismetSystemLibrary.h |
FMath | Math/UnrealMathUtility.h |
변수 프로퍼티 지정자
변수 프로퍼티 지정자는 다음과 같다. 읽기/쓰기 권한, 에디터 접근 권한, 블루프린트 접근 권한으로 구분된다.
Defaults (클래스 기본값)Instance (레벨 인스턴스)Blueprint (노드 접근)
Defaults | Instance | Blueprint | |
RO | VisibleAnywhere | BlueprintReadOnly | |
VisibleDefaultsOnly | VisibleInstanceOnly | ||
RW | EditAnywhere | BlueprintReadWrite | |
EditDefaultsOnly | EditInstanceOnly |
※ 쓰기 권한은 읽기 권한을 포함한다.
Defaults는 클래스 에디터의 디테일 창(클래스 기본값)을 의미한다.
Instance는 월드 아웃라이너에서 레벨에 배치된 액터(인스턴스)를 선택했을 때 나타나는 디테일 창을 의미한다.
Blueprint 관련 지정자(BlueprintReadOnly, BlueprintReadWrite)는 블루프린트 에디터 내에서 해당 변수를 노드로서 사용하는 방식을 정의하며, Defaults/Instance 설정과 독립적이다.
이 값을 설정하지 않으면 해당 변수를 블루프린트 노드로 사용할 수 없다.
간단한 예제
- VisibleDefaultsOnly: 클래스 기본값 창에서 조회 가능, 수정 불가. 인스턴스 디테일 창에서 조회 및 수정 불가.
- EditInstanceOnly: 클래스 기본값 창에서 조회 및 수정 불가. 인스턴스 디테일 창에서 조회 및 수정 가능.
- VisibleAnywhere: 클래스 기본값 창 및 인스턴스 디테일 창에서 조회 가능, 수정 불가.
- BlueprintReadOnly: 블루프린트 에디터에서 해당 변수의 Get 노드만 사용 가능하다.
더 많은 태그는