3D Edit Settings Guide

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.
RapidPipeline 3D Processor has advanced tools for manipulating the shading of 3D meshes. Smooth/hard edges can be modified, UVs can be generated, new materials can be assigned, assets can be re-centered, and more.
Mesh Normals
Mesh normals control the shading of meshes. There are two controls: the Normal Hard Angle Threshold, and the Normal Computation Method. These settings are applied just after Import.
These two controls work independently from each other... the Threshold controls which edges are marked "hard", while the Method affects the directions of the "soft" normals.
Normal Hard Angle Threshold
The threshold is specified in degrees and is used for splitting vertex normals, which controls which edges should be changed into soft or hard. This is an easy way to break up blobby shading, by adding sharp edges.

Normal Hard Angle Threshold at 0 degrees, 60 degrees, and 180 degrees.
- 0 = All edges become sharp. This is essentially flat shading.
- 60 = The model will get hard edges where faces are angled more than 60 degrees from each other. This is the default value.
- 180 = All edges become soft.
Normal Computation Method
The method affects how the angles of the normals for soft edges are handled.

Normal Computation Methods: Angle (left) and Area.
- Angle: The angles of normals are averaged across all edges. This works well for most surfaces, including organic models.
- Area: This weights the normals more towards the larger faces. This works especially well when a model has bevels or fillets. This method is sometimes called "face-weighted normals".
Model Edit
These settings are applied just before Export. Changes made here do not affect other processing methods, for example any operations which rely on units or the size of the bounding box are done using the transform matrix of the incoming assets.
Scaling Factor
Assets can be scaled during Export. A value of 1.0 means no change is applied.
Center Object
Assets can be re-centered during Export.

The four Center Object methods.
- Center: The asset is centered on the world origin. This is the default.
- Rear Center: The rear center of the asset is placed at the world origin.
- Bottom Center: The bottom center of the asset is placed at the world origin.
- Top Center: The top center of the asset is placed at the world origin.
Split Multi Material Meshes
If a single mesh node uses multiple materials, this setting can be used to split the mesh.
This is related to the settings in Scene Graph Flattening, except here it is performed at import time which allows further operations to work on individual mesh parts.
False: This is the default option.
True:
3D Edit > Material Edit
Materials and UVs can be replaced, optimized, or refined. These settings are applied just after Import.
Alpha Conversion
Materials using transparency can be converted to opaque, or to use alpha mask instead of blend.
These conversions are particularly helpful for assets produced with Clo3D or Browzwear, which use alpha blend for mesh fabrics and decals.
Alpha blend often causes sorting errors in real-time renderers, where far surfaces are rendered in front of near surfaces. Alpha mask avoids these issues, at the expense of allowing only on/off transparency.
Converting alpha blend to opaque can also be useful, when textures are using alpha channels that contain only white pixels. In this case, alpha blending is superfluous and can be disabled entirely.
A threshold can help preserve transparency for surfaces that may benefit from keeping a low amount of blend, for example semi-transparent glass or plastic.
- Alpha Blend to Mask Conversion = Change the material to alpha mask if the alpha blend seems to be using mostly high contrast values. Conversion becomes more aggressive as the threshold is decreased. 1.0 changes no materials, 0.0 changes all materials to alpha mask.
- Alpha to Opaque Conversion = Change the material to opaque if the alpha seems to be opaque; i.e. mostly white. Conversion becomes more aggressive as the threshold is decreased. 1.0 changes no materials, 0.0 changes all materials to opaque.
Material Replacer
Allows for replacing materials with default materials or replacing texture maps with values. This can help if an asset has no materials, or materials have been inconsistently applied. These settings are applied just after Import.
Default Material
New basic PBR materials can be generated for all surfaces.
- Base Color = A new base color can be specified. This can include an alpha value, however alpha is not enabled for the resulting material. Alpha blending should be applied judiciously as it often causes sorting errors in real-time renderers.
- Metallic = A new metallic value can be specified. In PBR material models, metallic is best at either 1.0 or 0.0 since in-between values tend to cause unpredictable non-physical behavior.
- Roughness = A new roughness value can be specified. Roughness is an approximation of micro-surface facets, with zero being completely glossy and 1 being completely rough.
Material Edit > Generate UVs
New UVs can be generated for all meshes in the asset. These UVs replace any existing texture coordinates, and are stored in UV0.
Generating UVs via 3D Edit will remove all existing textures, and preserve material colors instead. No texture baking is performed. To preserve textures while also creating new UVs, we recommend using the texture baking functions in the Optimization section.
Cube Unwrapping
New UVs are generated using three planar projections.
The scale of the projection can be adjusted: 1.0 means the UV will be 1 meter square. You can think of the scale as being like a Tiling parameter: increasing it will cause the UVs to tile more, and decreasing it will cause the texture to appear larger.
- To apply Real-World Scale of 1 unit = 1 centimeter use
100which is how many centimeters there are in a meter. - To apply Real-World Scale of 1 unit = 1 inch use
39.37which is how many inches there are in a meter.

A 1-meter box and sphere showing Cube Unwrap Scale: 1 (left), 4, and 0.25.
Generate UV Atlas
New UVs are generated in an 'atlas' layout. The process involves three main stages, each with their own controls:
Segmentation
Segmentation divides the 3D surface into UV charts. Charts are chunks of contiguous triangles, also sometimes called islands or patches.
- Segmentation Cut Angle - Creates UV seams if neighboring triangles are angled further apart than this value. Increasing the value will create more cuts, smaller charts, and potentially better UV space utilization. THis is the threshold in degrees for cutting new edges. Default is 88 degrees.

If the angle between two triangles is greater than the segmentationCutAngle, then a new UV cut is created, splitting the faces apart in UV space.
Segmentation Chart Angle: Creates UV seams based on the overall surface curvature, which is determined by averaging all the surface normals across the surface. This is a threshold in degrees for the overall curvature of each 3D chart. Lowering this value will create more cuts, smaller charts, and potentially better UV space utilization. Default is 130 degrees.

If the segmentationChartAngle is less than the angle of the whole surface, then a new UV cut is created, splitting the faces apart in UV space.Maximum Angle Error: Creates UV seams by the amount of distortion; using a smaller angle will cut more charts. This angle is the maximum difference in degrees between UV and 3D space, beyond which a chart is split. The charts then get re-unwrapped, which typically results in a lower angle difference. We do this recursively until the threshold is met. Default angle is 114 degrees.
Maximum Primitives per UV Chart: Maximum number of triangles in any single chart. Default is 10000 triangles per chart.
Cut Overlapping UV Pieces: Prevents UV overlaps by cutting charts. If this is disabled, the resulting atlas may contain overlapping UVs. Default is enabled.

Segmentation defaults (left) vs. segmentationCutAngle and segmentationChartAngle both set to 90 (right) on a terrain model. Large charts have been selected on the right for clarity. Output of the angle settings will depend on the topology of a surface.
Unwrapping
Unwrapping flattens the UV charts. There are five different unwrapping methods.
| Unwrapping Method | Processing Speed | Stretching Amount | Description |
|---|---|---|---|
| isometric | medium | low stretch | Isometric is the default method. |
| forwardBijective | slow | low stretch | |
| fixedBoundary | very fast | high stretch | Pins the largest mesh boundary to a circle. |
| fastConformal | very fast | medium stretch | |
| conformal | fast | medium stretch |
Atlas Packing
Atlas packing fits the UV charts into the 0-to-1 UV space.
UV Atlas Mode controls how many UV atlases are created. Works in conjunction with Mesh and Material Merging. Merging is performed first, then the atlases are generated. These two settings work together to determine how many materials will be created in the output.
- single: Create a single atlas for the whole asset.
- separateAlpha: Create two atlases, one for parts using alpha, and the other without alpha. This reduces texture file size because non-transparent materials don't need an alpha channel.
- separateNormals: Create two atlases, one for textured parts, the other for un-textured parts. This allows the un-textured input materials to have normal maps baked for them, without baking any other PBR textures.
- separateAlphaNormals: This combines the features of both separateAlpha and separateNormals.
- separateMaterials: Create one atlas for each input material.
Allow Rectangular Atlases: Create rectangular powers-of-two textures when beneficial for auto-sized textures. This only applies if a non-powers-of-two value is used for the baking resolution.
Packing Resolution: Determines the fidelity used for packing. Packing is performed using a pixel buffer at this resolution, then UVs are transformed using continuous floating point values. Note that Export settings will determine the final resolution of individual textures, since each material slot can have its own resolution settings.
Packing Pixel Distance: Controls how many pixels each chart is dilated by, relative to the Packing Resolution. This creates empty spacing between charts, which can help avoid color bleeding when textures are mip-mapped.
Add Checker Texture
This will add a 1024x1024 JPG checker texture into the Base Color input of the material.
The 1024x1024 checker texture.

A 1-meter box and sphere without the checker texture (left), and with the checker texture at Cube Unwrapping Scale 0.25.
Drop Uniform Texture Maps
Textures can be automatically culled from materials if they contain flat colors, and be replaced by an averaged numerical value instead. Removing these "empty" textures can dramatically reduce file sizes and draw calls.
A threshold can be used to influence how "empty" a texture needs to be before it is culled:
- Zero disables culling; set the threshold more than zero to enable culling.
- A threshold of 0.01 means there must be no more than 1% difference between all pixels for a texture to be culled.
- A threshold of 1 means all pixels in the texture may have 100% difference and they will still be culled, so the texture will be removed regardless of how much texture information is present. This is an easy way to drop all textures, and convert their average pixel values into numerical settings instead.
Culling can be limited to specific texture inputs, if desired. To enable culling for all texture inputs, set a non-zero value for the Default Texture Map Threshold. To limit culling only to specific texture inputs, keep the Default Texture Map Threshold at zero and instead set non-zero thresholds for any desired texture types.
3D Edit > Repair
Vertex Merging
Merges close vertices with a given threshold. Merging is applied after Scene Graph Flattening.
Vertex Merging Per Mesh decides if vertex merging should only be performed within each mesh node (on) or across all nodes (off).
There are two choices for controlling the merging distance:
- Vertex Merging Distance Percentage: Percentage distance for vertex merging.
- Vertex Merging Distance Value: Value in scene units for vertex merging.
Fix Winding Order

Automatically fix the winding order of parts on import.
This is helpful when importing CAD assets, if patches are showing up inverted after being imported and tessellated.
Note that some parts may still be flipped, be sure to check the results afterwards. To check whether chunks are flipped, it helps to enable backface culling in your application's view settings.
Visibility Mode
Set how visibility is computed.
- default: Triangle facing is checked on a global basis. This is the default value.
- mesh: Triangle facing is checked individually per mesh node.
Ignore Transparency
Decides whether visibility includes non-opaque meshes.
- false: All meshes are checked. This is the default value.
- true: Meshes with transparency in their materials are not checked.
Per Lump
Decides whether winding order of lumps of geometry are flipped as one or per triangle. When operating on mesh lumps, it will attempt to detect flipped mesh chunks, and flip all the faces of each affected chunk.
- true: All triangles of each mesh lump are flipped together. This is the default value.
- false: Flipping is performed per triangle.
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.
The 3D Processor is available for multiple interfaces: