Material Library

The Ultimate Houdini node reference

Visit the Node Bible

To learn more, please log in or sign up for free to explore the Node Bible.
Write your awesome label here.

Material Library

Write your awesome label here.
Authors USD material primitives from shader VOP nodes. Subnet work that holds all of your USD materials

Houdini Docs: https://www.sidefx.com/docs/houdini/nodes/lop/materiallibrary.html

This node translates shader VOP nodes into USD material primitives. A newly created Material Library node uses a pattern asterisk in the Material VOP parameter to match children VOP nodes inside the LOP and translate them into USD materials. Alternatively, this LOP can also import Houdini VOP materials from other VOP networks (such as /mat), using the Auto-fill Materials button.
Drag to resize

Materials Example:

Parameters:

Material Network - Node path to the VOP network containing material nodes to import. The node looks for materials here when you click Auto-fill materials. Set this to . (a single period) to use the VOP subnet inside this node.

Container Path - The default parent scene graph path of newly created materials. This is prefixed to the material names to get the material prim path when you click Auto-fill materials.

Auto-fill Materials - Click this to automatically create instances of the multi-parm for each material node in the Material network. This button will bring up a pop-up dialog prompting for the material network inside which to look for nodes with material flag turned on. Each such node will be filled into own multi-parm instance. The dialog also asks for the USD path at which to author the USD material translated from that node.

Auto-generate Preview Surface Shaders - When possible, the LOP will generate a USD Preview Surface shader primitive. This shader type is part of the USD standard and should be implemented by all USD renderers, so this shader (which may be an approximation of the original shader) should show up in any renderer, even if the renderer doesn’t understand the original shader type.

Allow Shader Parameter Animation - When it is turned off, all USD values are assumed non-animatable and will be authored at a default time code. And, with this option turned on, shader node parameters that are time-dependent will get translated to USD values at non-default time codes, while time-independent parameters will still author a value at a default time code.

Reference Material Render Vars into Render Products - When this checkbox is turned on, the LOP will reference the render vars parent scope primitive (if it exists) into the global render products namespace (i.e., /Render/Products/Vars).
Some shader translators author render vars primitives inside the material, and referencing them into the global location makes it easy for renderers to include them in the render product, without traversing the whole stage to look for materials and information about their potential render vars. But if this behaviour is not desirable, you can toggle this checkbox off.

Parent Primitive Type - If the intermediate prims in a material path don’t exist, the node will create them. This controls the type of the intermediate prims this node creates.

Material Path Prefix - This is automatically prefixed to any material paths that are not absolute (do not start with a slash). This lets you specify relative paths in the multi-parm, and set their common USD parent hierarchy in this one parameter.

Tab Menu Mask - A list of nodes that will appear in the tab when inside the material library. If you’re missing a shader node, replace this with asterisk to get the full list

Number of Materials - The number of materials to import. Set the number or click the plus and minus buttons to add or remove material imports.

Include Only VOPs with Material Flag Set - If Material VOP is a pattern, this excludes nodes that don’t have the Material flag on. Default is off.

Material VOP - The Houdini node path to a VOP node representing a shader or material. This can be a node pattern, in which case this node will import all matched nodes as USD materials.

Material Path - The scene graph path at which to create the USD prim. If this is an absolute path (starts with a slash), it is used as-is. If this path is relative, it is relative to the path in the Path Prefix parameter.

Assign to Geometry - Then this is on, you can assign the newly imported material to USD geometry prims using the Geometry Path parameter below.

Geometry Path - When Assign to Geometry is on, assigns the newly imported material to the primitives listed in this parameter. Using wildcards can be a very powerful method to procedurally assign the material to multiple geometry primitives in the scene. Using the asterisk.