Transfer Texture


Input Streams: Mesh Stream with UVs (target) and Mesh Stream + Texture Stream (source)

Output Streams: New Texture Stream



As of HoloEdit 2023.1, this stage name has been changed from Texture Transfer to Transfer Texture.


Usually, you’ll need to run Transfer Texture after a Stabilize stage to produce textures for the new, stabilized UV layout. Even if you aren’t stabilizing, don’t forget you can also run this stage after decimating with the Clean Mesh stage.

The Transfer Texture stage creates a new texture for the current mesh stream by projecting the texture data from an earlier point in the track. This can be used to restore an original clip’s texture data after running a Stabilize Mesh or Clean Mesh stage.

There are two methods for Transfer Texture:

  • Closest Point (Default)

  • Raycast


This stage should be performed on the final mesh and animation streams, and should not be placed above any clean, or stabilize stages on the track.


  • Texture Source Stage: Click and drag a stage from the current track into this field to use as the source for the texture transfer.


If the source stage doesn’t contain mesh texture data, the Track Result at that position in the track will be used.

  • Transfer Texture Method: Using the drop down select the Transfer Texture method between Closest Point and Raycast

  • Auto Cage Extrusion: Automatically sets Cage Extrusion based on the Correspondence Error

  • Cage Extrusion: If autoCageExtrusion is disabled, this value sets the extrusion distance for the cage. One unit is one meter.


It can be important to ensure the ideal Cage Extrusion size, especially if your stabilized mesh diverges significantly from the source mesh. Read the “Working With Transfer Texture” stage below for more details.

Working with Transfer Texture

Closest Point: Closest Point is the default for the Transfer Texture stage. Transfer Texture using Closest Point will transfer the textures from the closest point from the surface of the source to the surface of the target mesh.

Closest Point Transfer Texture allows for more surface variation from the surface of the source to the target than the Raycast method but runs the risk of losing detail when transferring from a high detail source mesh to lower detail target mesh.

Closest Point reduces the risk of close inward facing surfaces cross contaminating each other during texture transfer.

There is a risk of poor texture transfer results using Closest Point if there are interior floating or layered mesh in the source mesh during the texture transfer.

Raycast: Transfer Texture using Raycast is based on a “Cage”, which is the result of extruding the surface of the target mesh outwards by a fixed distance. Each part of the source mesh within the cage will be checked against to transfer its texture.

The Cage must encompass all of the source surface in order to get good results, but it’s important to take care when increasing the Cage Extrusion value.

Too high and you might transfer textures from the wrong surface, such as texturing the side of an actor’s torso with the textures from their adjacent arm. Too low of a value might result in a “ray miss”, where incorrect data is placed into the texture.

Sometimes, on a very complex pose, it may not be possible to produce a good result from Transfer Texture with your Stabilized Mesh. You can try stabilizing those frames again with a lower Segment Max Error value to ensure less surface variation between the source and stabilized meshes.

The left side, closest point method, does not have the same cross contamination as the raycast method, the right side. Recessed details can be lost using the Closest Point method.