【Blender×Python】オブジェクトデータを全て取得する方法について徹底解説

Blender

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

# objectsプロパティによるオブジェクトデータの一括取得
bpy.data.objects

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

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にオブジェクトデータを全て取得するの?

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

objectsプロパティによるシーンデータの一括取得

bpy.data.objectsプロパティの基本構文

bpy.data.objects
→ BlendDataObjects: bpy_prop_collection

bpy.data.objectsプロパティの使い方

import bpy

DataObjects = bpy.data.objects
print(f"Data Objects:\n{DataObjects} {type(DataObjects)}")
for key, value in DataObjects.items():
    print(f"[{key}] Name: {value.name}, Type: {value.type}")

DataObjectList = [DataObject for DataObject in DataObjects]
print(f"Data Object List:\n{DataObjectList}")
Data Objects:
<bpy_collection[3], BlendDataObjects> <class 'bpy_prop_collection'>
[Camera] Name: Camera, Type: CAMERA
[Cube] Name: Cube, Type: MESH
[Point] Name: Point, Type: LIGHT
Data Object List:
[bpy.data.objects['Camera'], bpy.data.objects['Cube'], bpy.data.objects['Point']]

まとめ

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

関連検索ワード

How to get all object data?

関連キーワード

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