4
$\begingroup$

How to turn on the render visibility for all objects? with 1 click

Creating 4-floor building, created 4 collection for 4 floor, In each collection 1 floor, each collection have walls and windows, to some, i have given names but for many i have not.

For render i have just disabled the object in render view and render, Now i want to enable it manually i have go through all the floors and enable it.

Like to H to Hide and Alt+H to Unhide objects are visible and invisible. Is there anyway to enable all the objects 1 click?

enter image description here

$\endgroup$
1
  • $\begingroup$ If they are visible in viewport you can select them all and Alt+left click on the render icon but you can use Python terminal to do it, this question and answer is similar for your need blender.stackexchange.com/questions/231753/… $\endgroup$
    – MikoCG
    Commented Jun 26, 2023 at 7:16

3 Answers 3

2
$\begingroup$

you can try running this script:

import bpy

for c in bpy.data.collections:
    c.hide_render = False
    
for o in bpy.data.objects:
    o.hide_render = False

it turns on render visibility for all collections and objects.

if you only want to do that for objects, just delete these 2 lines:

for c in bpy.data.collections:
        c.hide_render = False
$\endgroup$
2
  • 1
    $\begingroup$ Thanks, that's what I was looking for, can we make it as an addon and use it? $\endgroup$
    – atek
    Commented Jun 26, 2023 at 8:27
  • $\begingroup$ i could...but i don't think it would be worth the effort, because i think nobody would pay for it... $\endgroup$
    – Chris
    Commented Jun 26, 2023 at 8:30
4
$\begingroup$

Select all objects that you want to make visible in render, then in the Outliner window left-click on the camera symbol of one of these objects (no matter which) while holding the Alt key.

This also works if you have the objects selected and go to the Object Properties > Visibility and then Alt + left-click on Show In > Renders.

By the way, holding the Alt key while clicking an option or clicking on a field to enter a value (or entering a field value and confirming it with Alt+Return) is available in many areas to change the values of multiple selected objects.

//EDIT: Well, of course they have to be visible in the viewport as MikoCG correctly says in the comments, but since you know how to make them all visible in viewport I did not mention that.

alt + lmb

$\endgroup$
4
  • $\begingroup$ alt+lmb does not work in 3.5 v $\endgroup$
    – atek
    Commented Jun 26, 2023 at 7:23
  • $\begingroup$ In my 3.5 it did, now I'm on 3.5.1 and it does, too. The objects have to be selectable in viewport, i.e. be visible there as well. And of course be selected. $\endgroup$ Commented Jun 26, 2023 at 7:24
  • $\begingroup$ (The objects have to be selectable in viewport) but i don't know which object is hidden in render. There are many objects $\endgroup$
    – atek
    Commented Jun 26, 2023 at 7:27
  • $\begingroup$ @atek Your question says you want "all objects" to be visible in render. So it doesn't matter if you know which ones. Just select them all, then click on any disabled camera icon with Alt. This is not toggling the setting so that accidentally you disable objects that were enabled before. Holding the Alt key makes all selected objects like the one you're clicking on. By the time we are typing all this you could have easily tested this in a simple example file ;) $\endgroup$ Commented Jun 26, 2023 at 7:48
2
$\begingroup$

Quite a few approaches.. maybe this one will fit..

In Object Mode, with ShiftM, you can link objects to a collection. This allows objects to be represented in multiple, possibly intersecting, collections.

If you Shift-click the 'Disable in Renders' icon next to a collection, the effect will reach into all the other collections in which its objects are represented.

enter image description here

Above,the cubes are in a 'Cubes' collection, All blue objects are in a 'Blue' collection, and so forth. By Shift-clicking 'Disable in Render' next to any set, that set will be hidden at render-time.

.. just to play with, if you like.

If you wanted disable all objects from rendering, then you can create a collection: 'All', to which all objects are linked.

If you want to use the View Layer mechanism, all collections representing the objects must be excluded from the layer for the objects to be excluded.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .