Skip to main content

Optimize Settings Guide

RapidPipeline 3D Processor logo

RapidPipeline 3D Processing Configuration Settings adhere to the 3D Processing Schema and are designed to achieve any 3D processing goal. They operate directly on a 3D model and are able to alter the entire structure or re-create meshes, materials, UVs, texture maps and other 3D model properties.

3D Model Optimization Method

Optimization has two main branches:

  1. Material Optimization: Bake materials into new PBR textures, using existing tiled texture coordinates, or generating new atlas UVs. This can help improve performance by reducing the number of materials and textures.

  2. Mesh and Material Optimization: When meshes are being optimized, RapidPipeline attempts to preserve materials, textures, and UVs. Optionally, materials can be merged together or replaced altogether. But optimization always considers materials when they are present.

Material Optimization

Materials can be optimized independently if desired, without changing the mesh topology.

Material Merger

  • Material Merging
  • Keep Tiled UVs
  • Tiling Threshold

Material Regenerator

Merged or altered materials inherit the original material properties, or alternatively get assigned new materials and UVs.

The following options are available:

  • Generate UV Atlas + Texture Baker
  • Material Replacer + Default Material (+ Unwrapping Options)
  • Material Replacer + Drop Uniform Texture Maps

Keep Materials and UVs

Material and UV Aggregator

Texture Baking Resolution

Resolution for the new baked textures. Default is 2048x2048 pixels.

It is usually best to enter a powers-of-two number, for example 256, 512, 1024, etc.

Using a non-powers-of-two value can generate non-square dimensions when beneficial, if 'Texture Resolution Auto Scaling' is enabled.

Normal Map Mode

Normal map baking can be either always enforced, only performed if the input material already has normal maps, or not performed at all.

  • always: Normal maps are baked for every material. The baked maps will include details from both the original normal maps and the input geometry.

  • ifInInput: Normal maps are only baked for materials that have normal maps already.

  • never: Normal maps are not baked.

Bake Occlusion Map

Bakes an ambient occlusion texture.

If 'Preserve Tiling' is enabled, then a 2nd UV is generated using an 'atlas' layout and the occlusion is baked into it.

If 'Preserve Tiling' is disabled, the first UV is re-generated using an 'atlas' layout and the occlusion is baked into it.

Texture Resolution Auto Scaling

When enabled the value for 'Texture Baking Resolution' is used for the largest atlas in terms of occupied 3D surface. Materials on smaller meshes will use smaller power of 2 resolutions, according to their size in 3D space.

When disabled, all atlases will use the same texture resolution, as set by the 'Texture Baking Resolution' parameter.

Preserve Tiling

Preserves repeating texture coordinates (UVs) and associated texture maps. UVs are considered tiling if they extend 150% outside the 0-1 UV space.

Atlas Mode

How many materials are created, each with its own UV atlas and set of PBR textures (color, normal, etc.). By default atlases are separated by opacity (separateAlpha).

  • single: Bake a single material for the whole asset.

  • separateAlpha: Bake two materials, one for parts using alpha, and the other without alpha. This reduces texture file size because the non-transparent material doesn't need an alpha channel. If no alpha was present in the input, then only one material is baked.

  • separateNormals: Bake two materials, one for parts with textures already, and the other for untextured parts. For the untextured parts, this bakes normal maps without having to bake any other PBR textures.

  • separateAlphaNormals: This combines the features of both separateAlpha and separateNormals.

  • separateMaterials: Bake the same number of materials as the input.

Multiple Atlas Factor

Increases the number of texture sets. Each material atlas is divided by this value, so a value of 2 means each atlas becomes two atlases.

This can help improve texture resolution in the output. This can be paired with a lower value for 'Texture Baking Resolution' as a good alternative to using fewer atlases with a higher texture resolution (e.g. two 2048s vs. one 4096).

Mesh and Material Merging

How meshes are merged together. Full merge vs. none (no merge), or byOpacity leaving alpha parts separately, byMaterial will keep parts associated with different materials separate.

  • none: Do not merge meshes.

  • full: Merge all meshes into a single node using a single material.

  • byOpacity: Merge all opaque meshes into a single node using a single material, and keep alpha meshes as they were.

  • byMaterial: Merge meshes together by material, so there will be a single combined mesh for each input material.

  • auto: Same as 'byOpacity'.

Mesh and Material Optimization

Decimator

Simplifies a mesh by reducing the number of faces while preserving materials, UVs and textures. This is useful for reducing file size, and improving performance by reducing memory usage.

Vertices are collapsed and merged by distance and angle, while attempting to preserve the original volume and curvature. The decimator is capable of reducing mesh complexity while keeping important properties such as original UV coordinates, normals and topology in place.

Decimation is computed from the original mesh, therefore the quality of the result highly depends on the quality of the input topology.

Face Target

The target amount of faces (triangles), default is 150,000 triangles. RapidPipeline will attempt to get as close as possible to the chosen value, though sometimes a mesh may require a slightly different final triangle count to preserve surface continuity.

Deviation Percentage

Target percentage of deviation relative to the original mesh. Smaller values tend to cause higher triangle counts.

Works in conjunction with face target as a cap. Depending on the deviation, the final face count can be lower or equal to the face count.

We recommend a percentage of 0.05% or less for complex highly detailed 3D assets, to achieve a reasonably small deviation. For a medium deviation from the input, we recommend a percentage around 0.3%.

Preserve Topology

Preserves topological features like holes during decimation.

Disabled by default, since this acts as a constraint on the decimation and thus the desired face target might not be reached.

In most cases it is recommended to decimate meshes without attempting to preserve the exact topology constraints from the input shapes. This allows the simplification algorithm to remove small holes or handles, for example, when creating a low-triangle approximation.

However for some applications and input models, it may be desired to better preserve the exact topology of the input shape. Preserve Topology applies limits on decimation that holes should never be closed, handles and different surface parts should never be merged, and geometric details like fine strands should be preserved.

Preserve Mesh Normals

Preserves vertex normals during decimation, rather than recalculating normals after merging vertices.

Disabled by default, since this acts as a constraint on the decimation and thus the desired face target might not be reached.

Remesher

Further Documentation

For the full Documentation on all available data operations commands and system settings, please refer to the CLI Commands Guide and 3D Processor System Schema & Settings.