-
[Unreal 4] 변수 및 프로퍼티 정리게임 엔진/Unreal 2022. 5. 29. 17:37
언리얼 C++ 사용을 위한 기본 개념
블루프린트 / 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 오브젝트 매핑 타입
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 RO VisibleAnywhere BlueprintReadOnly VisibleDefaultsOnly VisibleInstanceOnly RW EditAnywhere BlueprintReadWrite EditDefaultsOnly EditInstanceOnly ※ 쓰기 권한은 읽기 권한을 포함한다.
Defaults는 클래스의 디테일 창을 말하는 것이고 Instance는 월드 아웃 라이너의 애셋을 클릭했을 때 나오는 디테일 창을 말하는 것이다.
Blueprint는 블루프린트 창에서 노드로 해당 변수를 사용하는 방법을 정의하는 것으로 Defaults/Instance 설정과는 별개로 설정해 줘야 한다. 이 값을 설정해주지 않으면 해당 변수를 노드로 사용할 수 없다.
간단한 예제
- VisibleDefaultsOnly 클래스 디테일 창에서 볼 수 있으나 수정 불가능, 월드의 디테일 창에서는 볼 수 없고 수정도 불가능
- EditInstanceOnly 클래스 디테일 창에서 볼 수 없고 수정도 불가능, 월드의 디테일 창에서 볼 수 있고 수정도 가능
- VisibleAnywhere 클래스 디테일 창, 월드의 디테일 창에서 볼 수 있고 수정은 불가능
- BlueprintReadOnly 블루프린트 창에서 우클릭해 변수 검색 시 Get 함수만 사용 가능