【python】UnrealEngine5のEditor Utility Widgetを使ってpythonを使ってみる~Hello world~【UE5】

Unreal Engine 5

【python】UnrealEngine5のEditor Utility Widgetを使ってpythonを使ってみる~Hello world~【UE5】

概要

UnrealEngine5でpythonを使っていきます.PluginはPython Editor Script Pluginを使っていきます(私の場合は最初から入っていました).その結果,無事にHello worldまでいけました.

はじめに

記事の背景

最近,UnrealEngine5Pythonを使った深層学習などをやりたいと思っているのですが,Unityみたいにプラグインがまだ充実していない様子です.そこで,その足掛かりとして簡単なプログラムを動かしてみたいと思います.

課題

そもそも動かし方が結構特殊です.普通のBlueprintのアクタだとPythonを動かすノード(Execute Python Script)がでてきません.

原因としてEditor Utility Widgetsなどの一部のBlueprintでしか動作しないためです.

Python の実行ノードは、Editor Utility Widgets や Editor Utility Blueprints のようなエディタ専用のブループリント クラスでのみ使用可能です。

Python を使用したエディタのスクリプティング
Unreal Editor で Python を使用してコンテンツ制作タスクをスクリプティングする方法を説明します。

正直私はこのタイミング「Editor Utility Widgetsって何?」ってなり心が折れました.

そこで,今後,同じように心が折れた人のためにEditor Utility Widgetsも含めたこの解説記事を作成しました.

アプローチ方法

簡単に言うとEditor Utility Widgetsを作成してから,Execute Python ScriptノードにPythonを記述して実行します.

内容

環境

  • Unreal Engine 5.0.3
  • Windows11

やり方

Python Editor Script Pluginの確認

UnrealEngine5を起動します.

file

適当にプロジェクトを作成してから編集>プラグインPythonと検索するとPython Editor Script Pluginが表示されるので☑を付けます.

僕のは最初から☑がついてました

Editor Utility Widgetsの作成

右クリック>エディタユーティリティ>エディタユーティリティウィジェットEditor Utility Widgetsを作成することができます.

file

作成したEditor Utility Widgetsを開くとこのような画面になります.

検索ボックスにbuttonと入力してドラッグアンドドロップして点線の内側に入れます.
これでUIの作成は完了です.

file

Execute Python Scriptの作成

次に,ボタンを押したらPythonを実行するようにしたいので,ボタンイベントを追加していきます.
右下のイベント>On Clicked>+(プラスマーク)で追加できます.

file

追加したOn ClickイベントにPython関係のノードを追加していきます.

Execute Python Scriptノードは下記のように説明されています.

Python Command の入力に渡した、または打ち込んだリテラル Python コードを実行します。ブループリントから Python を呼び出すための推奨される方法で、Python で新しい BlueprintFunctionLibrary(BPFL) 型を作成する代わりになります。

Python を使用したエディタのスクリプティング
Unreal Editor で Python を使用してコンテンツ制作タスクをスクリプティングする方法を説明します。

つまりはPythonコードを直で打ち込むと実行てきますよってことですね.

そこで,下記のようなhello worldを表示する簡単なコードを張り付けておきます.


import os

print(\"hello world\")

file

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

作成したらコンパイルと保存をしておきましょう.

file

ちなみに,UIの画面とBPの画面は右上から切り替えることができます.

レベルマップBPの編集

次に,プレイしたら作成したEditor Utility Widgetsを表示するようにしていきます.

まずはプレイするレベルマップを開きます.

file

ワールドブループリントのリスト>レベルブループリントを開くからレベルブループリントを開きます.

file

イベントBegin Playに下記のようにノードを追加します.new Editor Utility Widget blueprintには作成したEditor Utility Widgetsを選択しておきます.

file

作成したらコンパイルと保存をしておきましょう.

file

実行

実行してボタンを押すとコンソール上にHello worldと記載されていると思います.

file

結論

UnrealEngine5でpythonを使ってみました.PluginはPython Editor Script Pluginを使ってコードを直で書く形でやってみました.その結果,無事にHello worldまでいけました.次回はnumpyなどのパッケージのインストールなどとやっていこうと思います.

参考文献

Scripting the Unreal Editor Using Python
Describes how to use Python in the Unreal Editor to script content production tasks.
Python を使用したエディタのスクリプティング
Unreal Editor で Python を使用してコンテンツ制作タスクをスクリプティングする方法を説明します。
エディタ ユーティリティ ウィジェット
エディタ ユーティリティ ウィジェットの概要と使用方法の操作ガイド

コメント

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