728x90
반응형
UPROPERTY, UFUNCTION은 해당 프로퍼티가 리플렉션 시스템을 사용할 수 있도록 해주는 매크로이다.
|리플렉션 시스템|
멤버 변수(또는 프로퍼티), 멤버 함수 앞에서 기술되며, 지정자를 사용함으로써, 해당 프로퍼티가 엔진과 에디터의 다양한 부분과 상호작용 할 수 있도록 한다.
UPROPERTY 지정자
UPROPERTY()를 사용하는 것만으로도 리플렉션 시스템을 사용할 수 있다. 여기에 지정자를 추가하면, 리플렉션 시스템을 바탕으로 엔진과 에디터와 상호작용할 수 있는 기능을 추가로 제공할 수 있다.
EditAnywhere : 레벨 / 블루프린트에 디테일 패널에서 변수가 노출되며, 값 수정 가능
VisibleAnywhere : 레벨 / 블루프린트에 디테일 패널에서 변수가 노출되며, 값 수정 불가능
EditDefaultsOnly : 블루프린트에 디테일 패널에서 변수가 노출되며, 값 수정 가능
VisibleDefaultsOnly : 블루프린트에 디테일 패널에서 변수가 노출되며, 값 수정 불가능
EditInstanceOnly : 레벨에 디테일 패널에서 변수가 노출되며, 값 수정 가능
VisibleInstanceOnly : 레벨에 디테일 패널에서 변수가 노출되며, 값 수정 불가능
BlueprintReadWrite : 블루프린트에서 변수가 노출되며, [Get/Set 변수명]을 사용할 수 있다.
BlueprintReadOnly : 블루프린트에서 변수가 노출되며, [Get 변수명]을 사용할 수 있다.
BlueprintAssignable : 블루프린트에서 델리게이트 변수 노출 및 사용 가능
---------------------------------------------------------------------------------------------------------------
Category : 카테고리를 생성해 동일한 카테고리끼리 묶음
// Category="TopCategory | SubCategory..." : 중첩 카테고리는 |연산자로 정의한다.
---------------------------------------------------------------------------------------------------------------
meta = (AllowPrivateAccess = "true"): private에서도 블루프린트 지정자를 사용할 수 있게 한다.
// 기본적으로 블루프린트 지정자는 private에서 사용할 수 없다.
meta = (EditCondition = "bool 타입 멤버 변수"): VALUE 값이 True인 경우, 이 변수를 조정 가능
meta = (UIMin = "1"): 변수를 슬라이더 형태로 변경, 최솟값
meta = (UIMin = "4"): 변수를 슬라이더 형태로 변경, 최댓값
BlueprintAssignable 사용 예: 여기
UFUNCTION 지정자
블루프린트에서 호출 가능한 함수는 매개변수로 참조(&)를 넣으면, 반환 핀으로 사용된다.
BlueprintCallable : 블루프린트에서 호출 가능 / 실행 핀(Execution) 연결
BlueprintPure : 블루프린트에서 호출 가능 / 실행 핀(Execution) 연결 없이 순수하게 함수로 사용
BlueprintImplementableEvent : 블루프린트에서 이벤트 함수로 호출 가능
C++에서 호출은 가능 / 구현은 불가
BlueprintNativeEvent : 이 인터페이스 함수를 블루프린트에서 이벤트 함수로 호출 가능
C++에서 호출 및 구현 가능 (특수 표현 사용)
---------------------------------------------------------------------------------------------------------------
meta = (DisplayName = "보일 함수 명"): 블루프린트에서 보일 함수 명 지정
meta = (ExpandEnumAsExecs = "열거형 인자 명"): 열거형 출력 핀 생성
meta = (BlueprintThreadSafe): 블루프린트 함수에만 유효, 애니메이션 블루프린트의 스레드 안전 함수에서 호출 가능
meta = (HidePin = "Parameter"): [BlueprintCallable] 함수에서 사용, 숨길 파라미터 핀 지정, 하나만 가능
meta = (DefaultToSelf = "Parameter"): [BlueprintCallable] 함수에서 사용,
meta = (BlueprintInternalUseOnly = "true"): 다른 함수나 노드를 구현하는 데 사용, 그래프에 노출 X
BlueprintNativeEvent 사용 예: 여기
Meta - (ExpandEnumAsExecs = "") 사용 예: 여기
메타 데이터 지정자 문서
728x90
반응형
'📘Unreal Engine > 📝Unreal Engine' 카테고리의 다른 글
[Unreal Engine] 폰(Pawn)과 캐릭터(Character) (0) | 2024.07.24 |
---|---|
[Unreal Engine] 머리카락(털) 추가 / UGroomComponent (0) | 2024.05.23 |
[Unreal Engine] 로그 출력 / 뷰포트 출력 (0) | 2024.05.21 |
[Unreal Engine] 어서트 (Assert) (0) | 2024.05.21 |
[Unreal Engine] 에셋 경로 참조하기 (0) | 2024.03.20 |