В процессе работы над сложной сценой в которой много объектов очень часто теряется синхронизация отображения мешей между предварительным просмотром сцены в окне вьюпорта и финальным рендером. При помощи всего нескольких строк кода можно быстро синхронизировать видимость объектов во вьюпорте и на рендере.
Синхронизировать видимость объектов при помощи Blender Python API можно управляя их свойствами видимости.
Для того чтобы:
На рендере были видны все объекты, которые видны в сцене — синхронизируем «рендер» с «глазом»:
1 2 |
for obj in bpy.data.objects: obj.hide_render = not obj.visible_get() |
В сцене были видны только те объекты, которые будут видны на рендере — синхронизируем «глаз» с «рендером»:
1 2 |
for obj in bpy.data.objects: obj.hide_set(obj.hide_render) |
На рендере были видны все объекты, которые видны во вьюпорте — синхронизируем «рендер» с «монитором»:
1 2 |
for obj in bpy.data.objects: obj.hide_render = obj.hide_viewport |
Для вьюпорта были видны только те объекты, которые будут видны на рендере — синхронизируем «монитор» с «рендером»:
1 2 |
for obj in bpy.data.objects: obj.hide_viewport = obj.hide_render |