On this page

Quick Materials provide a straightforward PBR material artists can use in their scenes. Rather than build-up materials using VOP nodes within a Material Library, Quick Materials exist as USD files shipped with Houdini. These are referenced into your scene, and contain both the shaders and the user interface built-in.

This approach has a few advantages:

Material

Description

Quick Surface Material

Uses the MaterialX Standard Surface model. Should work with any renderer with UsdMaterialX support.

Quick Cloud Material

Material for rendering clouds built around . Currently Karma-only, but future releases might be renderer-agnostic like Quick Surface Material.

Quick Surface Material

  • Provides a PBR material based around MaterialX Standard Surface and PBR Texture Set.

  • Parameters, texture maps, and primvars multiply together.

  • Texture maps are using MtlX Image internally. Each signature is pre-configured based the corresponding parameter. Float parms like, roughness and metalness, use float maps, while color parms expect color3 textures.

  • Normal maps are vector3 images read-in raw, and bump/displacement are float textures.

  • While most parameters don’t trigger Optix devices to re-compile shaders, sometimes shader compiling can still happen unexpectedly.

  • UV projection is the default, but this node also provides a Triplanar projection. It projects the same map on each axis.

  • Clicking the button next to a texture map parm creates a COP Network for generating driving that parameter with a COP pattern. These will automatically get saved as EXR images, when a USD ROP writes USD files to disk. If you already have a texture map, it will setup a File COP with that map pre-filled for you; this lets you do some image processing of the map.

Quick Cloud Material

  • Provides a simple Cloud material based around Karma Pyro Shader, similar to the Karma Cloud Material Builder.

  • The density field is used for the cloud volume by default.

  • Multiscatter is key to good looking clouds. Volume Limit has an expression that should provide good values automatically.

How to Use Quick Materials

Quick Materials can be created from the tab menu. The material can then be assigned using any of the available material assignment nodes such as Assign Material or Material Linker. However there are two other options that could be more convenient.

To...Do this

Simple Quick Material

  1. Append a Quick Surface Material node to your scene

  2. Drag the node onto the geometry in your viewport

  3. If a pop-up window appears, clarify which prim should recieve the material assignment

Component Builder

  1. Create a new Component Builder setup or create a Component Material LOP

  2. Click the Add Quick Material menu and choose one of the Quick Materials

  3. The node will be inserted to the second input on the Component Material node

Tip

The Add Quick Material menu also exists next to each assignment’s material path. This inserts a Quick Material upstream, but also channel-references the prim path automatically.

Material Linker

  1. Create a Material Linker LOP.

  2. Above the materials list, click the Add Quick Material menu and choose one of the Quick Materials

  3. The Material Linker will reference the given Quick Material, and will append an Edit Material Properties node to the Linker node.

Advanced

  • Each Quick Material automatically inherits from its own class prim. This lets you setup indirect edits from the Scene Graph Tree, which broadcast changes to every instance of your quick material.

  • Quick Materials also inherit from global classes, which affects every instance of a Quick Surface Material or Quick Cloud Material.

  • The interfaces are automatically created by the Material Library. For parameters that don’t need a control parm when the interface appears on the Edit Material Properties node, set the parm tag sidefx::shader_makecontrolparm to 0.

  • While technically you can modify these materials using Edit Material Network, doing so looses many of the advantages outlined at the beginning of this page.

Solaris and Karma

USD

Geometry

  • 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.

Layout

  • Stage Manager

    How to work with the Solaris stage effectively.

  • 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 User Guide

Karma basics and workflows