4
$\begingroup$

So I know the beautiful feature in Blender. I can place an object in the separate layer, exclude all other layers (to remove shadows from other objects for example) and render it. The result will be a render of object like no other objects are on the scene:

enter image description here

But it looks like 20 layers is not enough for my scene. What will I do to solve this problem? Since tweak the layers is too boring may be exists some script to render with this scheme automatically?

$\endgroup$
  • 1
    $\begingroup$ You can use many scenes and add them with composite nodes to the final result. $\endgroup$ – Mr Zak Nov 4 '15 at 15:18
  • $\begingroup$ I don't understand, that's because you have to many objects to render separately ? You're question isn't quite clear, maybe you should precise it a little bit, and explain more in detail your problem. $\endgroup$ – Aleph Nov 4 '15 at 22:13
  • $\begingroup$ Yes, I have more than 20 objects to render separately. I want to render all with the scheme shown above. $\endgroup$ – sevatster Nov 5 '15 at 8:15
  • 1
    $\begingroup$ Your question is still not clear, precise it & be specific, or nobody will be able to answer. $\endgroup$ – Aleph Nov 5 '15 at 9:47
  • $\begingroup$ You could also animate transparency of the material of adjacent object; thus adding keyframes you'll be able to control which object is visible at the same time allowing mask created with its ObjectID to be visible always (and probably to hide something with it). $\endgroup$ – Mr Zak Nov 5 '15 at 21:09
1
$\begingroup$

As far as I understand, you need to, under one scene, render more than 20 object separately, here's one solution :

  1. under the object tab, in the properties panel, assign each of your object a single Pass index, "1" for the first object, "2" for the second, etc...

enter image description here

  1. Once this done, go to Node Editor, select the compositing node tree and choose use node

enter image description here

  1. Under layers tab, activate de the object index pass

enter image description here

  1. connect the IndexOb pass to an Id Mask node. Make sure the pass index in the Id Mask node correspond each time to your pass index's object. Connect the Id Mask node to the fac of a Mix node, & connect the image from the render layer node to the second input image of the mix node, as shown in the image below. Repeat this process for every object you want to render separately (and don't forget to change the ID mas node number to your corresponding object)

enter image description here

  1. You can repeat this process as long as you want, with all you objects, and then assign a different output location to each ones, with the file output node :

enter image description here

EDIT : Actually, this solution isn't perfect, because if other objects are in front of the rendered object, the overlapping part will mask the second... Another solution, a lot simpler, is simply to uncheck the render button in the Outliner panel, but you'll need to check and uncheck for the corresponding object every time you want to render a single object, and change the folder each time too.

enter image description here

$\endgroup$
  • $\begingroup$ Looks like you're right! It's easier than layer tweaking. Thanks! $\endgroup$ – sevatster Nov 5 '15 at 14:21
  • $\begingroup$ Oh sorry, no! You're not right exactly because the influency is still present, please check: yadi.sk/i/s1JFyaOakFZLX $\endgroup$ – sevatster Nov 5 '15 at 14:26
  • $\begingroup$ MMm you're right ! I've added an edit to my answer, for an alternate possibility, but still not perfect. I'm trying to find another solution ;) Meanwhile, could you be more precise in your question, it could give some clue to find the right solution, what kind of scene to you want to render ? What are the kind of objects in it ? What's the final point ? Etc... The more you'll be specific, the more it will be easy to find an answer. $\endgroup$ – Aleph Nov 5 '15 at 17:03
  • $\begingroup$ Looks like this options is what I need. It's strange. I tested this option earlier but don't remember why did not like it. But I think you're right now! Thanks! $\endgroup$ – sevatster Nov 6 '15 at 7:27
  • $\begingroup$ Additionally, I'm about to write the script that will use this core option to check and uncheck object rendering and make renders named as objects on the scene. $\endgroup$ – sevatster Nov 6 '15 at 7:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.