Texture extraction >
Texture extraction overview

Why extract a texture map?

Sculpting and subdividing models in Mudbox can produce models with very high polygon counts resulting in large file sizes. While you can easily export your models as either .fbx or .obj files for use in other 3D software and games applications, these software applications may not efficiently handle models with polygon counts in the range of tens of millions.

The recommended workflow is to extract a normal or displacement map (or both) that represents the high resolution surface(s) from Mudbox and export the texture maps so they can be applied to a simplified (low resolution) version of the model in another 3D application. As a result, the fine high resolution detail is maintained on a simpler version of the model. The type of map you extract depends on your particular needs and production workflow.

The Texture Extraction feature extracts the high resolution detail from the sculpted mesh as a bitmap image (map). You can produce either ambient occlusion maps, normal maps, displacement maps, or vector displacement maps:

- An ambient occlusion map is a shading effect that calculates the attenuation and occlusion of light between surface details and other objects in the scene. Mudbox can calculate this information as a high resolution image map and assign it as a paint layer to the selected target model to simulate a more realistic shading effect. For more information, see Ambient occlusion maps overview.
- A normal map extracted in Mudbox represents the difference of the surface normals between the sculpted source model and the target model and represents these differences as a color map. For more information, see Normal maps overview
- A displacement map represents the height difference between the two surfaces as a gray scale image. For more information, see Displacement maps overview.
- A vector displacement map provides both height and directional information for each pixel which provides the ability to displace vertices off-normal allowing users to faithfully recreate complex overlapping shapes. For more information, see Vector displacement maps overview.

For most texture extractions, the source and target meshes can be low and high resolution versions of the same mesh or even arbitrary meshes that have differing topology but suit the production pipeline requirements.

When extracting vector displacement maps, the meshes must either have the same base topology, or one mesh must be identical to a subdivided level of the other.

It is also possible to extract detail from 3D laser scans of a real model and produce a map that can be applied to a digital mesh that has UV texture coordinates at a lower resolution.

How texture extraction works in Mudbox

Extracting texture map requires two polygonal meshes - a source and a target.

The first mesh, referred to as the source model, contains the high resolution sculpted detail. The source mesh is sampled to produce a texture map that can be applied to the target model.

The second mesh, referred to as the target model, receives the texture map (normal or displacement) that is output. The target model is normally much lower in resolution than the source mesh. The target model in most situations needs to have UV texture coordinates that are non-overlapping, unless the UVs are arranged on the model to produce a symmetrical color map.

Most texture map(s) that get extracted are normally applied to the target model using another 3D application (for example Maya, 3ds Max, or a games console) but can also be previewed on the model within Mudbox. Vector displacement maps are an exception. Since they are 32 bit floating point, they can be previewed using the Image Browser or another application capable of viewing 32 bit floating point images.

An extracted displacement or vector displacement map can also be used within Mudbox to displace the vertices on another model using Sculpt using a displacement map. Vector displacement maps that are exported in tangent-space can be used as stamps or stencils, as a way of easily copying sculpted detail.

Mudbox extracts normal and displacement maps from a polygon model by sampling the detail and offset between the source and target versions of the user-defined models. The difference between the source and target model is written in the UV texture space of the low resolution (target) model. For this reason, the target model must have UV texture coordinates that are suitable for the texture extraction. For more information, see Prepare a model for sculpting.

In Mudbox, you have explicit control over the behavior of the source and target meshes during extraction which is crucial for professional results and to obtain good maps under varying circumstances.

For normal and displacement maps, two extraction methods are possible:

- The Raycasting method extracts a texture map by recording the distance (as a pixel value) between the source and target models based on sample rays that get cast along the surface normals of the target surface. The number of sample rays that occur is dependent on the texture map resolution. This method should be used when extracting texture maps between arbitrary meshes (meshes with differing topologies) and requires that the models be manually aligned as accurately as possible prior to extraction to produce accurate results. Artifacts in the resulting texture map can sometimes occur (particularly with overhanging features) that will required editing afterwards.
- The Subdivision method extracts a texture map by recording the difference in position of a sampled point on a model between one subdivision level and the corresponding point at a higher subdivision level. This method should only be used when extracting texture maps between different subdivision levels on the same model. The resulting texture map will contain fewer artifacts compared to the Raycasting method, requires no setup or alignment between separate models, and performs the extraction quicker. The Subdivision method does not capture the height differences as accurately as the Raycasting method particularly when the vertices on the higher subdivision level have been translated off normal compared to the lower subdivision level such as might occur when using the Grab or Pinch tools.

NoteFor vector displacement maps, the Subdivision method is always used. For this reason, vector displacement maps can only be extracted between different levels of the same mesh (or topologically equivalent meshes).

Mudbox lets you extract maps between polygonal and subdivision surfaces in any combination depending on the method selected. For best results, the low resolution and high resolution surfaces are treated as subdivision surfaces at extraction time. The resulting maps align when your 3D rendering application applies a smoothing operation (Catmull-Clark subdivision) to your low resolution polygon model at render time.

Supported extraction file formats and bit depths

Mudbox can extract normal and displacement maps of your sculpted detail in a variety of bit depths and file formats that are compatible with your particular software rendering application and production pipeline, whether you render using Maya, mentalray, RenderMan, and so on.

File format | Bit depth | Number of channels
--- | --- | ---
BMP | 8 | 3
JPG | 8 | 3
PNG | 8 | 4
TGA | 8 | 1, 3, 4
TIFF | 8, 16 integer, 32 floating point | 1, 3, 4
OpenEXR | 8, 16 float,32 floating point | 1, 3, 4

NoteIf you specify either 8 or 16-bit depth for an extracted texture, the extraction feature samples the surface in 32-bit depth and then converts it to either an 8 or 16-bit normalized set of values that range between zero and one. Vector displacement maps are automatically extracted as 32 bits-per-channel floating point files and can be either in TIFF or OpenEXR format.

Related topics

Normal maps overview

Displacement maps overview

Ambient occlusion maps overview

Image bit depth and texture extraction

Extract a normal or displacement map

Extract an ambient occlusion map

Troubleshoot texture extraction

Extract Texture Maps properties