October 28, 2018
This tutorial shows how to set up a Substance to RenderMan workflow using the plugin, RenderMan for Substance Painter 2.x. Please note this plugin is under development and has some limitations, but it still quite useful. (Check for the latest updates on the official GitHub page.)
The RenderMan for Substance Painter Plugin uses the RenderManAsset format introduced in RenderMan For Maya version 21, which allows for easy material setup interchange and includes dependencies like textures or OSL shaders.
At the end of this lesson you should be able to create materials in Allegorithmic's Substance Painter and import them into the RenderMan Preset Browser with a push of a button.
Ok. With that said, let's get started.
This plugin will NOT work without the following software:
You will need to have Substance Painter installed on your machine. If you do, great.
If you don't have Substance Painter installed you can download a 30 Day Trial at Allegorithmic. Note Substance Designer is not compatible with the plugin, so you must have Substance Painter installed.
You will need to have RenderMan installed on your machine. If you don't have RenderMan installed you can download Non-Commercial RenderMan now and try the full-featured version for free.
To use the RenderMan Preset Browser, you'll want to have Maya installed. Only Maya supports the Preset Browser at this time. You can get Maya from Autodesk here: www.autodesk.com Please note that RenderMan support for Maya 2018 is expected to be released late November 2017.
Finally, you will want to install the RenderMan plugin for Substance Painter. You can find the plugin on Github: RenderMan for Substance Painter 2.x. This plugin was written by Pixar's Philippe LePrince, and while the plugin has some limitations, it is still quite useful. However, the plugin is under development, with more features to come.
Installing the Plugin --- Please note this plugin has only been tested on OSX
The plugin requires Python to run correctly. Please note that Python 2.7+ is required, but Python 3.x will NOT work.
With the above software installed, you're ready to configure your Substance to RenderMan workflow. Just follow the steps below to set up RenderMan for Substance Painter.
Once you have everything properly configured, you'll be able to build materials in Substance Painter and automatically export them directly to the RenderMan Preset Browser in Maya.
The plugin, RenderMan for Substance Painter, will write materials to your RenderMan Asset Library so they automatically update in your RenderMan Preset Browser. You must configure this location manually for this to work. The location should be readable and writable. (The Preset Browser will not allow you to create new assets if it points to a non-writable location.) In a new location, another bonus is that the library won't be overwritten when you reinstall the software ... and overwrite all your fancy Substance Materials.
You'll want to configure Substance to find your installation of RenderMan so the Materials can be compiled properly. You can do this in the same panel that we used to set the location of the Asset Library
Congratulations, if everything went as planned you now are ready to export your Substance Materials to RenderMan. If you'd like to watch a demo that walks you through the steps above, here it is ...
To export a Substance Material, in your project simply click one of the Pixar Buttons in the shelf. Pressing "D" creates a pxrDisney material in you RenderMan Preset Browser and Pressing "S" creates a pxrSurface material.
The exported material(s) will appear in your RenderMan Preset Browser and will be named after the Substance Shader in your project'sTextureSet List, for example "sp_SHADERNAME".
Using this option, the Substance material will be exported as a pxrDisney material in the RenderMan Preset Browser.
The first implementation of PxrSurface support does a reasonably good job, but keep in mind this material is more experimental, and may not capture the Substance Material as accurately as the pxrDisney export. benefits of pxrSurface include support transparency, subsurface scattering, and many other features which can make it a superior choice over pxrDisney. Please note the following caveats.
For the most up to date release notes, check out the RfSP GitHub.