【Blender×Python】アクティブなコレクションデータを変更する方法について徹底解説

Blender

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

# active_layer_collectionプロパティによるアクティブなコレクションデータの変更
bpy.context.view_layer.active_layer_collection = bpy.context.view_layer.layer_collection.children[InputCollection.name]

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

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にアクティブなコレクションデータを変更するの?

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

active_layer_collectionプロパティによるアクティブなコレクションデータの変更

bpy.context.view_layer.active_layer_collectionプロパティの基本構文

bpy.context.view_layer.active_layer_collection = bpy.context.view_layer.layer_collection.children[InputCollection.name]

bpy.context.view_layer.active_layer_collectionプロパティの使い方

import bpy

CameraCollection = bpy.data.collections["Camera"]

ActiveCollection = bpy.context.view_layer.active_layer_collection.collection
print(f"Active Collection:\n{ActiveCollection} {type(ActiveCollection)}")

bpy.context.view_layer.active_layer_collection = bpy.context.view_layer.layer_collection.children[CameraCollection.name]
bpy.context.view_layer.update()

ActiveCollection = bpy.context.view_layer.active_layer_collection.collection
print(f"Active Collection:\n{ActiveCollection} {type(ActiveCollection)}")
Active Collection:
<bpy_struct, Collection("Collection") at 0x0000013226472508> <class 'bpy_types.Collection'>
Active Collection:
<bpy_struct, Collection("Camera") at 0x0000013226472B08> <class 'bpy_types.Collection'>

まとめ

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

関連検索ワード

How to set an active collection data?

関連キーワード

blender, python, set, active, collection, 変更, アクティブ, コレクション