Pivot Painter Content Examples

Choose your OS:

The Pivot Painter Tool is a MAXScript that stores model pivot and rotation information in the model's vertex data. That information can then be referenced inside of Unreal Engine 4's shader system to create interactive effects.

The PivotPainter map inside the Content Examples project provides several examples which use Pivot Painter Material Functions to produce models that achieve this effect and demonstrates how the models can be manipulated through several forces such as wind or player interaction.

PivotPainter Map

PivotPainter_Topic.png

Listed below are the examples provided in the PivotPainter map:

Example

What is Demonstrated

1.1. Scale the elements

Increasing/decreasing the scale of an object over time.

1.2. Scale using camera distance

Increasing/decreasing the scale of an object based on distance to the player.

1.3. Create unique animation phase

How to create a unique animation phase for multiple objects.

1.4. Animate with random stored value

Creating a unique animation phase for multiple objects using a random stored value.

1.5. Rotate the sub-objects

Rotating objects over time.

1.6. Update the meshes normals

How to rotate objects as well as the object's Normals over time.

1.7. Update the normals in the vertex shader

Rotating objects as well as their Normals over time through the Vertex Shader. This is a cost-effective method and increases performance.

1.8. Update a normal texture

Rotating objects and their Normals over time as well as calculating the Normals in the Vertex Shader.

1.9. Translate the sub-objects

How to offset the objects' vertices with a random number-based animation.

1.10. Move objects away from the player

Creating objects that react to, and move away from, the player based on their pivot (e.g. grass that moves as a player walks through it and is not affected by wind).

1.11. Lock the objects pivot points

Similar to example 10, but also creates a 3D sphere movement mask.

1.12. Rotate away from the wind direction

How to create objects that react to, and rotate based on, wind direction (e.g. an object that moves back-and-forth from point A to point B).

1.13. Limit the rotation via object orientation

Similar to example 12, but limits the amount of movement through object orientation properties. Limiting the objects rotation amount by its orientation toward the wind source can mimic a tree branch's reaction to the wind.

1.14. Change the animation phase using wind

A series of objects that have unique movement based on wind (e.g. grass that is affected by wind, not player contact).

1.15. Improve the animation using distance to pivot falloff offsets

Similar to example 14, but a more natural movement is applied by using Falloff Offsets to control movement.

1.16. Improve the animation using randomization

Similar to example 15, but more realistic movement is created by using random Falloff Offsets.

1.17. Animate with a texture

Animating an object based on wind by using a texture (this requires DirectX 10 or above).

1.18. Use a texture and the previous animation offset techniques

Combines examples 10 through 17 to produce textured animated objects that react to wind.

1.19. Combine multiple rotations

Shows how one can correctly perform multiple rotations at the same time within the Vertex Shader.

1.20. Ambient Creatures

Ambient creatures that react based on distance to the player (e.g. creatures that become excited when the player is near).

1.21. Advanced Grass

A more game-ready example of textured grass that moves based on wind and reacts to player contact.

1.22. Advanced Palm Tree

A textured palm tree that sways based on wind.

1.23. Advanced Tree

A textured tree with branches and leaves that react based on wind (created with the hierarchy painter).