-
[Unreal Engine] UFUNCTION UPARAM : Rename, Relocate paramsUnreal Engine 5._ 2023. 1. 31. 16:22
이전 글 (UFUNCTION Multiple return values)에서 반환 핀을 늘리는 방법을 알아보았습니다.
파라미터를 참조로 설정하면 되는 것 이었는데, 이 경우 아래와 같은 문제가 발생합니다.
입력이 참조여야 할 경우에는 어떻게 하는가?
이번 글에서는 위 의문에 대해 살펴보도록 하겠습니다.
참조를 입력으로 받는 방법은 두 가지가 있습니다.
첫 번째는, const에 대한 참조를 받는 것 입니다.
UFUNCTION(BlueprintCallable) static int32 MyFunction( int32 A, const int32& B, int32 C, const int32& D )
위 코드는 이전 글에 예시로 보여드린 함수의, 참조 부분을 const로 바꾼 것 입니다.
반환 핀으로 있던 B, D가 const에 대한 참조가 되니 입력 핀으로 바뀐 것을 볼 수 있습니다.
두 번째는 이번 글의 주제인 UPARAM 매크로 입니다.
UFUNCTION(BlueprintCallable) static int32 MyFunction( int32 A, UPARAM(ref) int32& B, int32 C, int32& D )
UPARAM은 UFUNCTION처럼 여러가지 인자를 줄 수 있는데, 그 중 ref인자와 함께 사용된 참조 파라미터는 위와 같이 블루프린트에서 입력 핀으로 설정됩니다.
그 외에, UPARAM은 파라미터의 이름과 블루프린트에서 노출될 이름을 다르게 변경하는 데 사용될 수 있습니다.
UFUNCTION(BlueprintCallable) static int32 MyFunction( int32 A, UPARAM(ref, DisplayName = "BB") int32& B, int32 C, int32& D )
DisplayName 인자를 통해 블루프린트에서 노출될 이름을 바꿀 수 있습니다.
이는 ref 인자와 함께 사용할 수도 있습니다.
그 외에도 UPARAM에는 AllowAbstract, Categories인자가 존재합니다.
이에 관해서는 관련된 글에서 서술할 수 있도록 하겠습니다.
감사합니다.
'Unreal Engine 5._' 카테고리의 다른 글
[Unreal Engine] IsA : Object type check in C++ (0) 2023.02.17 [Unreal Engine] UFUNCTION override (BlueprintNativeEvent) (0) 2023.02.07 [Unreal Engine] UFUNCTION override (C++) (0) 2023.01.31 [Unreal Engine] UFUNCTION Multiple return values (0) 2023.01.26 [Unreal Engine] Forum : Blueprint access C++ static function (0) 2023.01.26