# Generate Viewport Proxies
Using “proxy” assets with reduced complexity may help productions to reduce the amount of on-screen complexity in the viewport.
Multiverse provides a straightforward and automatic workflow to generate and use USD proxies, delivering faster loading, faster viewport drawing and allowing artists to work swiftly in Maya.
# Prepare the Assets
First of all, we need to have two basic USD assets which were previously written out at different level of complexity.
Below are two USD assets of a bed (from the Esper Scene (opens new window)), one with high polygon count (for final render) and one with low polygon count (the proxy).
Note
We can also generate proxies from Maya geometry and not only from Compounds. Read this guide until the end to understand the workflow.
Read both of these assets into a Maya scene via the Read USD Asset shelf button:
Before writing the final bed asset, let’s create the hierarchy containing the two versions of the asset. You can use the USD purpose to choose what data to see in the viewport (proxy or render):
Select the BedHi
node and from the Multiverse shelf click the mvSet icon and
choose "Add Render Purpose mvSet". This will create a special mvSet
node that
declares the purpose of this asset for rendering only.
Next, select BedProxy
node and using the same method "Add Proxy Purpose mvSet"
for the proxy asset. We also see now that another mvSet
node has been created
and that it declares the purpose of this asset for rendering only.
If you inspect mvSet1_RENDER
you should see that each assets have been
assigned their designated purposes.
# Write the Composition
Now, we should be ready to write the final composition with the proxy and render geometry set according to the above. Out input is Compound nodes and group (transform) therefore we are writing a Composition.
Select the Bed and write using "Write USD Composition".
# Read the Composition
Let’s read back the asset. Multiverse allows us to choose, even before reading the asset, whether to display the data as proxy or render. This can be also set after reading the data, see the USD purpose attributes on the Multiverse Compound Attribute Editor.
# Display Proxy Vs Render
Now we should be able to see the bed asset in proxy mode. Which is lighter and faster for the viewport.
The proxy mode is only for viewport, when we render we should see it’s the high quality model of the bed that gets rendered.
TIP
The example above is using mvUsdCompoundShape
nodes as the input, but we could
have also wrote straight from Maya geometry as well, in such case you would have
used the Write Asset instead of the Write Composition, since your input would
have been Maya geometry.
The only thing we do here is to select BedProxy
and BedHi
as designated
mvSet
of Proxy and Render purpose respectively. When we write the USD
composition it will contain the proxy and the render version of the asset.
This concludes the workflow for Proxy with Multiverse.