【UE4】エンジンに登録したプラグインの関数を、プロジェクト内のプラグインから呼び出す【C++】
やり方はだいたい予想はついてたけど、あえてググって確認すると意外に見つからなかったのでメモ。
先日、あおり補正の機能が付いたCineCameraActorのプラグイン『ShiftLensCamera』を作成しましたね。例えばUE4.25プラグイン一式をC:\Epic Games\UE_4.25\Engine\Plugins\フォルダに置くことで、アンリアルエンジンエディタのバージョン4.25の全プロジェクトであおり補正カメラShiftLensCineCameraActorアクターやクラスが使えるようになる話はしました。
今回はさらに、ShiftLensCameraプラグインで定義されているSetShiftLens()関数を呼び出したい場合の記述方法です。
やり方
C:\Epic Games\UE_4.25\Engine\Plugins にあるいろんなプラグインのソースを参照すことで答えが見つかります。えっ、これいいのか…って感じが最初したんですがまあOKなのかな。AppleARKitやOculusAudioとかもこの記述していますので。
1.Build.csファイル
プロジェクト内に作成したプラグインの、Build.csファイルに追記します。予想通りでしょうけど。(『PluginHoge』というプラグインを作った場合の例)
PublicIncludePaths.AddRange(
new string[] {
// … add public include paths required here …
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
// ・・・略・・・
// … add private dependencies that you statically link with here …
“ShiftLensCamera”,
}
);
2.cppファイル
あとは目的のCPPファイルに使いたい関数が定義されているヘッダーファイルを記述するだけです。
#include “ShiftLensCineCameraComponent.h”
void FPluginHogeModule::PluginButtonClicked()
{
// こんな感じで呼べるようになる
camera->SetShiftLens(0.5f);
}