Batch rendering 3D in Photoshop CS5

Most of my recent freelance work centers on 3D content within Photoshop. More and more, I’m getting requests to build catalogs of images using a 3D model with many different images. Doing this one at a time is very tedious since the process usually involves a minute or two of placing the artwork, and then up to an hour of rendering. Wash, rinse, repeat. After talking with some fantastic Adobe engineers, I have a solution to present: a script that will take your 3D files and artwork, and batch render them!

This script was entirely written by Domnita Petri, and is surprisingly simple. The file structure may seem a little rigid, but it’s really quite flexible and useful when you understand it. The 3D file needs to have a Diffuse Texture with a Smart Object in it. That Smart Object holds a single piece of art. When the script runs, it opens the Smart Object and cycles through all the art in the folder you specify, rendering each in turn. The script then goes to the next 3D file in your source folder, if you have more than one, and repeats the same process.

The reason we chose to use a Smart Object (SO) was to account for variations in artwork. The SO can be customized to fit the UV map of your object. Right now, the file must have a single Diffuse Texture with a single SO.

To set up your file, create your 3D scene in such a way that the diffuse texture you want to replace is at the top of the layer stack. The script looks for the first diffuse texture it finds, and Photoshop does not let you swap order. Open the diffuse texture and place a Smart Object at the top of the layer stack. This SO will hold the artwork you want to replace.

Save your PSD file with the 3D scene set up the way you want into a folder by itself. Create another folder that has only the artwork you wish to use, and a 3rd folder for the output. Launch PS Extended and run the script. It will ask you for all the file locations. The script will step through the application and rendering of each piece of artwork in the source folder. If you have more than one PSD file with a 3D object, it will then do the same thing with that file. This is great when you want to show multiple views of the same object.

Please remember this is considered ‘beta’ software in that it is not officially supported. You may use it as a basis for your own scripting, but please do not redistribute it – link here if you want to share. I hope soon to get it on Adobe Labs.