modified {{article.lastModStr}}
{{videoUrlObj.title || videoUrlObj.oEmbed.title}}
{{videoUrlObj.description || videoUrlObj.oEmbed.description}}
{{ article.videoUrls | totalDuration }}

Toy Prototype - ZBrush to RenderMan

Created by Dylan Sisson and originally published in 3D Artist Magazine

Developing a Vinyl Toy Prototype

In this tutorial I'll demonstrate how to quickly create a photorealistic prototype for a vinyl toy using ZBrush, Maya, and RenderMan … focusing primarily on lighting, shading, and vector displacements. This is a fast and efficient method for finalizing a sculpt, choosing paint styles and colorways, and then visually communicating these details to the manufacturer with a realistic visual mockup.

This overview shows the basic workflow involved.

Step 1: Sculpt

This vinyl toy, Idle Hands, was inspired by a napkin drawing which I used as reference to sculpt and paint the model in ZBrush. After the sculpt was completed, I prepared the model for RenderMan by creating good UV coordinates for the model. Using ZBrush's UV Master, it was easy to unwrap the model to ensure that everything would map properly and that the seams were not visible from the front of the model.

ZBrush was used for both sculpting and painting.

Step 2: Export

The next step was to bring the model into Maya from ZBrush. The Multi Map Exporter tool makes it simple to export everything required for this prototype: an OBJ model, an ambient occlusion map, a cavity map, a color map, and last but not least a 32bit vector displacement map. It's important to use the correct settings when exporting a vector displacement for RenderMan … then everything just works … make sure to export a 32bit openexr and enable smooth UVs, normals, and tangent coordinates. ZBrush will create all these assets at once. Great.

Exported lightweight OBJ on the left and the vector displacement and maps on the right.

Step 3: Displacement

Now it is just a matter of opening Maya, importing the OBJ and verifying that the vector displacement is working properly. Because vector displacements are able to capture folds and subtle nuances a normal displacement cannot, all of the detail from the original sculpt in ZBrush can be captured using only a lightweight OBJ, making the scene easier to work with and faster to render. To set up the displacement I attached a Disney Principled material to the model and added a specialized RenderMan Displacement. After connecting my 32bit vector displacement map and setting the mode to “ZBrush Vector(Tan)" … it works as shown.

Before and after vector displacement.

Step 4: Lighting

To speed up the lighting process, I created a library of light rigs (which are available, btw, on the RenderMan Community site), and for this toy prototype the “light tent" rig is perfect. With the light tent imported into the scene, I fire up an interactive rendering session in RenderMan and open the RenderMan Light Panel, which is a master control panel for all the lights in the scene, allowing lights to be conveniently adjusted and even put in “solo mode," to isolate any light's exact contribution. In fact, it took longer to write this step than it did to light this scene. That's true.

Just three lights are used in this scene, and the bottom right image shows all lighting combined.

Step 5: Shading

Now it's time for the fun part … creating the final “look" for the toy. Using RenderMan's physically based shading, many details can be sorted out beyond simply choosing colors. Qualities such as shine, wear, and bump can all be dialed in with photorealistic accuracy (especially with physical references), and interactive rendering makes this process quick. For this prototype, I created a LM Plastic material, adding several layers on top of the base and using the maps exported from ZBrush to mask them. The LM Plastic material is able to simulate special qualities like varnish so the complex surface for the prototype could be created using a single layered material in the Maya Hypershade.

This is the relatively straightforward Maya Material network.

Step 6: Closing

After some shader tweaking, the prototype is finished. The combination of ZBrush and RenderMan is straightforward. With RenderMan's excellent support of 32bit vector displacements, anything modeled in ZBrush can be rendered using RenderMan. After exporting the assets from ZBrush, creating the prototype was quick, under two hours, and the end result is photorealistic.

Model with final lighting and textures.

Step 7: Production

With the prototype finished, it was simply a matter of working with the toy manufacturer, which actually ... is not really simple at all. Having a solid set of prototypes makes this process much easier.

The final manufactured toys on display with their packaging.

About the Author

Dylan Sisson combines fifteen years of experience in 3D animation and VFX with a traditional background of painting and illustration. He's created paintings and illustrations that have been shown in galleries around the world. Dylan currently resides in San Francisco.

Further Reading

For a step by step breakdown of the ZBrush to RenderMan workflow, please refer to this excellent tutorial created by David Macius. ZBrush to Maya RIS Vector Displacement

Project Assets
  • {{tag.name}}

Log in to post a comment

{{ commentBody.length || "0"}} / 10 characters

No Comments, Yet