Page MenuHome

"Restrict Render" doesn't keep objects from being rendered in Cycles Preview (CTRL+Z)
Closed, ArchivedPublic

Description

Clicking the little camera icon (.hide renderin the outliner next to an object does not keep it from being rendered in Cycles Preview (CTRL+Z).
One has to fully hide it from the viewport for it to not be rendered.

Since the in-viewport cycles rendering is explicitly a Preview render, the expected behaviour is that it resembles the final output render as closely as possible (apart from sample settings).

Therefore, hide_render on an object should also work in the Cycles Preview render.

Details

Type
Bug

Event Timeline

This will probably get archived as not-a-bug, but I agree, and I think this functionality should be reconsidered for 2.8.

I understand that it may not be a code bug because it may work 'as intended' but I do think it very well qualifies as a design/UX bug in that its functionality is not consistent with how most users would expect this to work based on the paradigms and terminology laid out by Blender.

Chances are, most users expect hide_render or Restrict from Render to also count for Cycles renders in the viewport.

I know that I, being new to Cycles but very familiar with numerous other production renderers, found this quite confusing as no other renderer I know behaves in this way - i.e. using viewport visibility instead of render visibility for preview renders.

Sergey Sharybin (sergey) closed this task as Archived.
Sergey Sharybin (sergey) claimed this task.

This is exact behavior as it was designed to. Changing this within the current layers/visibility flags is unlikely to happen.

However, this is being reworked for Blender 2.8.

Note that pressing the RenderLayer button in the 3D view header gives results closer to what you get in a final render in the active render layer, including render visibility. In the Blender 2.8 design this can hopefully be solved better though.

Thank you - that has been pointed out to me by now. :)
It basically boils down to the question:

Do users expect/want the Cycles preview to behave more like the viewport or more like the final render (except for sampling)?

My assessment is that the more desired/expected behaviour is for the Preview/Viewport Renderer to resemble the final render as closely as possible, which is also the route every other production renderer I'm familiar with (Arnold, V-Ray, MODO, Redshift) takes.

But even if you assume that Cycles wants to treat Viewport rendering as a distinct functionality of the viewport, and have it follow all 'viewport rules', it seems still inconsistent to me that activating the viewport's Only Render checkbox (in the N menu under Display) will hide hidden from render objects from being drawn in the GL viewport but still render them in the preview/viewport render.

My assessment is that the more desired/expected behaviour is for the Preview/Viewport Renderer to resemble the final render as closely as possible

Well, there are limits to that, of course. For example, I wouldn't want to have my furry character show all of its fur (i.e. render settings). That'll become unnecessarily slow for many tasks. Having separate control over what's shown in the viewport is very useful.

Good point and good example. Deviations of the preview renderer from the final render should be optional and explicit exceptions rather than the default though - in sensible cases like the one you describe.

The "hide from render" case doesn't seem like such a case where the current behaviour is an optimal default.

The rendering landscape is moving to a point where what was previously referred to as 'preview render" (i.e. live viewport rendering) is becoming the final render look dev environment. Visual parity is the expectation - modulated in quality only via how long progressive rendering is being left 'to cook', i.e. sampling.
Some will say we're already there.