Old Attic Interior USD Scene


This tutorial demonstrates how to open a USD scene from NVIDIA, modify its contents, and render it with Arnold. USD files can easily be opened and rendered with Arnold using a stand-in (procedural). We will use operators in the stand-in to adjust the USD lighting (from NVIDIA Omniverse). We will also modify the mirror object and couch material using operators. Finally, we will disable the Omniverse lighting and replace it with Arnold lights.


Download the Attic_NVIDIA.zip file here (login required).


  • Unzip the file Attic_NVIDIA.zip into a folder structure like the following so that the .usd file loads properly ../atticwork/attic_v5/

  • Create a stand-in (procedural). Select the folder next to Path and choose the Attic_NVIDIA.usd file. 
  • You will notice that the orientation of the attic geometry is Z-up rather than Y-up. This is because the original scene file originates from Omniverse which is Z-up. Rotate the stand-in -90 degrees in X.


  • Create a camera (rename it RenderCam) and position it so that it looks like the image below.

RenderCam view. Stand-in Viewport Draw Mode set to Polywire.


  • If we examine the File Contents of the stand-in we can see grouped under the Root are the Looks, Lights, and Geometry.
  • Open the Lights group. You should notice that there are some lights from Omniverse. These lights are converted internally as the following:

DomeLight = skydome_light, Sunlight = directional_light, BallLight = point_light.

Diagnostics/Feature Overrides

To facilitate faster test rendering of the scene lighting, use the Feature Overrides (Diagnostics tab of the Arnold render settings).

  • Enable ignore_textures and ignore_shaders under Feature Overrides.
  • Render the scene. You should see that it is noticeably faster to IPR render the scene and tweak the lighting


  • Render the scene. You should see that the Omniverse lighting is too bright. We can quite easily adjust them using operators.


Default Omniverse lighting appears too bright (ignore_textures/shaders enabled).


We can use operators to adjust the lighting and orientation of the Omniverse lights within the USD file.

Adjust Lighting using Add Assignment

  • We can adjust the Domelight in the USD by adding an intensity assignment to it (set_parameter operator).
  • Select the Domelight in the File Contents of the stand-in.
  • Go to Add Assignment -> skydome_light -> intensity. 
  • Reduce the intensity to around 0.1.


  • Next, create a aiSetTransform operator. We will use this to rotate the DomeLight.
  • Select the aiSetTransform (double-click) and change the X rotation to 90 degrees. This will rotate the DomeLight.


  • Render the scene. You should see that the intensity and orientation of the DomeLight have changed.


Intensity and orientation of USD Domelight adjusted using set_parameter and aiSetParameter operators


Make Mirror Double-Sided using Set Parameter

The mirror is rendering as a single-sided object (from Omniverse). Let's make it double-sided by adding a sidedness assignment to the mirror (set_parameter operator).

  • Select the mirror under File Contents here: /Root/Geometry/mirror/mirror2
  • Go to Add Assignment -> common -> sidedness. This will automatically add a set_parameter to mirror2. When the scene is rendered the room should be visible in the reflection of the mirror now.


Change Couch Shader Using Shader Assignment

The .usd file contains some MDL materials. Let's replace one of them with an Arnold standard_surface shader.

  • Select the 'couch' under File Contents - /Root/Geometry/couch/couch
  • Select Add Assignment and choose shader.
  • Select the  icon to the right of shader and choose a standard_surface shader. You should now see that the couch renders with this new standard_surface shader.

Shader assignment (standard_surface) assigned to the couch

Disable the USD Lighting

Let's replace the Omniverse lights in the .usd file with Arnold lights. This will make lighting the scene easier so that we don't have to keep using operators.

First, we must disable the Omniverse lights in the USD by using the disable operator.

  • In the File Contents of the USD select the Lights group.
  • Select the Add Operator button and choose aiDisable. You should see it appear in the list of Operators underneath. 
  • Render the scene. It should render black as the lights have been disabled.


Lights disabled using aiDisable operator

Add Arnold Lights

  • Create a skydome light. 
  • Create a physical_sky and connect it to the color attribute of the skydome light. Ensure to change the orientation axis to Z-up.
  • Create light portals and position them outside the windows of the attic. They will help reduce interior noise from the skydome light through the small windows.


  • Once you are happy with the lighting, disable ignore_textures, and ignore_shaders under Render Settings -> Diagnostics -> Feature Overrides.


Attic scene rendered with Arnold lights


That is it. Why not try adjusting some of the materials of other objects in the scene or try different lighting setups using operators. 




  • No labels