Axis Projection


  • Where to find it:


    • Add Procedural Layer / Procedural / Extension Pack / Generators


    • NodeGraph / Right Mouse Click / Add Nodes / Procedurals / Extension Pack / Generators







Axis Projection is similar to a Triplanar projection but gives more control over projection orientation

by isolating the positive & negative part of each axis.

In addition it allows you to rotate all axis globally for cases where your object is not perfectly aligned in X, Y and Z.


Video



This Node is covered in a video together with other nodes here

Node Overview



Node Ports


  • Manifold 3D

When mapped the world space position the node uses to calculate the projection is supplied by the port.

This can be used for example to apply warping to the projection using Manifold Nodes


  • 3D Scale (XYZ)

When mapped

    • the red channel of the attached connection is used to drive the 3D Scale Attribute for the front part of the projection.
    • The green channel of the attached connection is used to drive the 3D Scale Attribute for the top part of the projection.
    • The blue channel of the attached connection is used to drive the 3D Scale Attribute for the right part of the projection.


  • 3D Rotation (XYZ)

When mapped the red channel of the attached connection is used to drive the Rotate X Attribute,

the green channel the Rotate Y Attribute and the blue channel the Rotate Z Attribute



  • UV Scale (UV)

When mapped the red channel of the attached connection is used to drive the UV Angle X Attribute,

the green channel the UV Angle Y Attribute and the blue channel the UV Angle Z Attribute


  • UV Angle (XYZ)

When mapped the red channel of the attached connection is used to drive the UV Rotation Right Attribute,

the green channel the UV Rotation Top Attribute and the blue channel the UV Rotation Front Attribute


  • UV Offset (UV)

When mapped the red channel of the attached connection is used to drive the U Offset  Attribute,

the green channel the V Offset Attribute



  • Jitter Noise

By default the Edge Blending Jitter uses a node internal noise to perform its jittering/randomization of edges.

By attaching a noise of your choosing to the Jitter Noise Connection in the Nodegraph you can overwrite this

internal noise.



  • Projection Mask (XYZ)

The Projection Mask allows you to change the opacity of areas of your Projection.

Each color channel of the fed in mask corresponds to one projection direction.


The Red Channel of the Mask gets evaluated for the Right Direction.

The Green Channel of the Mask gets evaluated for the Top Direction.

The Blue Channel of the Mask gets evaluated for the Front Direction.



  • Bake Point Image

The Bake Point Image Port allows you to feed data into the Node from upstream nodes that have been baked via a bake point into the Node.

When the node is evaluated, the Bake Point attached to the Port will be sampled and the UDIM 1001 Image will be transferred into

the Image Attribute of the Node.


This allows you to create patterns and textures via a nodegraph and use them directly inside this node with an element of non-destructivness


Example of using a Nodegraph and a Bake Point to dynamically feed a Pattern Generator Node with Node Inputs




  • Image Blur (0-10)

The Image Blur Port allows you to control the blurring of Node's Image via a node stream.

The value range of the fed in Node stream needs to be between 0 and 10.


The Mip Map Blur Setting below the Image Attribute inside of the Node's Properties gets added on top of the fed in value.



  • Tangent Space Normal

The Node Graph 'Tangent Space Normal' Handle allows you to have the Axis Projection evaluated against the effects of a

normal map as well



Node Properties


MAIN TAB

General


  • 3D Scale

3D Scale is a global scale multiplier on all options allowing you to uniformly scale up the projection


  • Tiling

Determines the Tiling Mode of the Projection




Base Color


It is possible to define a background color for this node. Transparent areas of the node will be filled with the Background Value/Color

if the Background Opacity is set to 1.0.


If no Image is set in the Image attribute the computation of the Node will default to a lightweight, performance friendly method that only

evaluates the background.



  • Background Value

Defines the grayscale Background value of the Projection.



The Background Value is multiplied against the Background color, so to only use the Value field, set the Background color to white


  • Background Color

Defines a Background Color for the Projection. This can help to eliminate semi-transparent areas of your projection, caused by the mesh normals

not being aligned with the projection



The Background Color is multiplied against the Background value, so to only use the Color field, set the Background value to 1.0


  • Background Opacity

Defines if the Projection is filled by default with the Background Color / Background Value


Image


  • Image

The Image to use for the projection(s).


  • Invert

Inverts the map loaded under Image


  • Mipmap Blur

Allows you to blur the input image. This feature requires Mari 4.6v2.

Blurring can also be controlled via the Image Blur Port of the Node.



If an input is attached to the Image Blur Port of the Node, the value of the Mipmap Blur slider and the Image Blur Port Input will be added together.



  • Image Type



If an image is specified as a Normal Map, rotating images recalculates normal vectors for correct lighting results.


Below you can see an example of this. The Material and its normal map was rotated 90 degrees from its original output.


    • With the Normal Map specified in the Image Type, Mari correctly recalculate the normal map vectors for rotation changes resulting in consistent lighting in viewport & render.
    • If the Normal Map is treated as a 'Standard Texture', no normal orientation is recalcuated, resulting in incorrect lighting in viewport & render





Edge Blending


  • Softness Falloff

The Softness Falloff Curve determines the general Falloff of each projection axis to its sides.




Fully opaque projection by default


Different from the Triplanar Projection, the default Curve together with default 'Expand' settings

will result in a completely opaque projection when all axis directions are turned on.




  • Blend Intensity

A Multiplier on the Alpha of the Projection



  • Jitter Intensity

Jitter will make the edges of projections less uniform/straight.

The Jitter Intensity determines the amplitude of the the Jitter.


You can overwrite the Noise used for jittering the edges by mapping the Jitter Noise Port in the Nodegraph



  • Jitter Scale

Determines the Frequency of the internal Noise used for jittering.



Jitter Scale is ignored if something is attached via the Nodegraph to the Jitter Noise Port


Axis Selection


  • X / -X

Projects the Image from the positive and/or negative world X Axis


    • Expand

Expand will broaden the area of influence of each axis.

This can cause texture stretching if pushed too far.



  • Y / -Y

Projects the Image from the positive and/or negative world Y Axis


    • Expand

Expand will broaden the area of influence of each axis.

This can cause texture stretching if pushed too far.


  • Z / -Z

Projects the Image from the positive and/or negative world Z Axis


    • Expand

Expand will broaden the area of influence of each axis.

This can cause texture stretching if pushed too far.




Expand Axis


Changing the 'Expand' Parameter under each Axis will expand the influence of the axis.

Please note this can cause texture stretching if pushed too far.






Normal Map



These options only apply, if the supplied input image is set to a normal map


  • Invert Red

Will invert the Red Channel of the attached Normal Map


  • Invert Green

Will invert the Green Channel of the attached Normal Map



OpenGl vs DirectX Normal Map


Mari's Shaders by default expect a Direct X Normal Map.

If you have an OpenGl Normal Map you will have to invert the Green Channel to get a Direct X Normal Map


  • Switch Red/Green

Allows you to swap the Red/Green Component of a Tangent Space Normal Map attached to the Node in the

Nodegraph



  • Mirror X Front / Mirror Y Front

Will mirror the vectors of the normal map for the Front Projection Direction. This is useful to align the Normal Map correctly in space for your projection


  • Mirror X Top / Mirror Y Top

Will mirror the vectors of the normal map for the Top Projection Direction. This is useful to align the Normal Map correctly in space for your projection



  • Mirror X Right / Mirror Y Right

Will mirror the vectors of the normal map for the Right Projection Direction. This is useful to align the Normal Map correctly in space for your projection





TRANSFORM TAB


Projection Axis Rotation


  • Rotate X / Y / Z

Allows you to rotate the global X, Y and Z axis separately to best suite your models need.

This is also exposed as a port in the Nodegraph called Axis Rotation (XYZ) meaning that

the red channel of an attached Node is used to drive the Rotate X Attribute, the green channel

to drive the Rotate Y Attribute and the blue channel to drive the Rotate Z attribute.



UV Transform



  • Alignment

Determines the default Position the Projecion is oriented on, in relation to your object's bounding box:


    • Object Center
    • Object Top
    • Object Bottom




  • UV Repeat UV)

A uniform repeat on u + v of your image.

This is also exposed as a port in the Nodegraph named UV Scale (UV)


  • U Repeat

The repeat along U. Multiplied against the UV Repeat (UV) attribute.


  • V Repeat

The repeat along V. Multiplied against the UV Repeat (UV) attribute.


  • UV Angle

A uniform Angle to rotate your projection image.

This is applied to all directions of the Projection


The Rotational Pivot is the center of your object


If Stencil Mode is on in the Tiling Options, the Rotational Pivot shifts to the center of your image


  • UV Rotation Right

Angle to rotate your projection image in the X/-X Axis of your Projection.

Multiplied against the UV Angle Attribute.

This is also exposed as a port in the Nodegraph named UV Angle (XYZ)

meaning the red channel of any attached Node is used to drive the UV Angle X Attribute


The Rotational Pivot is the center of your object


If Stencil Mode is on in the Tiling Options, the Rotational Pivot shifts to the center of your image


  • UV Angle Top

Angle to rotate your projection image in the Y/-Y Axis of your Projection.

Multiplied against the UV Angle Attribute.

This is also exposed as a port in the Nodegraph named UV Angle (XYZ)

meaning the green channel of any attached Node is used to drive the UV Angle Y Attribute


The Rotational Pivot is the center of your object


If Stencil Mode is on in the Tiling Options, the Rotational Pivot shifts to the center of your image


  • UV Angle Front

Angle to rotate your projection image in the Z/-Z Axis of your Projection.

Multiplied against the UV Angle Attribute.

This is also exposed as a port in the Nodegraph named UV Angle (XYZ)

meaning the blue channel of any attached Node is used to drive the UV Angle Z Attribute


The Rotational Pivot is the center of your object


If Stencil Mode is on in the Tiling Options, the Rotational Pivot shifts to the center of your image


  • U Offset

Offset along the X Axis of your Image.

This is also exposed as a port in the Nodegraph named UV Offset (UV)

meaning that the red channel of any attached Node is used to drive the U Offset Attribute


If Stencil Mode is on in the Tiling Options, the Offset is evaluated for the entire projection plane instead of based on the

width of the projected image



  • V Offset

Offset along the Y Axis of your Image

This is also exposed as a port in the Nodegraph named UV Offset (UV)

meaning that the green channel of any attached Node is used to drive the V Offset Attribute


If Stencil Mode is on in the Tiling Options, the Offset is evaluated for the entire projection plane instead of based on the

width of the projected image