Cylindrical Projection

Parent Previous Next

Cylindrical Projection by Jens Kafitz

Cylindrical Projection will project your image using cylindrical texture coordinates to avoid seams and ugly blending

on objects such as wheels, trees, barrels etc.


A full feature presentation is available on Vimeo:

How to position the Projection in 3D Space


A full video of this process is available on Vimeo

Step by Step:

  1. Position your model in your viewport so that you are looking along the length of your future cylindrical projection

  1. Generate your Cylindrical Projection Node and open group 'Cylinder Pivot'.

Ensure that the Cylindrical Projection Node sits above any LUT applying Node such as sRGBtoLinar.

You can move the Cylindrical Projection Node back under it once you completed this basic orientation step-by-step.

Cylinder Pivot is defining the center point of the 'cap' of your projection:

  1. Turn on the 'Display Object Position as Color Value' checkbox found under the 'Cylinder Pivot' Group

This will show the object position X/Y/Z converted to an RGB Value.

Since these positional values are likely over 1.0, your object will go most likely completely white.

  1. Open the Pixel Analyzer Palette via VIEW / PALETTES

  1. In your lower right hand corner of your Mari Main Window ensure that 'HDR' is active.

If the icon displays 'LDR' click on it to switch to 'HDR'. This ensures that values above 1.0

can be sampled in the viewport.

  1. Switch to your 'Color Picker' Tool and on your object click at the point you want to represent the center pivot

of your projection

  1. Transfer the RGB Values from your Pixel Analyzer Palette into X,Y and Z Offset of the Cylindrical Projection and turn off

'Display Object Position as Color Value' checkbox. You are now free to move the Projection Node anywhere you want in the

Layerstack (including below a LUT Node such as sRGBtoLinear)

  1. Scroll to the top of the Cylindrical Projection Node and activate 'Debug Pattern'.

This will show you a UV Check pattern made out of squares to help you adjust repeat and rotation.

  1. Open the Group 'Transform Rotate (around pivot)' in the Cylindrical Projection Node and adjust the rotation

depending on your models necessities. By default the Cylindrical Projection is generated in a 90 degree angle

to the grid (standing cylinder).


Set Slider 'Length' to a small value to help you identify which axis is supposed to be what orientation during rotation.

  1. Your Projection should now be oriented correctly and you can turn off the 'Debug Pattern' and plug in a texture map.


Texture Map

Overrides the Texture Map and shows a Debug Pattern with squares.

This is useful to orient your projection and adjust tiling values (repeat u/v)

The image to be projected. Transparency is supported.

A rotation on the 'Texture Map'  in local space of the map itself

A translation/offset on the 'Texture Map'  in local space of the map itself. This is useful to slide the texture along the cylindrical projection.

Cylinder Dimension

When adjusting the 'Length' parameter of the projection the texture repeat changes by default.

With Lock UV Scale turned on adjusting texture repeat will compensate for changes in  'Length'

The Length/Height of your cylindrical projection

Changing Slider Range

If you feel that your length (or any other positional value) is changing too fast even with small

slider changes, go to the 'Transform Helpers' Group in the Cylindrical Projection Node

and set the multiplier lower !

The radius of your cylindrical projection determines where the projection will be clipped.

Different Radius on a projection:

Squashes the profile of the cylinder that is projecting. This is useful to redistribute features on objects that are not

100 % cylindrical to avoid texture stretching or deliberately introduce it.

UV Size

Texture Repeat around the circumference of the cylinder

Texture Repeat along the length of the cylinder

Uniform Texture Repeat multiplier for RepeatU and RepeatV

Cylinder Pivot

Shows your objects position values (X,Y,Z) as RGB Values so they can be sampled with the Pixel Analyzer Tool.

Refer to How to position your Projection in 3D Space for more details.

The X, Y and Z Position of your Cylinder Pivot. These values are usually obtained by sampling the position with the

Pixel Analyzer Tool

A secondary offset on each main slider with a finer granularity on the slider for precision positioning

Transform Rotate (around Pivot)

Rotates the cylinder around the pivot defined under group 'Cylinder Pivot'

A secondary rotation offset on each main slider with a finer granularity on the slider

Sometimes after positioning your cylinder pivot, the cylinder might be 'standing on the pivot' facing the wrong direction.

You will usually notice this when the Length Attribute doesn't seem to affect your object.

Instead of rotating the cylinder again, simply press Flip Z to tip the cylinder on its head.

Pie Clip

Plane Slice will cut the texture projection from either start or end of the cylinder.

The base of the cylinder (pivot) determines which side Plane Slice Start is on.

A secondary offset on the main slider with a finer granularity on the slider for fine adjustments

Pie Slice will slice the Projection around the circumference of the cylinder

A secondary offset on the main slider with a finer granularity on the slider for fine adjustments

Transform Helpers

Depending on your scene size some of the default slider ranges might be too large.

The following multipliers will help you compensate for very large or very small object sizes.

A multiplier on Length+Radius, the fine Offset Controls of Cylinder Pivot & Rotate Cylinder (not the main sliders !)

as well as the the fine Offset Controls on the Clipping Options (not the main sliders).

If any of the sliders below are used, the result will be multiplied.

A multiplier on Length & Radius Controls.

A multiplier on the fine offset controls of Cylinder Pivot & Rotate Cylinder (not the main sliders ! )

A multiplier on the fine offset controls of Projection Clipping Options (not the main sliders ! )

Created with the Personal Edition of HelpNDoc: Produce electronic books easily