Unreal Engine4 で公式Pythonを使うまで
環境
- Windows 10
- Unreal Engine version 4.22
プラグインの有効化
このプラグインが入っていないと、よく使うEditorAssetLibrary、EditorFilterLibrary、EditorLevelLibrary、およびEditorStaticMeshLibraryが使えない。プラグインのインストール・有効化が必要
プラグインを有効化したあとは必ず、UEを再起動する
スクリプトの実行結果を表示・実行するためにアウトプットタブを開きます
サンプルをダウンロード
-
https://epicgames.ent.box.com/v/Python-Examples
- ダウンロードボタンを押す
- c:\epicのフォルダを作ってそこに置きました
フォルダをリネーム
- 環境によるのかもしれませんが、フォルダ名に空白が入ると実行されなかったので『Basic Examples』と『Unreal Studio Examples』の空白を削ります。『BasicExamples』『UnrealStudioExamples』にリネームします。階層も深かったので、C:\epic\PythonExamples\BasicExamplesでアクセスできるようにしました
Pythonのコードを実行します
- ファイルを指定して実行
- 直接コードを実行
公式サンプル一覧
-
UE4 Python使用方法についての公式ドキュメント こちらにサンプルの解説があります!
-
Basic Examples
ファイル名 | 内容 |
---|---|
hello_world.py | 最も基本なhello_worldをコンソールに表示します。 |
unreal_hello_world.py | hello_world.pyと全く同じ結果となります。最も基本なhello_worldをコンソールに表示しますが、unrealの関数で出力します。 |
edit_property.py | プロパティの編集サンプルです。サンプルとしてメディアプレイヤーのプロパティを変更します。 |
pyside_simpleexample.py | PySideを使用してWindowを表示するサンプルです。事前にpip instalk Pysideをしておかないと動作しません。pip installの方法は後述 |
scoped_editor_transaction.py | スコープトランザクションのサンプル、スコープを使ってまとめてプロパティを変更するサンプルです |
unreal_object.py | unrealのobjectを作るサンプルです。vectorオブジェクトのサンプルです。vector.pyと同じです。 |
vector.py | vectorオブジェクトのサンプルです。unreal_object.pyと同じです。 |
- Unreal Studio Examples
ファイル名 | 内容 |
---|---|
ContentBrowser\content_browser.py | |
ConvertActors\convert_actors.py | |
DatasmithImport\import_datasmith.py | |
JoinActors\join_actors.py | |
LevelEditing\level_editing.py | |
MergeActors\merge_actors.py | |
ReplaceMaterials\replace_red_materials.py |
pip install
pipの場所
windows10の場合、pip installを直接打つと『pip fatal error in launcher』エラーが出て動作しないので、python -m 経由で実行する。targetの設定も忘れずに
- C:\Program Files\Epic Games\UE_4.21\Engine\Source\ThirdParty\Python\Win64\Scripts
cd C:\Program Files\Epic Games\UE_4.21\Engine\Source\ThirdParty\Python\Win64\Scripts
python -m pip install --target="C:\Program Files\Epic Games\UE_4.21\Engine\Source\ThirdParty\Python\Win64\Lib\site-packages" Pyside
- http://www.chrisevans3d.com/pub_blog/python-ships-unreal-engine-4-19/
- https://stackoverflow.com/questions/24627525/fatal-error-in-launcher-unable-to-create-process-using-c-program-files-x86
Pythonの場所
UnrealEngineにbuilt-inらしい...。
import os
print(os.getcwd())
LogPython: C:\Program Files\Epic Games\UE_4.22\Engine\Binaries\Win64
import sys
print(sys.executable)
LogPython: C:\Program Files\Epic Games\UE_4.22\Engine\Binaries\Win64\UE4Editor.exe
参考
- UE4のPython使ってみた 大変参考にさせて頂きました!
- UE4 Python使用方法についての公式ドキュメントです
- Python API一覧
- EditorAssetLibrary API一覧には存在しないが、なぜか個別にclassのマニュアルが存在するのだった...。
- https://qiita.com/koorinonaka/items/acbd8fde9230cd62ec87
- https://github.com/mamoniem/UnrealEditorPythonScripts