【python】UnrealEngine5のpythonでpipを使ってみる~Numpyのインストール~【UE5】

Unreal Engine 5

概要

UnrealEngine5pythonpipを使っていきます.その結果無事にpipを使ってnumpyを入れてnumpyの関数を使うことができました.

はじめに

記事の背景

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

課題

前回はpythonを動かすことができました.しかし,初期状態のpythonを使ってできることは少ないです.やはりパッケージのインストールができないとpythonは厳しいですよね.そこで今回はUnrealEngine5へのパッケージのインストールをpipを使ってやっていきます.

アプローチ方法

UnrealEngine5PythonプラグインのPython.exeを指定することでUnrealEngine5pipコマンドを呼び出してパッケージのインストールします.

内容

環境

  • Unreal Engine 5.0.3
  • Windows11

UnrealEngine5のpipを使ってみる

まずはUnrealEngine5がどこにインストールされているかを特定する必要があります.(だいぶ前にインストールしたため,インストール場所を忘れておりました)

EpicGamesランチャーからショートカットの作成を行います.

file

これでデスクトップにショートカットが作成されましたので,右クリックからファイルの場所を開くでインストールしたフォルダを特定できます.

file

私は下記の場所にありました.

D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64

file

ここから,Python.exeがインストールされている場所を特定します.Binaries\ThirdParty\Python3\Win64にあるはずです.

私は下記の場所にありました.

D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64

file

Python.exeがあるフォルダで右クリックしてPowershell ウインドウをここで開くを選択すると,

file

Powershellが起動します.ここで下記のコマンドを打ち込んでいきます.

まずは,インストールされているpipパッケージのリストを表示します.pipsetuptoolsだけですね.

PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64> .\python.exe -m pip list
Package    Version
---------- -------
pip        21.2.3
setuptools 57.4.0
WARNING: You are using pip version 21.2.3; however, version 22.3 is available.
You should consider upgrading via the 'D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64\python.exe -m pip install --upgrade pip' command.
PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64>

pipのアップグレードが催促されているので,一応下記コマンドでアップグレードしておきます.

PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64> .\python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in d:\program files\epic games\ue_5.0\engine\binaries\thirdparty\python3\win64\lib\site-packages (21.2.3)
Collecting pip
  Using cached pip-22.3-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.3
    Uninstalling pip-21.2.3:
      Successfully uninstalled pip-21.2.3
  WARNING: The scripts pip.exe, pip3.10.exe, pip3.9.exe and pip3.exe are installed in 'D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-22.3
PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64>

pipが21から22にアップグレードされました.

PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64> .\python.exe -m pip list
Package    Version
---------- -------
pip        22.3
setuptools 57.4.0
PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64>

次に,numpyをインストールしてみます.

PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64> .\python.exe -m pip install numpy
Collecting numpy
  Using cached numpy-1.23.4-cp39-cp39-win_amd64.whl (14.7 MB)
Installing collected packages: numpy
  WARNING: The script f2py.exe is installed in 'D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed numpy-1.23.4
PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64>

1.23.4がちゃんとインストールされているいることが分かります.

PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64> .\python.exe -m pip list
Package    Version
---------- -------
numpy      1.23.4
pip        22.3
setuptools 57.4.0
PS D:\Program Files\Epic Games\UE_5.0\Engine\Binaries\ThirdParty\Python3\Win64>

Numpyを使ったプログラムの実装

ここからは,前回作成したノードを書き換えていきます.まずは,Editor Utility Widgetを開きます.

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

file

そうしたら,Blueprintを下記にようにしていきます.

今回は,変数aを-1を代入してnumpyabs関数で絶対値を取っていきます.

import os
import numpy as np

a = -1

print("numpy test : {}".format(np.abs(a)))

これでプレイすると,下記のように1が表示され,ちゃんと絶対値が計算されていることが分かります.無事にnumpyは機能していますね.

PIE: サーバーにログインしました
PIE: PIE合計開始時間 0.965 秒。
LogPython: numpy test : 1

file

結論

UnrealEngine5でpythonpipを使って,
numpyをインストールしてみたところ,ちゃんと機能しました..次回はCSVの出力などをやってみようと思います.

参考文献

コメント

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