C++에서 참조 인자를 가진 함수를 만들어 블루프린트에서 해당 함수를 호출을 하게 되면 다음과 같이 인자의 입력이 아닌 출력을 하는 함수가 만들어진다.
UFUNCTION(BlueprintCallable, Category = "Category")
void FunctionNameRef(float& ParameterFloat);
C++ 함수에서 참조 인자를 받아 함수를 실행한 후 참조 인자를 블루프린트에서 활용을 하겠다면 문제가 없다.
하지만 블루프린트에서 함수를 호출하고 참조 인자를 입력할 때는 문제가 생긴다.
이 때 참조 인자를 const로 받게 되면 문제는 해결된다.
UFUNCTION(BlueprintCallable, Category = "Category")
void FunctionNameConst(const float& ParameterFloat);
하지만 이렇게 만들어진 함수에서 인자는 const로 받았기 때문에 값을 수정할 수 없다.
참조 받은 인자의 값을 수정할 수 있게 만들려면 다음과 같이 UPARAM(ref) 매크로를 사용하면 된다.
UFUNCTION(BlueprintCallable, Category = "Category")
void FunctionNameUPARAM(UPARAM(ref) float& ParameterFloat);
'Unreal Engine > C++' 카테고리의 다른 글
[Unreal Engine 4 C++] TimeStop (시공단열/초산 회피) (0) | 2023.08.02 |
---|---|
[Unreal Engine 4 C++] UObject에서 Tick함수 사용하는 법 (0) | 2023.07.10 |
[Unreal Engine 4 C++] UENUM을 USTRUCT에서 변수로 사용하기 (0) | 2022.12.31 |
[Unreal Engine 4 C++] SetTimer를 활용한 Delay구현 (0) | 2022.12.08 |
[Unreal Engine 4 C++] C++에서 구현한 정적 함수와 일반 함수의 블루프린트에서 사용시 차이점 (0) | 2022.09.26 |