USD kitchen set asset rendered with Arnold

In this tutorial, we will cover how to open the kitchen_set.USD file from the Pixar USD download page. One of the ways is to use the Arnold procedural (stand-in for MtoA). This is a proxy node that can load Arnold stand-alone, but we can also use directly load a USD file. We will cover how to apply different looks and shaders and how to use operators to change the contents of the USD file.

The kitchen_set.USD file can be downloaded here.

More information about USD can be found here.

Load the USD File

  • Create an Arnold stand-in. We will use this to open the kitchen_set.USD file.

  • Open the kitchen_set.USD file in the path of the procedural/stand-in.

  • Change the Viewport Draw Mode from Bounding Box (default) to Shaded Polywire so that you can see the contents of the kitchen in the viewport. 
  • Rotate it to -90 degrees in X so that it is upright.

  • Create a skydome_light (Arnold→ Lights→ Skydome Light). Increase the samples to 3.
  • Render the scene in the Arnold RenderView window.

If we look at the File Contents of the stand-in we can see the contents of the kitchen_set USD file. You can either select an object in the Arnold RenderView window and see both in the viewport and in the File Contents list what is being selected.


Add Shader Assignment

Let's create some overrides on the contents of the USD file.

  • Add a shader assignment to the Kitchen_Table1->Geom in the File Contents window.

  • Select the shader on the right and choose a standard_surface shader. Change its base_color to a red color. It should look something like the render below.

Geometry Assignment 

As well as shader overrides we can also override all of the Arnold attributes of the meshes such as subdivision. We can see, for example, that the cast iron geometry (/Kitchen_set/Props_grp/North_grp/NorthWall_grp/CastIron_1/Geom/pCylinder151) on the wall has a low number of subdivisions.

CastIron/Geom/pCylinder151 selected in RenderView window

  • With the pCylinder151 geo selected choose Add Assignment→ polymesh→ subdiv_type and subdiv_iterations (set to 2).

You should now notice that the geometry is smooth and not faceted as it was previously without the polymesh overrides.


Hide Geometry using Disable

We can also apply Arnold operators to hide geometry. 

  • Type Fridge in the Filter to show the fridge geometry.
  • Select the Fridge group: /Kitchen_set/Props_grp/North_grp/FridgeArea_grp
  • Choose disable from the Add Operator list. You should notice that the fridge is no longer visible in the render.

The Fridge group has been hidden using the Disable operator

Move objects using Set Transform

We can also move objects using Arnold operators.

  • Select the ChairB_1 group and apply a set_transform operator to it.

  • Select the arrow to the right of the set _transform and change the transforms of the ChairB_1 group in the Attribute Editor.

The chair has been translated using an aiSetTransform operator

Show Graph

  • We can also visualize the operator nodes that we created and can see them attached to the stand-in using the Show Graph button.

Operators -> stand-in


Now we can create several versions or 'Looks' to change the appearance that could be used for look-dev purposes.

  • Create a new look (+ icon) and call it 'Props'.

  • Select the Arch_grp and create a disable operator. You should now just see the props rendered in the Arnold RenderView window.

'Props' look visible with other geo disabled (hidden) with operator. Roll over image to view 'default' look.

Import/Export Operators

Operators can be transferred from one asset, one-shot or even from one application to another. Maybe at the lighting stage when you have some last-minute changes that you want to make you can apply them as overrides in a scene.

  • With the stand-in selected, go to Arnold → Operators → Export  Operator Graph. Ensure that Export Assigned Shaders is enabled so that all of the newly created shaders in the USD are exported.

Now when we import the operator into a fresh USD kitchen scene: Arnold → Operators → Import  Operator Graph you should see the operators in the Node Editor window. You will just need to connect the lookSwitch → operators of the stand-in.

Imported operators connected to stand-in

Hopefully, you can see the power that operators and USD bring when rendering in Arnold. This workflow enables you to achieve the same look going from one application to another whilst retaining the exact same render.

  • No labels