BluePrintから呼び出せるC++のstatic関数の作り方
BluePrintから呼び出せるC++のstatic関数の作り方を書きます。
まず、UnrealEditorより
上部メニュー → ファイル → 新規c++ファイル
を選択します。
Blueprint Function Library
親クラスを選択
というダイアログ出現するので、一覧からBlueprint Function Libraryを選択し、
Blueprint Function Libraryが親となったクラスを作成し、適当に名前をにつけます。
ここでは、MyBlueprintFunctionLibraryとクラス名をつけました。
c++の自作関数を書く
続いて、先ほど生成したクラスにBlueprintから呼び出せるstatic関数を定義します。
headerファイルに以下のように定義しました。
UCLASS()
class PIPEN_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
UFUNCTION(BlueprintCallable, Category="MathUtil")
static float gcd(int value1,int value2);
};
UFUNCTION(BlueprintCallable)
と書くと、対象の関数がBlueprintから呼び出せるようになります。
そして、関数をstaticとして定義します。
続いて、cppファイルに処理を書きます。
cppファイルに自作関数を書く
gcdを求める処理をBlueprint上から呼び出したいので、
UE4のBigInt.hからgcdを求めるstatic関数を呼び出すようにします。
#include "MyBlueprintFunctionLibrary.h"
#include "Runtime/Core/Public/Math/BigInt.h"
float UMyBlueprintFunctionLibrary::gcd(int value1,int value2){
return FEncryption::CalculateGCD(value1,value2);
}
cppファイルの中身を書いたら、ビルドして処理を反映させます。
自作したstatic関数をBlueprintで呼び出す
ビルドが終了したら、対象のUnrealEditorを起動します。
すると、mapなどで、先ほど定義したgcd関数を呼び出せるようになります。
以上、自作したc++のstatic関数をBlueprintで呼び出す方法について書きました。
UnrealEngine4.21で確認しています。
初版:2019/9/1
最終更新:2019/9/1