Controlling Whether Textures Stick or Swim

 
 
 

When you create a texture projection on an object, the projection's texture operator is added above the operator at the top of the operator stack's modeling region. This means that the texture operator "reads" from above any modeling operators that were applied before the texture, which affects how textures using the projection appear on the object's surface.

For example, if you apply a Twist operator to an object and then apply a texture projection, textures using the projection will not conform to the deformed object in the expected way, and will appear to "slip" over the surface as the Angle parameter of the Twist is changed. On the other hand, if you apply the texture projection before the Twist, the textures will "stick" to the surface.

A

The two images (B and C) show renderings of this grid with a twist operator applied to it.

B

When the twist is applied before the texture, the texture slips as the grid twists below the projection.

C

When the projection is applied before the twist, both the grid and the projection are deformed together.

Although texture operators are not visible in the operator stack, you can see where any such operator is reading by opening an explorer view, holding the mouse pointer over the TextureOp node, and reading the tooltip.

Swimming, Sticking, and Reprojecting

The Swim, Stick, and Reproject tools, available from the Render toolbar's Modify Projection menu, allow you to change where a texture projection reads in an object's operator stack. Each tool repositions a projection's texture operator in a specific way.

  • Swim checks to see whether the current projection is reading somewhere in the modeling region of the operator stack and, if so, moves it to the very top of the operator stack.

    As a result, the texture is applied after all deformations, including enveloping and shape animation, have been completed. In other words, the texture will always appear to slip over on the surface when the object is deformed. This is especially useful with camera projections (see Camera Projections).

  • Stick checks to see whether the projection is reading at the very top of the operator stack (swimming) and, if it is, moves it above the operator that is currently at the top of the modeling region.

    As a result, the texture is applied after all modeling deformations, but before enveloping. This means that the texture will appear slip over the surface when the object is deformed by operators in the modeling region, but will stick when the object is animated.

    If the projection is already reading somewhere in the modeling region, Stick has no effect.

  • Reproject checks to see whether the projection is reading anywhere in the modeling region and, if so, moves it above the operator that is currently at the top of the modeling region (above any deformations that were created after the texture projection).

    As a result, the texture is applied after all modeling deformations, but before shapes and envelopes. This means that the texture is applied to the object in its "reference state" (the top of the modeling region) and it will stick when the object is animated. However, the texture will slip if you modify deformations in the modeling region.

    If the projection is already swimming (reading at the very top of the operator stack), Reproject has no effect.

You can apply these commands to selected objects or to individual texture projections.

  • When applied to an object, Stick, Swim and Reproject affect the texture operator of object's current texture projection. This is the projection used when the object is viewed in a textured display mode (textured, textured decal, and so on).

    You can change the current projection from the object's Material property editor. See Material Node Property Editor [Properties Reference].

  • When applied to an individual projection, Stick, Swim and Reproject affect that projection's texture operator. You can select an object's texture projections from an explorer view.

    A

    An object's texture projections are located under its Clusters > Texture_Coordinates_AUTO node in the explorer.

    NoteSwim, Stick and Reproject only work on projections that still have a texture operator. They have no effect on frozen projections.

Dragging and Dropping Texture Operators in the Stack

You can also drag and drop operators in the explorer view to change where texture operators read in the operator stack. This gives you fine control over where the texture operator "reads".

A to B

In this example, dragging the TwistOp onto the TextureOp causes the texture operator to read below the twist, so the texture sticks when the object is deformed.

B to A

Conversely, dragging the TextureOp onto the TwistOp causes the texture operator to read above the twist, so the texture slips when the object is deformed. You can freeze the twist operator without freezing the projection.

For more information about the operator stack and the order of operations, see Operator Stack [Data Exchange].

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License