【UE×Python】レベル上のアクターの位置/回転/スケールを変更する方法について徹底解説

Python

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

# set_actor_transform関数によるアクターの位置/回転/スケールの変更
アクター.set_actor_transform(変換, スイープ有無, テレポート有無)

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

・Unreal Engine上で、どの様にPythonを使うの?
・Unreal Engine上のPythonで、どの様にレベル上のアクターの位置/回転/スケールを変更するの?

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

set_actor_transform関数によるアクターの位置/回転/スケールの変更

“unreal.Actor”.set_actor_transform関数の基本構文

“unreal.Actor”.set_actor_transform(
	new_transform:unreal.Transform, 
	sweep: bool, 
	teleport: bool
) 
→ HitResult or None

“unreal.Actor”.set_actor_transform関数の使い方

import unreal

actor_path = "PersistentLevel.StaticMeshActor_0"
actor = unreal.EditorActorSubsystem().get_actor_reference(actor_path)

new_location = unreal.Vector(x=0.0, y=0.0, z=0.0)
new_rotation = unreal.Rotator(roll = 0.0, pitch = 0.0, yaw = 180.0)
new_scale = unreal.Vector(x=1.0, y=1.0, z=1.0)
new_transform = unreal.Transform(location=new_location, rotation=new_rotation, scale=new_scale)

actor.set_actor_transform(new_transform, False, False)

まとめ

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

関連検索ワード

How to set the transformation of an actor?

関連キーワード

unreal, python, set, actor, level, transformation, 変更, 位置, 回転, スケール