【Blender×Python】コレクションデータを名称で取得する方法について徹底解説

Blender

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

# collectionsプロパティによる名称を用いたコレクションデータの取得
bpy.data.collections[COLLECTION_NAME]

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

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にコレクションデータを名称で取得するの?

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

collectionsプロパティによる名称を用いたコレクションデータの取得

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

bpy.data.collections[COLLECTION_NAME: str]
→ Collection: bpy_types.Collection

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

# Scene Structure:
# Collection("Collection")
# -> Collection("Sample")
#    -> Object("Sphere")
# -> Object("Cube")
# -> Object("Point")

import bpy

SampleCollection = bpy.data.collections["Collection"]
print(f"Collection:\n{SampleCollection} {type(SampleCollection)}")

print(SampleCollection.name)
print(SampleCollection.name_full)

print(SampleCollection.all_objects)
for key, value in SampleCollection.all_objects.items():
    print(f"[{key}] {value}")

print(SampleCollection.objects)
for key, value in SampleCollection.objects.items():
    print(f"[{key}] {value}")

print(SampleCollection.children)
for key, value in SampleCollection.children.items():
    print(f"[{key}] {value}")
Collection:
<bpy_struct, Collection("Collection") at 0x000001A037E32508> <class 'bpy_types.Collection'>
Collection
Collection
<bpy_collection[3], Collection.all_objects>
[Point] <bpy_struct, Object("Point") at 0x000001A037DDEB08>
[Cube] <bpy_struct, Object("Cube") at 0x000001A037DDF908>
[Sphere] <bpy_struct, Object("Sphere") at 0x000001A04D194108>
<bpy_collection[2], CollectionObjects>
[Point] <bpy_struct, Object("Point") at 0x000001A037DDEB08>
[Cube] <bpy_struct, Object("Cube") at 0x000001A037DDF908>
<bpy_collection[1], CollectionChildren>
[Sample] <bpy_struct, Collection("Sample") at 0x000001A04D163B88>

まとめ

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

関連検索ワード

How to get a collection data by name?

関連キーワード

blender, python, get, collection, name, 取得, コレクション, 名称, 名前