Working with Pivot Painter 2.0 in Unreal

Do you want to know how you can achieve realistic, procedural motion through customizable data textures in Unreal?

Do you want to know how you can achieve realistic, procedural motion through customizable data textures in Unreal? Check out this thorough official overview of Pivot Painter Tool 2.0 from the Epic team that can help you get started. Basically, the tool stores the pivot and rotational information in the model’s textures which can then be referenced inside of Unreal’s shader system to create interactive effects. 

What’s New for Pivot Painter 2.0

With Pivot Painter 2.0’s release, you’ll notice that there have been some improvements and changes to the MAXScript. While some options have been removed (Hierarchy Painter) or renamed (Per Object Painter to Vertex Alpha Painter), this is an improvement to the overall workflow to simplify the process of creating these types of detailed assets. This is all in service of expanding the capabilities of Pivot Painter 2 to get even better results than before, ultimately giving you the widest range of options when developing your own content! Read on below to read about the additional improvements that have been added.

Workflow Improvements

The rigging pre-processing step is now done through 3DS Max’s standard Link tool. Simply model your tree as separate, logical elements like leaves and branches. Ensure that their pivots are ideally located and oriented (X-axis down the object’s length) and then link them together as one would in a traditional rig.

Ultimately, this makes producing complex foliage far simpler. You can rig one branch, duplicate it, and then place it. A re-parented branch will retain its children’s hierarchical arrangement as well.

Once your tree is rigged and modeled, simply select any element within the tree and under the Render Options sections, press the Process The Selected Object Hierarchy button. The script will automatically traverse the selected element’s hierarchy to find its root and then go back up the chain to collect and process all of its children, finally, rendering the textures using whatever data was chosen from the available Render Options.

This method supports both individual and linked elements at the same time. In the case of combined grass and tree models, you would select every blade at once and then an element from the tree before pressing the Process Selected Object Hierarchy button.

Texture Coordinate Control

You now have control over which UV set is written to, enabling you to combine this system with others like the Vertex Animation tools. Also, the preferences chosen in Pivot Painter 2.0 are noted in the final output texture name as a helpful reminder.

The automated naming convention is as follows:

[MeshName]_rgb_[Current Texture RGB Choice]_a_[Alpha Choice]_[UV Channel]

An example final output would look something like this.

ExampleMesh_rgb_PivotPos_a_ParentIndex_UV_2

Extensibility

The processing and rendering code has been thoroughly abstracted, resulting in a minimal amount of effort needed to add new rendering options in the future.

New Rendering Options

As part of the improvements with the MAXScript, there is a new bit-shifting algorithm used behind the scenes that stores integers as float data. This enables the hierarchy depth and max object count to increase from 3,000 to 30,000, which is vital for representing complex foliage.

This particular tree asset contains 14,431 sub-models.

16-bit RGB:

  • Pivot Point Location

  • Origin Positon

  • Origin Extents

8-bit RGB:

  • Object Basis Vectors (one vector at a time)

16-bit Alpha:

  • Parent Index (Int as float)

  • Number of Steps From Root

  • Random 0-1 Value Per Element

  • Bounding Box Diameter

  • Selection Order (Int as float)

  • Normalized 0-1 Hierarchy Position

  • Object X,Y, Z Bound Lengths From Pivot Location

  • Parent Index (Float – Up to 2048)

  • 8-bit Alpha:

    • Normalized 0-1 Position in the Hierarchy

    • Random 0-1 Value Per Element

    • Object X,Y, Z Bounds Length (Up To 2048)

    Recreating Bounding Boxes

    When using 3DS Max, the model’s bounding boxes are expanded as its sub-object geometry shifts during the modeling process. The object’s bounding box is left no longer being oriented or aligned to the mesh during this process. The same thing can happen when you alter the meshes’ pivot transform. To counteract this, the Recreate Bounding Boxes section will replace the bounding box of the selected meshes with one that is properly aligned and oriented to the meshes pivot point, which is very useful for the scripts other data gathering features (Vertex Alpha Painter and Bound information).

    On the left, the model’s pivot transform has been altered but the bounding box is not aligned and oriented properly. After using the Process Selected Objects button under the Recreate Bounding Boxes section, the rightmost model’s bounding box has been properly aligned and oriented.

    Epic Games 

     
    You can find the full guide to the tool here

    Join discussion

    Comments 0

      You might also like

      We need your consent

      We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more