The goal with this project was to simplify and automate both mesh paths, and UDIM layouts based on data attributes, and material assignments on the mesh created by the user. Each material has seperate UDIM’s created to make it simpler to work with the meshes in programs like substance painter for texturing.

Mesh Container

This is an hda that is setup to contain the creation of a mesh along with all of its grp, name, material path, and side data for use in the assembly node down the road. Multiple mesh container nodes can be created either manually or from the assembly node shortcut button

link to github to come…

Set Side

The ‘set side’ hda has a drop down side selection to specify the ‘side’ attribute in the mesh primitives attributes. It also has an ‘auto’ checkbox that will automatically determine if a mesh is on the right or left side of the X axis and set the side appropriately based on which side the majority of the mesh is on – you can also apply an offset to the centre point along the X axis if desired

link to github to come…

Add Heirarchy Group

The ‘AddHeirarchygroup’ node will add a ‘group’ attribute to the primitive data of the meshes in the stream. They can be stacked on top of each other to nest multiple groups inside each other if desired. The ‘side’ attribute data is also modified to include the side of the group separated by a ‘/’. This data is all used downstream by the path from attribute node to create the full mesh path for export.

link to github to come…

Check Modelling Attributes

The purpose of this node is to run some checks on the attributes of our geometry. If anything doesn’t pass the check the node will error and display a message summarizing the error. It currently includes checks for a name, side, uv, and shop_materialpath attribute. These attributes were selected as being needed for a mesh to be able to use the ‘build path from attributes’ and the ‘UDIM from material’ functionality used later in the mesh finalization steps.

Once all of the checks have been passed we know that the mesh is ready to move onto the next step – Assembly

link to github to come…

Assembly Container

The assembly container is where everything comes together. All of the meshes are assembled together into the master model and centered at the origin

link to github to come…

Build Path from Attributes

The build path from attributes node creates the final ‘path’ attribute for each supplied mesh based on the grp, name, and side attributes. Each mesh is split up into its shells, so shells using the same name and side will be named, 001, 002, etc

This is accomplished by a node structure of nested for loops controlled by a vex script in a primitive wrangle node at the centre.

link to github to come…

UDIM from Material

The UDIM from material node lays out the UV’s in rows based on their assigned material path attribute. Each new material moves up to take a new row in the UDIM layout.

link to github to come…


Leave a Reply

Your email address will not be published. Required fields are marked *