BlenderのCollectionクラスを使用して、オブジェクトをグループ化し、その可視性を切り替えるために、Pythonスクリプトでコーディングすることができます。例えば、以下のようなスクリプトがあります。
import bpy
# 新しいコレクションを作成する。
my_collection = bpy.data.collections.new("My Collection")
# コレクションにオブジェクトを追加する。
my_collection.objects.link(bpy.data.objects["Cube"])
my_collection.objects.link(bpy.data.objects["Sphere"])
# コレクション内のすべてのオブジェクトの可視性をFalseに設定する。
for obj in my_collection.objects:
obj.hide_viewport = True
# コレクション内のすべてのオブジェクトの可視性をTrueに設定する。
for obj in my_collection.objects:
obj.hide_viewport = False
このスクリプトでは、最初にbpy.data.collections.new()関数を使用して、「My Collection」という名前の新しいコレクションを作成します。次に、my_collection.objects.link()関数を使用して、
import bpy
# タグ名
tag_name = "2022_zionad"
# コレクションを取得する
collection = bpy.data.collections.get(tag_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(2022_zionad)
bpy.context.scene.collection.children.link(collection)
# コレクションにいくつかのオブジェクトを追加する
object_names = [""Cone50 line ittei sokudo to center", "Suzanne"]
for name in object_names:
obj = bpy.data.objects.get(name)
if obj:
new_collection.objects.link(obj)
# コレクションの表示を設定する
new_collection.hide_render = True
new_collection.hide_viewport = False
このスクリプトは、「My Collection」という新しいコレクションを作成し、2つのオブジェクト(立方体とSuzanne)を追加します。object_namesリスト内のオブジェクト名を、グループ化するオブジェクトに合わせて変更できます。最後に、スクリプトはコレクションの表示をレンダリング時には非表示、ビューポートでは表示するように設定します。必要に応じて、hide_renderとhide_viewportプロパティを必要に応じてTrueまたはFalseに変更してこれらの設定を変更できます。
import bpy
# 新しいコレクションを作成する
new_collection = bpy.data.collections.new("zionad Collection")
# コレクションにいくつかのオブジェクトを追加する
object_names = ["ugoku_123w", "Suzanne"]
for name in object_names:
obj = bpy.data.objects.get(name)
if obj:
new_collection.objects.link(obj)
# コレクションの表示を設定する
new_collection.hide_render = True
new_collection.hide_viewport = False
https://cgbox.jp/2020/12/06/blender-collection/
https://bookyakuno.com/layer-management/
bbb
Blender Collectionの移動方法には、以下のような方法があります。
• オブジェクトを選択した状態でキーボードのMを押すことで、オブジェクトを別コレクションに移動する[1][2]。
• Outlinerでオブジェクトをコレクションにドラッグすることでも移動することができる[1]。
• Shift+G押してCollectionを選択すると一緒にCollectionに入っているものを移動できる[3]。
• 選択したオブジェクトを既存または新しいコレクションに移動するために、Mキーを使用する[4]。
import bpy
# タグ名
tag_name = "ugoku amee -30green"
# コレクションを取得する
collection = bpy.data.collections.get(tag_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(tag_name)
bpy.context.scene.collection.children.link(collection)
# 新しいコレクションの名前
new_collection_name = "A01234"
# 新しいコレクションを作成する
new_collection = bpy.data.collections.new(new_collection_name)
# シーンに新しいコレクションを追加する
bpy.context.scene.collection.children.link(new_collection)
# タグ名に一致するオブジェクトを取得する
objects = [obj for obj in bpy.context.scene.objects if tag_name in obj.name]
# 新しいコレクションにオブジェクトを追加する
for obj in objects:
new_collection.objects.link(obj)
# タグ名に一致するコレクションを削除する
bpy.data.collections.remove(collection)
これのオブジェクトすべてを collection ”A01234"に移動して
bbb