「unreal」(Unreal Engine Python API)は、Unreal EngineのPythonライブラリです。このAPIを使用することで、Unreal Engineをより簡単にカスタマイズすることができます。Pythonは、様々なプログラミング言語で使用される汎用的なスクリプト言語であり、「unreal」はPythonを使用して構築されています。本記事では、「unreal」を用いたブループリントクラスアセットを作成する方法(スケルタルメッシュアセット)を紹介します。
下記の様な内容で悩んでいる/困っている場合に使える方法を参考までにご共有させて頂きます。
・Unreal Engine上で、どの様にPythonを使うの?
・Unreal Engine上のPythonで、どの様にブループリントクラスアセットを作成するの?
また、「unreal」を使用する上で基礎的な情報は下記の記事で紹介しております。
他の「unreal」のクラスや関数について気になる方はこちらの記事をご覧ください。
目次
- ブループリントアセットの作成(スケルタルメッシュアセット)
- unreal.BlueprintFactory関数の基本構文
- unreal.BlueprintFactory.set_editor_property関数の基本構文
- unreal.AssetToolsHelpers.get_asset_tools().create_asset関数の基本構文
- unreal.get_engine_subsystem(unreal.SubobjectDataSubsystem).k2_gather_subobject_data_for_blueprint関数の基本構文
- unreal.get_engine_subsystem(unreal.SubobjectDataSubsystem).add_new_subobject関数の基本構文
- unreal.SubobjectDataBlueprintFunctionLibrary.get_data関数の基本構文
- unreal.SubobjectDataBlueprintFunctionLibrary.get_object関数の基本構文
- 上記関数の使い方
- まとめ
- 関連検索ワード
- 関連キーワード
ブループリントアセットの作成(スケルタルメッシュアセット)
unreal.BlueprintFactory関数の基本構文
unreal.BlueprintFactory()
→ BlueprintFactory
unreal.BlueprintFactory.set_editor_property関数の基本構文
unreal.BlueprintFactory().set_editor_property("parent_class", type(Class))
→ None
unreal.AssetToolsHelpers.get_asset_tools().create_asset関数の基本構文
unreal.AssetToolsHelpers.get_asset_tools()
→ AssetTools
unreal.AssetTools.create_asset(
asset_name: str,
package_path: str,
asset_class: type(Class),
factory: Factory,
calling_context: Name='None'
)
→ Object
unreal.get_engine_subsystem(unreal.SubobjectDataSubsystem).k2_gather_subobject_data_for_blueprint関数の基本構文
unreal.get_engine_subsystem(
subsystem: Union[Class, type[_EngineSubsystemTypeVar]]
)
→ Optional[_EngineSubsystemTypeVar]
unreal.SubobjectDataSubsystem.k2_gather_subobject_data_for_blueprint(
context: Blueprint
)
→ unreal.Array[SubobjectDataHandle]
unreal.get_engine_subsystem(unreal.SubobjectDataSubsystem).add_new_subobject関数の基本構文
unreal.get_engine_subsystem(
subsystem: Union[Class, type[_EngineSubsystemTypeVar]]
)
→ Optional[_EngineSubsystemTypeVar]
unreal.SubobjectDataSubsystem.add_new_subobject(
params: AddNewSubobjectParams
)
-> (SubobjectDataHandle, fail_reason=Text)
unreal.SubobjectDataBlueprintFunctionLibrary.get_data関数の基本構文
unreal.SubobjectDataBlueprintFunctionLibrary.get_data(
data_handle: SubobjectDataHandle
)
→ SubobjectData
unreal.SubobjectDataBlueprintFunctionLibrary.get_object関数の基本構文
unreal.SubobjectDataBlueprintFunctionLibrary.get_object(
data: SubobjectData,
even_if_pending_kill: bool=False
)
→ Object
上記関数の使い方
import unreal
sk_asset = unreal.load_asset('/Engine/EngineMeshes/SkeletalCube.SkeletalCube')
factory = unreal.BlueprintFactory()
factory.set_editor_property("parent_class", unreal.Actor)
asset_tools = unreal.AssetToolsHelpers.get_asset_tools()
bp_asset = asset_tools.create_asset(f"BP_{sk_asset.get_fname()}", f"/Game/MyFolder/Blueprints", None, factory)
subsystem = unreal.get_engine_subsystem(unreal.SubobjectDataSubsystem)
handle = subsystem.k2_gather_subobject_data_for_blueprint(bp_asset)[1]
sub_handle, fail_reason = subsystem.add_new_subobject(
unreal.AddNewSubobjectParams(
parent_handle=handle,
new_class=unreal.SkeletalMeshComponent,
blueprint_context=bp_asset
)
)
subobjectDataBPFL = unreal.SubobjectDataBlueprintFunctionLibrary
subobjectData = subobjectDataBPFL.get_data(sub_handle)
subobject = subobjectDataBPFL.get_object(subobjectData)
subobject.set_editor_property("skeletal_mesh",sk_asset)
まとめ
「unreal」(Unreal Engine Python API)は、Pythonを使ったUnreal Engineの開発に非常に役立ちます。この記事では、ブループリントクラスアセットを作成する方法(スケルタルメッシュアセット)を紹介しました。ぜひ活用してみてください。
関連検索ワード
How to create a blueprint class asset from skeletal mesh asset?
How to convert a skeletal mesh asset to blueprint class asset?
関連キーワード
unreal, python, create, blueprint, asset, skeletal mesh, 作成, ブループリント, アセット, スケルタルメッシュ