Caffeine Abuse - The Blog

Render Models in Separate Passes

Keeping all the objects within the same scene ensures that any changes made to the lightning, camera position, shared materials, etc always will be up to date for all objects, and perhaps more importantly, at all times. However, once your scene reaches a certain number of objects it will most certainly become clear that the tedious task of rendering each as a separate image by hand just won’t be a viable solution. At this stage you’ll be left with two natural choices; either get an intern to do the job for you or if that’s not an option (or if you happen to be that intern) it’s about time you start looking at Script Editor – in two senses that is.

While scripting may sound like a daunting task for the uninitiated, the script in this scenario only requires a few lines of code and you should be able to pull it of within a couple of minute or so. In addition, you can set XSI to log all your commands (the Log Commands checkbox under Scripting in Preferences) which actually will get XSI to automatically write more or less all of it for you. All you have to do now is to manually carry out the steps discussed below and the correct code and syntax will be logged in the Script Editor, ready to be copied and/or altered to suit your specific needs.

The basic idea is to create a separate pass for each model you select. Each of these passes will then hold two partition (please see the manual for further information about Passes and Partitions).One partition will be set to hide all its member and contain all the objects that are to be hidden whereas the other partition will be visible and contain only the object that are to be visible in the rendered image. To have any chance of actually finding anything in the scene or the rendered files as they’re saved to the disk a variable is added to the script, which picks the name of the current object and use this as the of the name for the pass and the rendered file. The finished script with quotation can be found on CD.

obj2pass02
Note that any code written in the Script Editor must be saved separately since it will be lost the second XSI is closed even if you saved the actual scene.

obj2pass01

Quick tip
Once your passes are created you can change the rendering settings for all of them in one go. In the explorer, set the scope to Passes (shortcut [P]), select the passes you want to modify and press enter.