【UE×Python】レベル上にアクターを生成する方法について徹底解説

Python

「unreal」(Unreal Engine Python API)は、Unreal EngineのPythonライブラリです。このAPIを使用することで、Unreal Engineをより簡単にカスタマイズすることができます。Pythonは、様々なプログラミング言語で使用される汎用的なスクリプト言語であり、「unreal」はPythonを使用して構築されています。本記事では、「unreal」を用いたレベル上にアクターを生成する方法を紹介します。

# spawn_actor_from_class関数によるレベル上へのアクター生成
unreal.EditorLevelLibrary.spawn_actor_from_class(クラス, 位置, 回転)

下記の様な内容で悩んでいる/困っている場合に使える方法を参考までにご共有させて頂きます。

・Unreal Engine上で、どの様にPythonを使うの?
・Unreal Engine上のPythonで、どの様にレベル上にアクターを生成するの?

また、「unreal」を使用する上で基礎的な情報は下記の記事で紹介しております。
他の「unreal」のクラスや関数について気になる方はこちらの記事をご覧ください。

spawn_actor_from_class関数によるレベル上へのアクター生成

unreal.EditorLevelLibrary.spawn_actor_from_class関数の基本構文

unreal.EditorLevelLibrary.spawn_actor_from_class(
	actor_class: type(Class), 
	location: unreal.Vector, 
	rotation: unreal.Rotator=[0.000000, 0.000000, 0.000000], 
	transient: bool=False
) 
→ Actor

unreal.EditorLevelLibrary.spawn_actor_from_class関数の使い方

New Actor (Class: Actor)

import unreal

### New Actor (Class: Actor)
new_actor = unreal.EditorLevelLibrary.spawn_actor_from_class(
    unreal.Actor.static_class(),
    unreal.Vector(0, 0, 0),
    unreal.Rotator(0, 0, 0)
)

new_actor.set_actor_label(f"SampleActor")      ### Edit Label Name
new_actor.set_folder_path(f"SampleFolder")     ### Create New Folder / Set Folder to Actor

New Actor (Class: StaticMeshActor)

### New Actor (Class: StaticMeshActor)
new_actor_StaticMesh = unreal.EditorLevelLibrary.spawn_actor_from_class(
    unreal.StaticMeshActor.static_class(),
    unreal.Vector(0, 0, 0),
    unreal.Rotator(0, 0, 0)
)

new_actor_StaticMesh.set_actor_label(f"SM_SampleActor")   ### Edit Label Name
new_actor_StaticMesh.set_folder_path(f"SampleFolder")     ### Create New Folder / Set Folder to Actor

New Actor (Class: SkeletalMeshActor)

### New Actor (Class: SkeletalMeshActor)
new_actor_SkeletalMesh = unreal.EditorLevelLibrary.spawn_actor_from_class(
    unreal.SkeletalMeshActor.static_class(),
    unreal.Vector(0, 0, 0),
    unreal.Rotator(0, 0, 0)
)

new_actor_SkeletalMesh.set_actor_label(f"SK_SampleActor")   ### Edit Label Name
new_actor_SkeletalMesh.set_folder_path(f"SampleFolder")     ### Create New Folder / Set Folder to Actor

New Actor (Class: CameraActor)

### New Actor (Class: CameraActor)
new_actor_Camera = unreal.EditorLevelLibrary.spawn_actor_from_class(
    unreal.CameraActor.static_class(),
    unreal.Vector(0, 0, 0),
    unreal.Rotator(0, 0, 0)
)

new_actor_Camera.set_actor_label(f"SampleCamera")     ### Edit Label Name
new_actor_Camera.set_folder_path(f"SampleFolder")     ### Create New Folder / Set Folder to Actor

New Actor (Class: CineCameraActor)

### New Actor (Class: CineCameraActor)
new_actor_CineCamera = unreal.EditorLevelLibrary.spawn_actor_from_class(
    unreal.CineCameraActor.static_class(),
    unreal.Vector(0, 0, 0),
    unreal.Rotator(0, 0, 0)
)

new_actor_CineCamera.set_actor_label(f"SampleCineCamera") ### Edit Label Name
new_actor_CineCamera.set_folder_path(f"SampleFolder")     ### Create New Folder / Set Folder to Actor

まとめ

「unreal」(Unreal Engine Python API)は、Pythonを使ったUnreal Engineの開発に非常に役立ちます。この記事では、レベル上にアクターを生成する方法を紹介しました。ぜひ活用してみてください。

関連検索ワード

How to add new actor in level?

関連キーワード

unreal, python, add, actor, level, 生成, 追加