Skip to content

Asset Documentation

Scott Milner edited this page Jul 18, 2024 · 10 revisions

Maya

Using the model checker

To use the model checker, launch it from the LnD_Assets shelf. It will open preconfigured with the things that we care about checking for. Feel free to use it to check other things—closing and then reopening the model checker will reset to the checkboxes to the options that are needed for export.

Select the geo you want to check, then press Run Checks on Selected / All. Use the Select Error Nodes buttons to highlight the problem areas.

Setting up Shading Groups/Texture Sets/Material Paths

Before you export your asset, you need to make sure that your Shading Groups are set properly in Maya. These drive the usdmaterialpath, which in turn sets the names of your Texture Sets in Substance Painter and the names of your shaders in Houdini.

To create a new Shading Group, select all of the geo you want in your shading group, then right-click and click Assign Favorite Material > Standard Surface.

Name the shading group by changing the shadingEngine name in the Attribute Editor. This will be the name that is used or the Texture Set in Substance Painter and the material name in Houdini/RenderMan, so make sure it's sufficiently descriptive.

As you consider whether to make pieces of geo share a shading group or have separate shading groups, keep these things in mind:

  • UV Shells of different shadin groups should not share a UDIM.
  • Displacement shaders are turned on/off on a per-shading group level.
  • Normal map type (Standard or BumpRoughness, see below for details) is determined on a per-shading group level.

Exporting from Maya

To export from Maya, simply select your geo and press the Publish button in the LnD_Assets shelf. This will run the model checker to ensure that your model meets the necessary requirements. Then, select the asset and geometry variant that you are exporting to, and press Publish. If your publish is successful, you will receive a pop-up dialog with the location of the newly exported USD file.

Substance Painter

New project dialog

  • Template: PBR - Metallic Roughness Alpha-blend
  • File: Select asset USD file, subdivide if needed
  • Document Resolution: as needed, only hero assets should be 4K, and even then only if needed
  • Normal Map Format: OpenGL
  • Check Use UV Tile workflow, even if you don't have any UDIMs
  • Color management: OpenColorIO

Initial project setup

For each texture set, in the Texture Set Settings:

  • Adjust the Texture Set size if needed. Remember, different Texture Sets can be different sizes. Smaller is faster, don't make it bigger than needed.
  • Remove any channels you're not using (such as Opacity and Emissive). Unneeded channels will slow down both the Substance viewport and the final shader in render.
  • Add any additional channels you need, such as Specular level or Displacement.
    • Specular level will drive the IOR (reflectivity relative to the normal) of the material. You only need this map if the IOR varies across the texture set. Otherwise you can just set it in Houdini.
    • Displacement can be optionally used alongside the Height map. This gives you more control over which height detail is physical displacement (this map), and which height detail is in the normals (height and normal maps).

If you want physical displacement in viewport, in the Shader Settings, scroll down to Displacement & Tesselation and adjust the Scale, Subdivision Count, and Source Channel as needed.

Finally, make sure that your viewport Display View is set to Rec.709 - Technical.

Export Settings

texture_publisher_numbered

  1. Enable/Disable exporting this texture set
  2. Texture set name
  3. Enable/Disable exporting custom Masks
  4. Override the texture set's normal resolution
  5. Set the Normal Map source. You can use the combined Normal and Height map data, or just use the Normal data for more fine-grained control.
  6. Set the Normal Map type. If your material is shiny with breakup, you should use the Bump Roughness map type. See the below image for how Bump Roughness maps fix distant shiny objects:
  7. Set the Displacement Map source. This is disabled by default, but you can use displacement data from either the Height channel or the Displacement channel
  8. Info button. Hover over these for explanations of the dropdowns
  9. Obsolete
  10. Type the material variant name here. It must be lower case and have no spaces or dashes
  11. Press this button to export textures

Houdini

Building an asset in Solaris

  1. Open up the asset hipfile, by clicking the Open Asset shelftool (you may need to switch to the Solungeon desktop).
  2. Tab in a LnD Component Builder node, which will build the basic network you need (make sure it is the LnD version, not the normal Component Builder).
  3. Name your geometry variant. Double-click on the name of the componentgeometryX node and rename it to be more descriptive of your geometry variant. This can be as simple as var1 or can be more descriptive of the variation of the geometry (ie tall, spikey, etc.)
  4. On the Component Geometry node, go to Advanced > Add GeomModelAPI > Draw Mode Color and set the color that this asset should appear as when viewport textures are disabled (such as when animating in Maya).
  5. Dive into the Component Geometry node, and update the filepath on the import_usd node at the top of the node tree. Make sure that your filepath starts with $HIP/.
  6. Make changes to the dark green nodes as needed. Use the move_above_ground_plane transform node to make sure that the asset is positioned correctly relative to the origin. Adjust the Percent to Keep parameter on thepolyreduce node to make the proxy geometry as low-poly as it can be while still having the correct form.
  7. On the LnD Matlib node, select the correct geometry and material variant, then press Create Material Network(s). This will auto-generate material networks based off of what was exported from Substance Painter. Feel free to tweak and edit them as needed. Don't forget to use relative paths (ie $HIP) for all of your textures!
  8. If you need to configure displacement on your asset, displacement settings are found on the LnD Component Config node.
  9. There is a script in the component material node that will auto-assign your materials, so you don't need to modify that node. Note that the default displacement radius of 0 will result in no displacement.
  10. If you have more than one material variant, add additional LnD Component Material and LnD Material Library nodes into the stream underneath the first LnD Component Material node. Make sure to use the LnD version, not the normal version. Create the materials for the variant in the second/third/fourth MatLib nodes as needed.
  11. If you have more than one geometry variant, insert a Component Geometry Variants node above the LnD Component Config node. Then, create additional variant assets using the LnD Component Geometry, LnD Material Library, and LnD Component Material nodes. Make sure that you name your LnD Component Geometry nodes and set the Draw Mode Color on them.
  12. On the LnD Lookdev node, position the camera appropriately and set the Cyclorama Width as needed.
  13. When you are ready to export your asset to the pipe, go to Caching on the Component Output node and and press Save to Disk, then Add to Asset Gallery. Your asset will then appear in the Layout Asset Gallery tab. If you need to publish changes to your asset, just press Save to Disk again.