В процессе работы над сложной сценой в которой много объектов очень часто теряется синхронизация отображения мешей между предварительным просмотром сцены в окне вьюпорта и финальным рендером. При помощи всего нескольких строк кода можно быстро синхронизировать видимость объектов во вьюпорте и на рендере.
Синхронизировать видимость объектов при помощи 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 |