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

Blender

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

# scaleプロパティによるオブジェクトのスケール情報の取得
"Object".scale

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

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

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

scaleプロパティによるオブジェクトのスケール情報の取得

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

"Object".scale
→ Object.scale: Vector

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

import bpy

CubeObject = bpy.data.objects["Cube"]
CubeScale = CubeObject.scale

print(f"Cube Scale:\n{CubeScale} {type(CubeScale)}")

CubeScaleX = CubeScale.x
CubeScaleY = CubeScale.y
CubeScaleZ = CubeScale.z

print(f"Cube Location X: {CubeScaleX} {type(CubeScaleX)}")
print(f"Cube Location Y: {CubeScaleY} {type(CubeScaleY)}")
print(f"Cube Location Z: {CubeScaleZ} {type(CubeScaleZ)}")

CubeScaleX = CubeScale[0]
CubeScaleY = CubeScale[1]
CubeScaleZ = CubeScale[2]

print(f"Cube Location X: {CubeScaleX} {type(CubeScaleX)}")
print(f"Cube Location Y: {CubeScaleY} {type(CubeScaleY)}")
print(f"Cube Location Z: {CubeScaleZ} {type(CubeScaleZ)}")
Cube Scale:
<Vector (1.0000, 1.0000, 1.0000)> <class 'Vector'>
Cube Scale X: 1.0 <class 'float'>
Cube Scale Y: 1.0 <class 'float'>
Cube Scale Z: 1.0 <class 'float'>
Cube Scale X: 1.0 <class 'float'>
Cube Scale Y: 1.0 <class 'float'>
Cube Scale Z: 1.0 <class 'float'>

まとめ

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

関連検索ワード

How to get scale of object data?

関連キーワード

blender, python, get, scale, object, 取得, スケール, オブジェクト