Houdini 20.0 Solaris

Introduction to LOPs tutorials

On this page


In this series of tutorials, we are going to go through a typical production pipeline using LOPs. Most large studios have a pipeline that tries to non-destructively layer accumulated changes from contributing departments to create a final result.

For example, the assets department will create assets for an entire project. The layout department will load these assets in a sequence layout, and then modify this layout for individual shot layouts. Let’s also say the layout department puts un-animated characters in the scene as blocking. We also want the layout department to render these blocked-out scenes with sequence lighting and the tracked camera for dailies and approvals.

Next, for an individual shot, an animator will load the approved layout, and animate the characters. Now we want the animated characters to replace the still characters the layout department put in place.

In this case, the animation will be layered into the existing scene, (“stage” in USD/LOPs speak). Thus the scene is non-destructively modified. If we want to, we can “mute” the animation layer and see the scene without the character animation.

After this, let’s say the shot goes to FX. The FX department will prune out the parts of the scene they need to modify. Once modified, they will publish their results as a USD layer. In the composed stage, (the result of layering the FX changes onto the existing USD stage), the FX layer is stronger than the previous layers, and will layer “over” the existing prims (USD/LOPs speak for objects). Again, if an artist wants to see the scene without the FX layer, they can “mute” it. Nothing is ever destroyed in USD (as it may be used by other departments or processes).

Finally, lighting gets the scene. They can “mute” all temp lights, and/or “unmute” the sequence lighting. Now they can move the lights around and add new lights to customize the scene. If the scene is too heavy, they can “mute,” for example, the FX layer until the lighting is finalized.

These layering and muting abilities make USD/LOPs an incredibly powerful and useful pipeline tool. In this series of tutorials, we will be stepping through a (simplified) production pipeline department by department to see how LOPs can be used to aid in your production pipeline.

Download the support files

You will need to download the necessary support files (634 MB).

Once you have downloaded the files, you will need to unarchive them. Depending on your operating system, this might be as simple as double clicking on the file.

We will often ask you to load something from $HIP/LOPS_DEMO_FILES. As you might know, $HIP within Houdini means “where you launched Houdini.” So if you are planning on storing your hip files for these tutorials in $HOME/projects/LOPS then you should put the downloaded files in $HOME/projects/LOPS/LOPS_DEMO_FILES. Then when you load a Houdini file from $HOME/projects/LOPS, you can refer to the place where the tutorial files are stored as $HIP/LOPS_DEMO_FILES.

A few things to know

These tutorials assume at least a beginner’s understanding of Houdini. (How to create objects, how to use SOPs, understand and navigate the interface and different levels.)

It is assumed you are familiar with the basic concepts of USD and LOPs:


Houdini Apprentice license holders will only be able to write out .usdnc files. This is the non-commercial version of USD, and can only be read by Houdini, (not other packages that support USD). In all other ways it is fully functional.


These are the tutorials that will walk us through a typical pipeline and how we might use LOPS/USD to do this.




  • SOP Geometry I/O

    Details of how Houdini converts SOP geometry to USD, and how you can control the process.

  • Component Builder

    The Component Builder tool puts down a network snippet for creating a USD model from SOPs, with support for materials, variants, payloads, and layering.


  • Edit node

    Interactively transforms prims in the viewer. Can use physics collisions to position props realistically.

  • Layout node

    Provides tools for populating a scene with instanced USD assets. You can place individual components, paint/scatter components in different ways using customizable brushes, and edit existing instances.

  • Custom Layout Brushes

    How to create layout brush digital assets you can use to customize the behavior of the Layout LOP.

Look Development

  • MaterialX

    Houdini has VOP node equivalents of the MaterialX shader nodes. You can build a shader network using these nodes, or import an existing MaterialX-based shader, and use them with Karma (Houdini’s USD renderer).

  • UDIM Paths

    You can encode different tiles of a texture space into different texture files, each with its own resolution. You can then specify a texture filename such as kaiju.exr, and Houdini will replace the token with the specific tile address at load time.

  • Shader Translation Framework

    Describes the Solaris shading framework, including shader node translation to USD primitives.

Karma rendering