Быстро активировать в Blender все коллекции на текущем слое видимости – включить для всех “галочку”, “глаз” и “монитор”, можно при помощи несложного скрипта.
За включение – выключение коллекции для всей сцены (значок с монитором) отвечает параметр hide_viewport для объектов коллекции сцены.
Для глобального включения этого параметра, пройдем в цикле по всем коллекциям сцены и поставим для него значение False.
1 2 |
for collection in bpy.data.collections: collection.hide_viewport = False |
За включение – выключение коллекций для отображения во вьюпорте (значок с глазом) и общей видимости коллекций (галочка – чекбокс) отвечают параметры hide_viewport и exclude для объектов коллекции слоя видимости (view_layer).
Чтобы глобально включить эти параметры нужно пройти циклом по всем коллекциям слоя видимости и присвоить им значение False.
1 2 3 |
for collection in bpy.context.view_layer.layer_collection.children: collection.hide_viewport = False collection.exclude = False |
Полный код скрипта, который включить все три параметра для всех коллекций:
1 2 3 4 5 6 7 8 |
import bpy for collection in bpy.context.view_layer.layer_collection.children: collection.hide_viewport = False collection.exclude = False for collection in bpy.data.collections: collection.hide_viewport = False |
Чтобы полностью выключить все коллекции, нужно вызвать этот скрипт, заменив везде False на True.
а можно скрипт выкл коллекцию на выбранном объекте в коллекции?
В принципе это не сложно, весь вопрос в том как высоко подниматься, коллекции же бывают многоуровневые.