【python】UnrealEngine5のPythonでローカルに自作パッケージを作成してみた【UE5】(8)

Unreal Engine 5

はじめに

UnrealEngine5のPythonでパッケージのパスが通っている場所を特定しましたが,そのままではどうやらパスが上手く通っておらず,自作の関数を使うことができませんでした.そこで,今回は一度プロジェクト設定からパスを追加し,実行した後に削除することでパスが通るかを確認してみました.

環境

  • Unreal Engine 5.0.3
  • Windows11
  • Editor Utility Widgetsを実行できる環境が必要です(下記の記事の環境からやっていきます)
【python】UnrealEngine5のPythonでパッケージのパスを特定してみた【UE5】(7)
UnrealEngine5のPythonで自作のパッケージを追加するため,パッケージのパスが通っている場所を特定してみます.

パッケージのパスの追加

フォルダの作成

Python\Lib\Win64\site-packagesのフォルダを作成します.

file

パッケージファイルの作成

Content\Python\Lib\Win64\site-packagesこちらに下記のような適当なファイルmy_func4.pyを作成しておきます.

def sample_func3():
    print("this is sample_func in modules 3!! ")

def sample_func2(a1, a2):
    ans = a1 + a2
    print("a1:{} + a2:{} = {}".format(a1, a2, ans))
    return ans

パスの追加

ここから,前回特定したパッケージのパスD:\Local_Project\1002_UE5\1002_11_Tanya_of_Air\TanyaOfAir_v3\Content\Python\Lib\Win64\site-packagesを追加していきます.

前回のパスの出力

LogPython: tanya dir
LogPython: D:\Local_Project\1002_UE5\1002_11_Tanya_of_Air\TanyaOfAir_v3\Content\Python\Lib\Win64\site-packages
LogPython: D:\Local_Project\1002_UE5\1002_11_Tanya_of_Air\TanyaOfAir_v3\Content\Python\Lib\site-packages
LogPython: tanya dir
LogPython: D:\Local_Project\1002_UE5\1002_11_Tanya_of_Air\TanyaOfAir_v3\Content\Python\Lib\site-packages

編集>プロジェクト設定からpythonと検索し,プラスマークを押すことでパスを追加します.

file

いったんここで,プロジェクトを再起動します.

パッケージの実行

下記のコードを

import my_func4
import importlib
importlib.reload(my_func4)

my_func4.sample_func3()

貼り付けます.

最終的にはこんな感じになります.

実行結果

実行結果はこちら,ローカルのプロジェクトフォルダ内の自作関数を呼び出していることが分かります.

PIE: サーバーにログインしました
PIE: PIE合計開始時間 0.548 秒。
LogPython: this is sample_func in modules 3!! 

そうすると,キャッシュが作成されていれば無事にパスは通っています.

file

追加したパスの削除

追加したパスを削除して再起動します.

file

追加したパスを削除してもパッケージが動けば成功です.

結論

前回は,UnrealEngine5のPythonでパッケージのパスが通っている場所を特定しましたが,そのままでは自作の関数を使うことができませんでした.原因は,コンパイル関係が怪しいですが特定できていません.そこで,一度プロジェクト設定からパスを追加し,実行してみたところ,きちんとパスを通すことができました.

参考文献

【python】UnrealEngine5のEditor Utility Widgetを使ってpythonを使ってみる~Hello world~【UE5】
UnrealEngine5でpythonを使っていきます.PluginはPython Editor Script Pluginを使っていきます(私の場合は最初から入っていました).その結果,無事にHello worldまでいけました.
【python】UnrealEngine5のpythonでpipを使ってみる~Numpyのインストール~【UE5】
概要UnrealEngine5でpythonのpipを使っていきます.その結果無事にpipを使ってnumpyを入れてnumpyの関数を使うことができました.はじめに記事の背景最近,UnrealEngine5でPythonを使っ...
【python】UnrealEngine5のPythonでCSVを出力してみる【UE5】
UnrealEngine5のPythonでCSVを出力してみます.

コメント

タイトルとURLをコピーしました