Is there a "Render Selected" feature?

(D3Pixel) #1


Say you have rendered 1000 frames of animation and the client then asks you to change one part of it, e.g. a lever that should be 90 degrees up rather than 90 degrees down. This animation also rotates the camera and the objects all over the screen as it plays so Blenders Border render would not work as the animation would move outside the initial border.

In 3DSMax I can do a “Render Selected” which is like Blenders Border render only the 3DSMax one updates that border per frame.

How is this done in Blender? Would one use Render layers and mask layers or is there a way to render selected without moving objects between layers?

Is this possible as a script that can run per frame for animation?


  1. Get screen space bounding box of selected objects through the camera.
  2. Set render bounds to that box dimension.
  3. Render frame, increment timeline by one frame.
  4. Goto 1


(Jason van Gumster) #2

Moved from “General Forums > Blender and CG Discussions” to “Support > Compositing and Post Processing”

There are two ways you can achieve what you’re looking for. You can either put your object on its own render layer or you can give the object a unique pass index and enable the Object Index pass for the Render Layer that it’s already on (then use that pass to mask out everything except for the object you’re interested in). Both are viable options, it just depends a bit on what your workflow looks like after rendering.

(D3Pixel) #3

The Object Index sounds just what I want. Will try that out now, thanks for replying.

(JA12) #4

(D3Pixel) #5

Thats looks like exactly what I need. Hope it retains the full dimensions so I can just comp it over the original without having to reposition every frame. And the fact it skips transparent areas will drop render time too, this was a 50+ hour render job so fingers crossed!

(D3Pixel) #6

Actually is the Object Index only useful prior to rendering if you expect to change it later in comp?

This scene has hundreds of objects that have already been rendered over 56 hours. A “Render selected” would update this tiny area in a few hours as it is something approximating a 50 x 80 pixel area from a 1080p image, I want to reduce render times so only render that area out again (and track it as it animates) and overlay it in post.

So the other method, i have to put the objects that need a change on their own render layer and make sure that the lighting rig is also on it’s own render layer to combine that but then how does it capture the reflections from other layers that are now disabled?

I have that addon that JA12 posted to try too, that looks like it might do it.

Thanks for the help all.

(Jason van Gumster) #7

If you’re re-rendering (which you’d need to do to Render Selected), then Object Index still works to isolate parts of the scene. The downside is that it still has to render the whole frame.

Using the Render Layer method would be faster since you’re only including the geometry that you actually want to be rendered. But you’re correct in thinking that this approach won’t capture the reflections you need because they won’t be there. It also means that if you’re using GI, any bounced light might be inaccurate.

To accommodate that… then yes… the animated render boarder might be the only viable option available to you.

(D3Pixel) #8

Thanks for the updated answer. I will try that animated border render plugin out and see how it goes. I have watched the video demos and it looks like that is one solution for now. If it was just colour correction of a part then things would be a lot simpler.


(kesonmis) #9

If you need object id pass only, you can render with very low sample count. Someone can maybe chime in if id is also based on sampling or is it deduced from geometry coverage only. If latter is the case, only one sample will be enough.

Personally I would use the separate render layer and adaptive border technique.