はくとうのゲーム開発ライフ

UE4周りの技術メモ

pybind11を使ってPythonからC++呼び出しを行う②(UEから呼び出し編)

はじめに

[Python]pybind11を使ってPythonからC++呼び出しを行う① (モジュール作成まで)

前回の続きで、今回はUnrealEngineからPythonを使用してC++関数を呼び出してみたいと思います。



モジュールを認識させる

まずは前回作成したpydファイル(モジュール)を認識させる必要があります。 今回はUnrealEngineに認識させる必要があるということで、 公式ドキュメントによると、いくつか自動的に認識させるためのパスが追加されているようです。

今回はプロジェクト以下にデフォルトできるContentフォルダ以下にPythonフォルダを作成しました。 [ProjectName]/Content/Python

このPythonフォルダに前回作成したpydファイルをコピーします。

これで準備は完了です。



UnrealEngine上から呼び出してみる

Unreal側のPython環境が整っていること前提ですが、 実際にUnrealEngineから簡単に呼び出してみます。


上記画像の箇所に下記テストスクリプトを入れると...

import TestAdd
result = TestAdd.add(1,1);
print(result);

実行結果は以下のようになるはずです。

以上、簡単ですがPythonから呼び出しができました。



まとめ

UnrealEngineから呼び出しまでの流れは、簡単に実装できました。 pybind11のドキュメント通りにやってみただけなので、 ここからさらに色々工夫したら楽しいことができそうで、ワクワクしてます!w