광고


[UE4] 프로퍼티 및 UPROPERTY 지정자 UE4


0. 서문

이 글을 읽기에 앞서, UE4의 Reflection에 대한 이해가 없다면, 꼭 아래 문서부터 읽도록 하자.

프로퍼티는 표준 C++ 변수 문법 앞에 UPROPERTY 매크로를 붙이면서 프로퍼티 메타데이터와 변수 지정자를 붙여 선언한다.

  1. UPROPERTY([specifier, specifier, ...][meta(key=value, key=value, ...)])
  2. Type VariableName;

UE4의 프로퍼티 전반적인 내용과 모든 specifier 대한 내용은 아래 문서를 참고하기 바란다.

이후 문서엔 자주 사용되는 specifier 위주로만 조금 더 자세히 정리하였다.


1. VisibleAnywhere

이 프로퍼티는 에디터의 프로퍼티 창에서 보여지나, 편집이 불가능함을 나타낸다.

VisibleAnywhere, VisibleDefaultsOnly, VisibleInstanceOnly는 Edit* 씨리즈와 대치되므로,
Visible* 씨리즈와 Edit* 씨리즈 지정자는 한번에 한 종류만 사용할 수 있다.


2. EditAnywhere

이 프로퍼티는 에디터의 프로퍼티 창에서 편집이 가능함을 나타낸다.
VisibleAnywhere과 ReadOnly라면, EditAnywhere는 ReadWrite인 것이다.


3. EditDefaultsOnly / EditInstanceOnly

Edit...
  • DefaultsOnly : 이 프로퍼티는 블루프린트 편집일 경우에만 프로퍼티 창에서 편집 가능함을 나타낸다.
  • InstanceOnly : 이 프로퍼티는 블루프린트 액터로써 레벨에 추가된 경우에만 프로퍼티 창에서 편집 가능함을 나타낸다.


4. BluePrintReadOnly / BlueprintReadWrite

프로퍼티 이름 그대로다.
ReadOnly는 읽기만 가능할 뿐 쓰기가 안 되고, ReadWrite는 읽기/쓰기 모두 가능하다.
대치적인 녀석들이므로, 함께 지정할 수 없다.

프로퍼티가 Visible... 을 가질 경우, ReadOnly,
프로퍼티가 Edit...을 가질 경우, ReadWrite를 가지는 것이 보통이다.


1 2 3 4 5 6 7 8 9 10 다음