【Blender×Python】オブジェクトの位置情報を取得する方法について徹底解説

Blender

「bpy」とは、PythonからBlenderの機能を呼び出すことができるBlender Python APIのことです。Blenderはオープンソースの3Dアニメーションソフトウェアであり、「bpy」を使うことでBlenderの様々な機能をPythonスクリプトから呼び出して利用することができます。本記事では、「bpy」を用いたオブジェクトの位置情報を取得する方法を紹介します。

# locationプロパティによるオブジェクトの位置情報の取得
"Object".location

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

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にオブジェクトの位置情報を取得するの?

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

locationプロパティによるオブジェクトの位置情報の取得

“Object”.locationプロパティの基本構文

"Object".location
→ Object.location: Vector

“Object”.locationプロパティの使い方

import bpy

CubeObject = bpy.data.objects["Cube"]
CubeLocation = CubeObject.location

print(f"Cube Location:\n{CubeLocation} {type(CubeLocation)}")

CubeLocationX = CubeLocation.x
CubeLocationY = CubeLocation.y
CubeLocationZ = CubeLocation.z

print(f"Cube Location X: {CubeLocationX} {type(CubeLocationX)}")
print(f"Cube Location Y: {CubeLocationY} {type(CubeLocationY)}")
print(f"Cube Location Z: {CubeLocationZ} {type(CubeLocationZ)}")

CubeLocationX = CubeLocation[0]
CubeLocationY = CubeLocation[1]
CubeLocationZ = CubeLocation[2]

print(f"Cube Location X: {CubeLocationX} {type(CubeLocationX)}")
print(f"Cube Location Y: {CubeLocationY} {type(CubeLocationY)}")
print(f"Cube Location Z: {CubeLocationZ} {type(CubeLocationZ)}")
Cube Location:
<Vector (0.0000, 0.0000, 0.0000)> <class 'Vector'>
Cube Location X: 0.0 <class 'float'>
Cube Location Y: 0.0 <class 'float'>
Cube Location Z: 0.0 <class 'float'>
Cube Location X: 0.0 <class 'float'>
Cube Location Y: 0.0 <class 'float'>
Cube Location Z: 0.0 <class 'float'>

まとめ

「bpy」(Blender Python API)は、Pythonを使ったBlenderの開発に非常に役立ちます。この記事では、オブジェクトの位置情報を取得する方法を紹介しました。ぜひ活用してみてください。

関連検索ワード

How to get location of object data?

関連キーワード

blender, python, get, location, object, 取得, 位置, オブジェクト