Universal Scene Description is a framework to manage data in CG productions. It was originally developed by Pixar and is used in many big animation and visual effects studios. It allows to manage huge amount of data very efficiently. USD can store geometry, materials, cameras, lights and more in an universal format, which can be exchanged between many modern DCCs. This makes USD a great addition to Prism.
To use Universal Scene Description in Prism you need to install and load the Prism USD plugin. You can install the plugin during the Prism installation setup or at any point later on from the Prism Hub. You can open the Prism Hub from the first page in the Prism Settings dialog.
For a detailed explanation of the USD workflow have a look at this presentation:
USD in Houdini#
Prism can be used in multiple places in Houdini to manage USD data.
In SOPs the “Prism ImportFile” node can be used to import USD files.
In LOPs these nodes are available: “Prism LOP Import”, “Prism LOP File Cache”, “Prism LOP Render”, “Prism LOP Mute Departments” and “Prism LOP Sequencer”.
From the “Prism Presets” menu in the tab menu there are multiple nodegraph presets available to set up a basic structure for the USD workflow in LOPs and SOPs.
USD in Maya#
In order to use the Prism USD plugin in Maya you need to have either the Autodesk USD plugin or the Multiverse plugin installed and loaded in Maya.
Autodesk USD plugin#
From Maya 2022 onwards the Autodesk USD plugin is getting installed automatically with Maya and don’t need to be installed manually.
In case you want to update the Maya USD plugin before the next Maya version gets released, you can find the Maya USD plugin installer here:
Multiverse USD plugin#
USD and ZBrush#
ZBrush itself supports exporting and importing geometry in the .usd format. However this functionality is not yet available through scripting, which is why Prism cannot export the geometry directly into the .usd format.
USD and other DCCs#
Referencing external alembic files into USD files#
It is also possible to create sublayers for department layers from the context menu of the “Products” list to have more control over the composition of the USD container.
AMD Readon Pro Render (RPR)#
To use the Autodesk Arnold Hydra delegate in Prism you need to download the “Arnold SDK”, which you can download for free here. In the “USD” tab of the Prism User Settings the path to the Arnold SDK must be specified. You can use Arnold and it’s Hydra delegate for free, but if no Arnold license was found a watermark will be displayed over your images.
C:/Program Files/Side Effects Software/Houdini 19.5.640
Creating Custom Solaris Presets#
Create new shelf tool
import PrismInit PrismInit.pcore.getPlugin("USD").api.houdini_createNewPresetDlg()
The node defines the Houdini nodepath, which will be saved in the preset. All childnodes of the selected node will be saved.
Prism will load presets from these 3 locations automatically. If you move a preset file to a different location you need to manage the registration of the preset yourself.
Running Custom Python Code when a preset is loaded#
class Prism_MyPlugin_Functions(object): def __init__(self, core, plugin): self.core = core self.plugin = plugin self.core.registerCallback("pluginLoaded", self.onPluginLoaded, plugin=self.plugin) def onPluginLoaded(self, plugin): if plugin.pluginName == "USD": plugin.api.postPresetLoadHandlers["My Custom Preset"] = self.onPresetLoaded def onPresetLoaded(self, presetName=None, kwargs=None): self.core.popup("Preset %s" presetName)
QuiltiX is an open source MaterialX editor, which can be used to create and edit materials for USD assets. A free download is available here: here.
Prism and QuiltiX can be used together for powerful material authoring workflows.
To integrate Prism and QuiltiX the QuiltiX root folder must be set in the Prism User Settings -> USD tab.
The Prism-QuiltiX integration can be found in a few places:
If you have the “Texture Library” plugin installed you can rightclick any .mtlx files in the libraries and select “Open in QuiltiX…” from the context menu. This is especially useful when you have the “GPU Open” material library enabled in your project settings, which allows you to download free MaterialX files.
In the Prism Usd Editor you can rightclick any MaterialX layers in your Usd layerstack and select “Edit in QuiltiX…” to open the MaterialX file in QuiltiX and also load the Usd stage including geometry into the QuiltiX viewport.
If you opened QuiltiX from within Prism using the options mentioned above, there are a few additional features available in QuiltiX:
The scenegraph and the viewport widget are replaced with the Prism scenegraph/viewport widgets. This allows you to modify the scenegraph hirarchy and use additional controls in the viewport. The viewport toolbar can be opened using the shortcut “x”.
A new Prism menu in the QuiltiX menu bar allows you to save you material as a new version. This requires that the .mtlx file is saved as a product in your Prism project. You can rightclick a .mtlx file layer in the Prism Usd Editor and select “Copy material to entity context” to save a material from a custom location as a product in Prism.
In the “View” menu you can find a new “Libraries” option, which integrates the Prism libraries into QuiltiX. From here you can drag&drop HDRIs, textures and materials from your library into QuiltiX. You can also save your material into a library by rightclicking in an empty area of any of your libraries and select “Save current nodegraph…”.