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

Python

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

# get_actor_transform関数によるアクターの位置情報/回転情報/スケール情報の取得
アクター.get_actor_transform()

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

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

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

get_actor_transform関数によるアクターの位置情報/回転情報/スケール情報の取得

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

“unreal.Actor”.get_actor_transform() 
→ unreal.Transform

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

import unreal

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

print(actor.get_actor_transform())
LogPython: <Struct 'Transform' (0x000001DDF6937210) {rotation: {x: 0.000000, y: -0.000000, z: 1.000000, w: 0.000000}, translation: {x: 0.000000, y: 0.000000, z: 0.000000}, scale3d: {x: 1.000000, y: 1.000000, z: 1.000000}}>

おまけ:位置情報/回転情報/スケール情報/変換行列

print(actor.get_actor_transform().translation)
print(actor.get_actor_transform().rotation)
print(actor.get_actor_transform().scale3d)
print(actor.get_actor_transform().to_matrix())
LogPython: <Struct 'Vector' (0x000001DDF6937230) {x: 0.000000, y: 0.000000, z: 0.000000}>
LogPython: <Struct 'Quat' (0x000001DDF6937210) {x: 0.000000, y: -0.000000, z: 1.000000, w: 0.000000}>
LogPython: <Struct 'Vector' (0x000001DDF6937250) {x: 1.000000, y: 1.000000, z: 1.000000}>
LogPython: <Struct 'Matrix' (0x00000A23FEFBB800) {x_plane: {x: -1.000000, y: 0.000000, z: 0.000000, w: 0.000000}, y_plane: {x: -0.000000, y: -1.000000, z: 0.000000, w: 0.000000}, z_plane: {x: 0.000000, y: -0.000000, z: 1.000000, w: 0.000000}, w_plane: {x: 0.000000, y: 0.000000, z: 0.000000, w: 1.000000}}>

まとめ

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

関連検索ワード

How to get the transformation of an actor?

関連キーワード

unreal, python, get, actor, level, transformation, 取得, 位置, 回転, スケール