「unreal」(Unreal Engine Python API)は、Unreal EngineのPythonライブラリです。このAPIを使用することで、Unreal Engineをより簡単にカスタマイズすることができます。Pythonは、様々なプログラミング言語で使用される汎用的なスクリプト言語であり、「unreal」はPythonを使用して構築されています。本記事では、「unreal」を使用する上で基礎的な情報を紹介します。
Unreal Engine Class
1. unreal.Actor
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Actor.html
Bases: Object/_ObjectBase/_WrapperBase
2. unreal.StaticMeshActor
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/StaticMeshActor.html
Bases: Actor/Object/_ObjectBase/_WrapperBase
3. unreal.SkeletalMeshActor
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/SkeletalMeshActor.html
Bases: Actor/Object/_ObjectBase/_WrapperBase
4. unreal.Pawn
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Pawn.html
Bases: Actor/Object/_ObjectBase/_WrapperBase
5. unreal.Character
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Character.html
Bases: Pawn/Actor/Object/_ObjectBase/_WrapperBase
6. unreal.Level
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Level.html
Bases: Actor/Object/_ObjectBase/_WrapperBase
7. unreal.StaticMesh
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/StaticMesh.html
Bases: StreamableRenderAsset/Object/_ObjectBase/_WrapperBase
8. unreal.SkeletalMesh
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/SkeletalMesh.html
Bases: SKinnedAsset/StreamableRenderAsset/Object/_ObjectBase/_WrapperBase
9. unreal.Texture
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Texture.html
Bases: StreamableRenderAsset/Object/_ObjectBase/_WrapperBase
10. unreal.Material
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Material.html
Bases: MaterialInterface/Object/_ObjectBase/_WrapperBase
11. unreal.MaterialInstance
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/MaterialInstance.html
Bases: MaterialInterface/Object/_ObjectBase/_WrapperBase
12. unreal.Blueprint
Link: https://docs.unrealengine.com/5.1/en-US/PythonAPI/class/Blueprint.html
Bases: BlueprintCore/Object/_ObjectBase/_WrapperBase
Unreal Engine Data
Unreal Engine Function
Basic Function
内容 | 関数 | 入力値 | 出力値 | リンク |
---|---|---|---|---|
データの表示 Show Data | unreal.log unreal.log_warning unreal.log_error | データ | 詳しくはこちら |
データの表示
### Show Data
# log関数によるデータの表示
unreal.log(データ)
# log_warning関数によるデータの表示
unreal.log_warning(データ)
# log_error関数によるデータの表示
unreal.log_error(データ)
# print関数によるデータの表示
print(データ)
Contents Browser and Asset
内容 | 関数 | 入力値 | 出力値 | リンク |
---|---|---|---|---|
コンテンツブラウザ内のアセットの読み込み Get Asset Data in Contents Browser | unreal.load_asset | アセットのパス | アセット | 詳しくはこちら 詳しくはこちら |
コンテンツブラウザ内のアセットの一括取得 Get All Assets in Contents Browser | unreal.EditorAssetLibrary.list_assets | ディレクトリのパス | アセットリスト | 詳しくはこちら |
コンテンツブラウザ内の選択されているアセットの一括取得 Get All Selected Assets in Contents Browser | unreal.EditorUtilityLibrary.get_selected_assets | アセットリスト | 詳しくはこちら |
コンテンツブラウザ内のアセットの取得
### Get Asset in Contents Browser
# load_asset関数によるコンテンツブラウザ内のアセットの取得
アセット = unreal.load_asset(アセットのパス)
コンテンツブラウザ内のアセットの一括取得
### Get All Assets in Contents Browser
# list_assets関数によるコンテンツブラウザ内のアセットの一括取得
アセットリスト = unreal.EditorAssetLibrary.list_assets(ディレクトリのパス)
コンテンツブラウザ内の選択されているアセットの一括取得
### Get All Selected Assets in Contents Browser
# get_selected_assets関数によるコンテンツブラウザ内の選択されているアセットの一括取得
アセットリスト = unreal.EditorUtilityLibrary.get_selected_assets()
World, Level and Actor
内容 | 関数 | 入力値 | 出力値 | リンク |
---|---|---|---|---|
アセットを用いたレベルへのアクターの生成 Create Actor by using Asset to Level | unreal.EditorLevelLibrary.spawn_actor_from_object | オブジェクト, 位置, 回転 | アクター | 詳しくはこちら |
テンプレートを用いたレベルへのアクターの生成 Create Actor by using Template to Level | unreal.EditorLevelLibrary.spawn_actor_from_class | クラス, 位置, 回転 | アクター | 詳しくはこちら |
レベルへのフォルダの生成 Create Folder to Level | 詳しくはこちら | |||
レベル上のアクターの一括取得 Get All Actors in Level | unreal.EditorActorSubsystem().get_all_level_actors | アクターリスト | 詳しくはこちら | |
レベル上の選択されているアクターの一括取得 Get All Selected Actors in Level | unreal.EditorActorSubsystem().get_selected_level_actors | アクターリスト | 詳しくはこちら | |
名前によるレベル上のアクターの取得 Get Actor by Name in Level | unreal.EditorActorSubsystem().get_actor_reference | アクター名 | アクター | 詳しくはこちら |
アクティブなレベルの取得 Get Active Level | unreal.LevelEditorSubsystem().get_current_level | レベル | 詳しくはこちら | |
エディタワールドの取得 Get Editor World | unreal.UnrealEditorSubsystem().get_editor_world | ワールド | 詳しくはこちら | |
ゲームワールドの取得 Get Game World | unreal.UnrealEditorSubsystem().get_game_world | ワールド | 詳しくはこちら | |
子アクターから親アクターへの接続 Connect Actor (Child) to Actor (Parent) | “unreal.Actor”.attach_to_actor | 子アクター 親アクター, ソケット名, 位置ルール, 回転ルール, スケールルール, 物理シミュレーション接続有無 | 詳しくはこちら | |
レベル上のアクターの位置情報の取得 Get the Location of an Actor | “unreal.Actor”.get_actor_location | アクター | ベクトル | 詳しくはこちら |
レベル上のアクターの回転情報の取得 Get the Rotation of an Actor | “unreal.Actor”.get_actor_rotation | アクター | ローテーター | 詳しくはこちら |
レベル上のアクターのスケール情報の取得 Get the Scale of an Actor | “unreal.Actor”.get_actor_scale3d | アクター | ベクトル | 詳しくはこちら |
レベル上のアクターのトランスフォーム情報の取得 Get the Transform of an Actor | “unreal.Actor”.get_actor_transform | アクター | トランスフォーム | 詳しくはこちら |
レベル上のアクターの位置の変更 Set the Location of an Actor | “unreal.Actor”.set_actor_location | アクター 位置, スイープ有無, テレポート有無 | 詳しくはこちら | |
レベル上のアクターの回転の変更 Set the Rotation of an Actor | “unreal.Actor”.set_actor_rotation | アクター 回転, テレポート有無 | 詳しくはこちら | |
レベル上のアクターのスケールの変更 Set the Scale of an Actor | “unreal.Actor”.set_actor_scale3d | アクター スケール | 詳しくはこちら | |
レベル上のアクターのトランスフォームの変更 Set the Transform of an Actor | “unreal.Actor”.set_actor_transform | アクター 変換, スイープ有無, テレポート有無 | 詳しくはこちら | |
レベル上のアクターの移動(ローカル座標系) Translate the Actor in Local Space | “unreal.Actor”.add_actor_local_offset | アクター 移動値, スイープ有無, テレポート有無 | 詳しくはこちら | |
レベル上のアクターの移動(ワールド座標系) Translate the Actor in World Space | “unreal.Actor”.add_actor_world_offset | アクター 移動値, スイープ有無, テレポート有無 | 詳しくはこちら | |
レベル上のアクターの回転(ローカル座標系) Rotate the Actor in Local Space | “unreal.Actor”.add_actor_local_rotation | アクター 回転値, スイープ有無, テレポート有無 | 詳しくはこちら | |
レベル上のアクターの回転(ワールド座標系) Rotate the Actor in World Space | “unreal.Actor”.add_actor_world_rotation | アクター 回転値, スイープ有無, テレポート有無 | 詳しくはこちら | |
レベル上のアクターの選択 Select the Actor in Level | unreal.EditorActorSubsystem().set_actor_selection_state | アクター, True | 詳しくはこちら | |
レベル上のアクターの非選択 Unselect the Actor in Level | unreal.EditorActorSubsystem().set_actor_selection_state | アクター, False | 詳しくはこちら |
アセットを用いたレベルへのアクターの生成
### Create Actor by using Asset to Level
# spawn_actor_from_object関数によるアセットを用いたレベルへのアクターの生成
アクター = unreal.EditorLevelLibrary.spawn_actor_from_object(オブジェクト, 位置, 回転)
テンプレートを用いたレベルへのアクターの生成
### Create Actor by using Template to Level
# spawn_actor_from_class関数によるレベル上へのアクター生成
アクター = unreal.EditorLevelLibrary.spawn_actor_from_class(クラス, 位置, 回転)
レベルへのフォルダの生成
### Create Folder to Level
レベル上のアクターの一括取得
### Get All Actors in Level
# get_all_level_actors関数によるレベル上のアクターの一括取得
アクターリスト = unreal.EditorActorSubsystem().get_all_level_actors()
レベル上の選択されているアクターの一括取得
### Get All Selected Actors in Level
# get_selected_level_actors関数によるレベル上の選択されているアクターの一括取得
アクターリスト = unreal.EditorActorSubsystem().get_selected_level_actors()
名前によるレベル上のアクターの取得
### Get Actor by Name in Level
# get_actor_reference関数による名前によるレベル上のアクターの取得
アクター = unreal.EditorActorSubsystem().get_actor_reference(アクター名)
アクティブなレベルの取得
### Get Active Level
# get_editor_world関数によるアクティブなエディタレベルの取得
レベル = unreal.LevelEditorSubsystem().get_current_level()
エディタワールドの取得
### Get Editor World
# get_editor_world関数によるエディタワールドの取得
ワールド = unreal.UnrealEditorSubsystem().get_editor_world()
ゲームワールドの取得
### Get Game World
# get_editor_world関数によるゲームワールドの取得
ワールド = unreal.UnrealEditorSubsystem().get_game_world()
子アクターから親アクターへの接続
### Connect Actor (Child) to Actor (Parent)
# attach_to_actor関数による子アクターから親アクターへの接続
子アクター.attach_to_actor(親アクター, ソケット名, 位置ルール, 回転ルール, スケールルール, 物理シミュレーション接続有無)