【python】UnrealEngine5のPythonで自作関数を使ってみた【UE5】

Unreal Engine 5

はじめに

UnrealEngine5のPythonで自作関数を作成して実行してみます.

環境

  • Unreal Engine 5.0.3
  • Windows11

自作関数の作成①~フォルダ直下編~

自作関数のファイルmy_func.pyを作成します.

file

中身はこんな感じです.

def sample_func():
    print("this is sample_func !! ")

次に,前回作成したEditor Utility Widgetsを開き,グラフを選択します.

【python】UnrealEngine5のPythonで今のカレントディレクトリを特定してみる【UE5】
UnrealEngine5のPythonがどこで実行されているのか 今のカレントディレクトリを特定してみました.

file

Execute Python Scriptには下記のコードを記載します.

import os
import numpy as np
import my_func 

my_func.sample_func()

最終的なBlueprintは下記のようになります.

これを実行すると下記のように無事実行完了です.

LogStreaming: Display: FlushAsyncLoading: 48 QueuedPackages, 0 AsyncPackages
PIE: サーバーにログインしました
PIE: PIE合計開始時間 0.54 秒。
LogPython: this is sample_func !! 

自作関数の作成②~モジュールフォルダ編~

上記の例では,フォルダ直下に自作関数を配置していため,フォルダの中身があらゆるファイルで混在することになります.そこで,Python用のフォルダ(モジュールフォルダ)を作成し,そこから呼び出すようにします.

下記のようにpy_modulesフォルダを作成し,その中身にmy_func.pyを配置します.

file

中身は少し変えます.

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

Execute Python Scriptも少し変えます.py_modulesを追加しました.

import os
import numpy as np
import py_modules.my_func as my_func 

my_func.sample_func()

これで実行すると,下記のようにちゃんとthis is sample_func in modules !! が表示されます.

LogStreaming: Display: FlushAsyncLoading: 48 QueuedPackages, 0 AsyncPackages
PIE: サーバーにログインしました
PIE: PIE合計開始時間 0.547 秒。
LogPython: this is sample_func in modules !! 

結論

UnrealEngine5のExecute Python Scriptノードを使うにあたり,Pythonの自作関数を作成し,実行してみたとこと,無事に実行が確認されました.

次回は,作成した自作関数とUnrealEngine5で引数や返値についてやっていこうと思います.

参考文献

【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をコピーしました