Skip to main content

3D Processor Settings

Introduction​

RapidPipeline 3D Processor Configuration Settings are designed to achieve any 3D Processing goal.

There are 3 categories of Settings which correspond to 3 schemas:

Settings CategorySchemaDescription
3D Processing3D Processing SchemaDirect operations on the 3D Data, such as Optimization, Compression, etc.
RenderingRendering SchemaRendering of 3D Data using the RapidPipeline PBR Renderer
SystemSystem SchemaSystem Settings - only relevant for the 3D Processor CLI

3D Processing Settings​

3D Processing Settings are types of settings operating 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.

A Set of 3D Processing Configuration Settings in the RapidPipeline Platform is described as a 3D Processor Preset.

tip

The settings as displayed within the In the JSON Settings File sections are all utilizing a very simple glTF export, as an export section is required as per 3D Processor Schema. In order to add the formats you need, please refer to the export format section: https://docs.rapidpipeline.com/docs/componentDocs/3dProcessor/3d-processor-settings#format.

Please find an example of this minimalistic export config (glTF format) here. This config represents the most simple valid configuration settings file possible.

Preset Examples​

In order to try out some example presets the new 3D Processor Presets in the RapidPipeline Platform can be utilized.

Simply activate the new Preview Settings with the radio button and download the respective settings JSON files via the Actions menu:

Example banner

The settings files then can be ingested by the Blender Plugin or the 3D Processor CLI.

tip

Learn more about how to ingest the JSON settings files with the 3D Processor CLI here: https://docs.rapidpipeline.com/docs/componentDocs/3dProcessor/cli-documentation#command-line-examples


πŸ“₯ Import​

Settings for customizing the file import process into the RapidPipeline 3D Processor.

info

The Blender Plugin operates via the glTF format and thus does not include import or export settings regarding any other formats or file types (such as CAD data).

{
"import": {
"general": {
"rotateZUp": false,
"fixAnimationData": false,
"normalmapYFlip": false
},
"USD": {
"profile": "arkit",
"purpose": "render"
},
"CAD": {
"tessellationResolution": "fine"
},
"discard": {
"cameras": false,
"lights": false,
"animations": false,
"morphTargets": false,
"unusedUVs": false
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

General Import Settings​

Settings applied on all import data.

Setting TitleSetting NameLevelType [Range] (Default)Description
Convert Z- to Y-UprotateZUpbasicboolean (false)turns rotation to z-axis pointing upwards on/off
Fix Animation DatafixAnimationDataadvancedboolean (false)cleans up weights so they sum up to 1 and assigns bone 0 for 0-weights
Normal Map Y FlipnormalmapYFlipexpertboolean (false)flip normalmaps Y axis on import. Only affects fbx data.

USD Import Settings​

Settings applied to all usd file imports.

Setting TitleSetting NameLevelType [Range] (Default)Description
USD Profileprofilebasicstring [generic, arkit] (arkit)defines how input USD files are interpreted
USD Purposepurposeexpertstring [render] (render)Defines the purpose of rendering a prim, used to control render visibility and classify prims into visibility categories

CAD Import Settings​

Settings applied to all CAD file imports.

Setting TitleSetting NameLevelType [Range] (Default)Description
ResolutiontessellationResolutionbasicstring [coarse, medium, fine] (fine)Tessellation resolution for imported CAD surfaces

Discard Properties on Import​

Properties of a 3D asset to discard on import.

Setting TitleSetting NameLevelType [Range] (Default)Description
Discard Camerascamerasbasicboolean (false)if true, discards any imported cameras
Discard Lightslightsbasicboolean (false)if true, discards any imported lights
Discard Animationsanimationsbasicboolean (false)if true, discards any imported animations
Discard Morph TargetsmorphTargetsadvancedboolean (false)if true, discards any imported morph targets (shape keys, blend shapes)
Discard unused UVsunusedUVsexpertboolean (false)"if true, discards unused UV sets (if possible)

Scene Graph Flattening​

Full control over scene graph, specifying how nodes are merged or kept.

{
"sceneGraphFlattening": {
"method": "auto",
"preservedSceneDepth": 0
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Flattening Methodmethodbasicstring [none, full, auto, byOpacity, byMaterial] (auto)method to be used for scene graph flattening
Preserved Scene Depth LevelpreservedSceneDepthadvancedinteger[>=0] (0)number of layers in the scene structure that should not be flattened

πŸ”§ 3D Edit​

Modify the asset, including generation of new UVs, assignment of new textures, centering the model, and more.

{
"3dEdit": {
"meshNormals": {
"recomputeInputNormals": false,
"hardAngleThreshold": 60.0,
"computationMethod": "area"
},
"modelEdit": {
"scalingFactor": 1.0,
"centerModel": false
},
"materialEdit": {
"materialReplacer": {
"defaultMaterial": {}
},
"alphaBlendToMaskThreshold": 1.0,
"alphaMapToOpaqueThreshold": 1.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Mesh Normals​

Settings for Mesh Normal Computation.

Setting TitleSetting NameLevelType [Range] (Default)Description
Recompute Input NormalsrecomputeInputNormalsbasicboolean (false)if true, discards the original normals and recomputes them
Normal Hard Angle Threshold (Degrees)hardAngleThresholdadvancednumber [>= 0 && <= 180] (60)hard threshold (degrees) used for normal generation (0 = everything flat, 180 = everything smooth
Normal Computation MethodcomputationMethodexpertstring [angle, area] (area)weighting method for computation of mesh normals

Model Edit​

Settings applied directly to the Geometry or Mesh Node(s) of a 3D asset.

Setting TitleSetting NameLevelType [Range] (Default)Description
Scaling FactorscalingFactorbasicnumber [>= 2.2250738585072014e-308 && <= 1.7976931348623157e+308] (1)asset scaling before export, does not affect asset for further processing
Center ModelcenterModeladvancedboolean (false)centers the model around the coordinate origin before export

Material Edit​

Settings applied to the Materials of a 3D asset.

The material edit section carries some settings for certain material operations (e.g. alpha blending conversions), as well as the material replacer node, which allows for replacing materials with default materials or replacing texture maps with values.

info

The material replacer is optional.

Setting TitleSetting NameLevelType [Range] (Default)Description
Alpha Blend to Mask Conversion ThresholdalphaBlendToMaskThresholdadvancednumber[>= 0 && <= 1] (1)use alpha masking instead of blending when the alpha map has same or more than the given fraction of black or white pixels
Alpha Blend to Opaque Conversion ThresholdalphaMapToOpaqueThresholdadvancednumber[>= 0 && <= 1] (1)consider the material opaque if the alpha map mean value is above the given value [0, 1]

Material Replacer (Option 1.a Default Material + Cube Unwrapping)​

The Material Replacer has 2 main options. With the first option it replaces all original materials with a 3D Processor Default Material.

In a second step, the default material can then also receive optional UV layouts (either Cube Unwrapping or Generate UV Atlas).

The first variation (1.a) applies Cube Unwrapping and allows to optionally apply a UV Checker Texture.

info

Note that all of the UV Options are optional.

{
"3dEdit": {
"meshNormals": {},
"modelEdit": {},
"materialEdit": {
"materialReplacer": {
"defaultMaterial": {
"generateUVs": {
"cubeUnwrap": {
"addCheckerTexture": {},
"scale": 1.0
}
},
"baseColor": [
1.0,
1.0,
1.0,
1.0
],
"metallic": 0.0,
"roughness": 0.5
}
},
"alphaBlendToMaskThreshold": 1.0,
"alphaMapToOpaqueThreshold": 1.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Default Material Settings​

Settings for the 3D Processor Default Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Base ColorbaseColorbasicarray [>= 4 && <= 4] ([1,1,1,1])default material base color
Metallicmetallicbasicnumber [>= 0 && <= 1] (0)default material metallic property
Roughnessroughnessbasicnumber [>= 0 && <= 1] (0.5)default material roughness property

Generate UVs​

Decision node to choose between Cube Unwrapping and Generate UV Atlas.

Cube Unwrapping​

Applies cube unwrapping very similar to Blender's Cube Projection

Add Checker Texture​

Optionally add a UV Checker Texture.

Setting TitleSetting NameLevelType [Range] (Default)Description
Cube UV Scalescalebasicnumber [>= 2.2250738585072014e-308 && <= 1.7976931348623157e+308] (1)TBD

Material Replacer (Option 1.b Default Material + Generate UV Atlas)​

Instead of applying Cube Unwrapping, a UV Atlas can be generated. This option is very similar to the UV Atlas Generation within the Optimize section.

{
"3dEdit": {
"meshNormals": {},
"modelEdit": {},
"materialEdit": {
"materialReplacer": {
"defaultMaterial": {
"generateUVs": {
"uvAtlasGenerator": {
"addCheckerTexture": {},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2
}
},
"baseColor": [
1.0,
1.0,
1.0,
1.0
],
"metallic": 0.0,
"roughness": 0.5
}
},
"alphaBlendToMaskThreshold": 1.0,
"alphaMapToOpaqueThreshold": 1.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Generate UV Atlas​

Options for the newly generated UV Atlases. All generated Atlases are in the 1-by-1 UV space.

Setting TitleSetting NameLevelType [Range] (Default)Description
Unwrapping Methodmethodexpertstring [isometric, forwardBijective, fixedBoundary, fastConformal, conformal (isometric)method to be used for UV unwrapping
Segmentation Cut Angle (Degrees)segmentationCutAngleadvancednumber [>= 0 && <= 180] (88)threshold (degrees) for cutting sharp edges
Segmentation Chart Angle (Degrees)segmentationChartAngleadvancednumber [>= 0 && <= 180] (130)threshold (degrees) for overall curvature of 3D charts
Maximum Angle Error (Degrees)maxAngleErrorexpertnumber [>= 0 && <= 180] (114)the maximum angle (degrees) difference between UV and 3D space beyond which a chart is split and re-unwrapped
Maximum Primitives per UV ChartmaxPrimitivesPerChartexpertinteger [>= 1] (10000)limits max number primitives in any UV chart
Cut Overlapping UV PiecescutOverlappingPiecesadvancedBoolean (true)turns removal of UV self-overlaps through cutting on/off
UV Atlas ModeatlasModebasicstring [single, separateAlpha, separateNormals, separateAlphaNormals, separateMaterials] (separateAlpha)mode used to assign meshes to atlases
Allow Rectangular AtlasesallowRectangularAtlasesadvancedboolean (false)create rectangular POT textures when beneficial for auto sized textures
Packing ResolutionpackingResolutionbasicinteger [>= 0 && <= 16384] (1024)resolution at which packing will be computed
Packing Pixel DistancepackingPixelDistanceadvancedinteger [>= 1 && <= 16384] (2)distance in pixels packing will keep at reference packing resolution

Material Replacer (Option 2. Drop Uniform Texture Maps)​

Instead of replacing original materials with default materials, existing textures can also be converted into values instead. This option is called "Drop Textures".

{
"3dEdit": {
"meshNormals": {},
"modelEdit": {},
"materialEdit": {
"materialReplacer": {
"dropTextures": {
"default": 0.0,
"baseColor": 0.0,
"opacity": 0.0,
"normal": 0.0,
"metallic": 0.0,
"roughness": 0.0,
"emissive": 0.0,
"occlusion": 0.0,
"displacement": 0.0,
"clearcoat": 0.0,
"clearcoatColor": 0.0,
"clearcoatRoughness": 0.0,
"clearcoatSpecularLevel": 0.0,
"clearcoatNormal": 0.0,
"transmission": 0.0,
"attenuationColor": 0.0,
"scatteringColor": 0.0,
"scatteringDistanceScale": 0.0,
"sheenColor": 0.0,
"sheenRoughness": 0.0,
"sheenOpacity": 0.0,
"specularColor": 0.0,
"specularValue": 0.0,
"anisotropy": 0.0,
"anisotropyAngle": 0.0,
"iridescence": 0.0,
"iridescenceThickness": 0.0
}
},
"alphaBlendToMaskThreshold": 1.0,
"alphaMapToOpaqueThreshold": 1.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Drop Uniform Texture Maps​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Texture Map Thresholddefaultbasicnumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform texture maps
Base Color Map ThresholdbaseColoradvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform base color maps
Opacity Map Thresholdopacityadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform opacity maps
Normal Map Thresholdnormaladvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform normal maps
Metallic Map Thresholdmetallicadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform metallic maps
Roughness Map Thresholdroughnessadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform roughness maps
Emissive Map Thresholdemissiveadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform base emissive maps
Ambient Occlusion Map Thresholdocclusionadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform ambient occlusion maps
Displacement Map Thresholddisplacementadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform displacement maps
Clearcoat Map Thresholdclearcoatadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform clearcoat maps
Clearcoat Color Map ThresholdclearcoatColoradvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform clearcoat color maps
Clearcoat Roughness Map ThresholdclearcoatRoughnessadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform clearcoat roughness maps
Clearcoat Specular Level Map ThresholdclearcoatSpecularLeveladvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform clearcoat specular level maps
Clearcoat Normal Map ThresholdclearcoatNormaladvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform clearcoat normal maps
Transmission Map Thresholdtransmissionadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform transmission maps
Thickness Map Thresholdthicknessadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform thickness maps
Attenuation Color Map ThresholdattenuationColoradvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform attenuation color maps
Scattering Color Map ThresholdscatteringColoradvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform scattering color maps
Scattering Distance Scale Map ThresholdscatteringDistanceScaleadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform scattering distance scale maps
Sheen Color Map ThresholdsheenColoradvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform sheen color maps
Sheen Roughness Map ThresholdsheenRoughnessadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform sheen roughness maps
Sheen Opacity ThresholdsheenOpacityadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform sheen opacity maps
Specular Color Map ThresholdspecularColoradvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform specular color maps
Specular Value Map ThresholdspecularValueadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform specular value maps
Anisotropy Map Thresholdanisotropyadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform anisotropy maps
Anisotropy Angle Map ThresholdanisotropyAngleadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform anisotropy angle maps
Iridescence Map Thresholdiridescenceadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform iridescence maps
Iridescence Thickness Map ThresholdiridescenceThicknessadvancednumber [>= 0 && <= 1] (0)Threshold for dropping nearly-uniform iridescence thickness maps

Mesh Culling​

Removal of small features or invisible interior geometry.

{
"meshCulling": {
"occlusionCulling": {},
"smallFeatureCulling": {
"sizeThreshold": {
"percentage": 0.0
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Occlusion Culling​

Removes occluded (invisible) triangles.

{
"meshCulling": {
"occlusionCulling": {
"perMesh": false,
"quality": "default",
"ignoreTransparency": false,
"diffusion": "none"
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Per MeshperMeshbasicBoolean (false)switches visibility computation between per mesh and global
Culling Qualityqualityadvancedstring [default, fast, thorough, extreme] (default)specify how fast or thorough triangle visibility should be determined
Ignore TransparencyignoreTransparencyadvancedBoolean (false)culling will not consider geometry as visible anymore, if occluded by geometry associated with transparent materials
Run After DecimatorrunAfterDecimatorexpertBoolean (true)if true, removes occluded (invisible) triangles after decimation
Visibility Diffusiondiffusionexpertstring [none, conservative] (none)if true, removes occluded (invisible) triangles after decimation

Small Feature Culling​

Removes small features (mesh lumps).

Setting TitleSetting NameLevelType [Range] (Default)Description
Run After DecimatorrunAfterDecimatorexpertBoolean (true)if true, removes occluded (invisible) triangles after decimation

Size Threshold​

Choice between Relative Percentage (bbox) or Value (scene units).

Relative Percentage (bbox)​

{
"meshCulling": {
"smallFeatureCulling": {
"sizeThreshold": {
"percentage": 0.0
},
"runAfterDecimator": true
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Relative Percentage (bbox)percentagebasicnumber [>= 0 && <= 100] (0)percentage (relative to the scene's bounding box) defining the largest mesh lump bbox sidelength considered small

Value (scene units)​

{
"meshCulling": {
"smallFeatureCulling": {
"sizeThreshold": {
"value": 1.0
},
"runAfterDecimator": true
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Value (scene units)valuebasicnumber [>= 2.2250738585072014e-308] (1)absolute value (in scene units), defining the largest mesh lump bbox sidelength considered small

πŸš€ Optimize​

The Optimize category contains the main functionalities for Mesh and Material Optimization, including options for decimation, remeshing, texture atlas baking, UV aggregation, and more.

3D Model Optimization Method​

Choice of the major Optimization method.

There are 2 main options to choose from:

🎨 Material Optimization​

Main option for optimizing the model's materials, including material merging, UV (atlas) generation, Texture Baking, and more. Keeps mesh topology as is.

There are multiple options available:

Material Merger​

Option which merges materials according to existing material properties if possible (currently the merging method is set to "auto" = merges materials by opacity and keeps non-combinable materials separate). Optionally preserves materials with tiled UVs.

Additional UV (atlas) unwrapping and texture baking options are available via the Material Regenerator in order to project the original material properties onto the merged output materials.

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Material MergingmaterialMergingMethodbasicstring [auto] (auto)method to define how materials are merged
Keep Tiled UVskeepTiledUVsbasicBoolean (false)preserves repeating texture coordinates
Tiling ThresholdtilingThresholdadvancednumber [>= 1 && <= 1.7976931348623157e+308] (1.5)UV extent after which a UV channel is considered repeating (= tiling texture)

Material Regenerator​

The Material Regenerator makes sure the merged or otherwise altered materials are inheriting the original material properties or alternatively get assigned new materials and UVs.

The following options are available:

Choice Between UV atlas generator or material replacer.

info

Required if Material Merger is used.

Material Regenerator + UV Atlas Generator + Texture Baker​

This is the most common usage of the Material Regenerator within the RapidPipeline 3D Processor.

It enables creation of new UV atlases corresponding to the (new, merged) output materials and baking from the original input materials and meshes onto the merged or otherwise altered output materials and meshes.

This process does consider all (PBR) material properties and is able to project from material, vertex colors and other material attributes to texture maps as well as perform normal map and ao baking to capture mesh, normal and occlusions from the original data.

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {
"mode": "always",
"recomputeNormals": true,
"skipNormalsRoughnessThreshold": 0.0,
"normalMapScale": 1.0,
"tangentSpace": true
},
"aoBaker": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"bakingResolution": {
"default": 2048,
"iridescence": 2048,
"iridescenceThickness": 2048
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"topologicalHolesToAlpha": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Generate UV Atlas​

Options for the newly generated UV Atlases. All generated Atlases are in the 1-by-1 UV space.

info

Part of Material Regenerator.

Setting TitleSetting NameLevelType [Range] (Default)Description
Unwrapping Methodmethodexpertstring [isometric, forwardBijective, fixedBoundary, fastConformal, conformal (isometric)method to be used for UV unwrapping
Segmentation Cut Angle (Degrees)segmentationCutAngleadvancednumber [>= 0 && <= 180] (88)threshold (degrees) for cutting sharp edges
Segmentation Chart Angle (Degrees)segmentationChartAngleadvancednumber [>= 0 && <= 180] (130)threshold (degrees) for overall curvature of 3D charts
Maximum Angle Error (Degrees)maxAngleErrorexpertnumber [>= 0 && <= 180] (114)the maximum angle (degrees) difference between UV and 3D space beyond which a chart is split and re-unwrapped
Maximum Primitives per UV ChartmaxPrimitivesPerChartexpertinteger [>= 1] (10000)limits max number primitives in any UV chart
Cut Overlapping UV PiecescutOverlappingPiecesadvancedBoolean (true)turns removal of UV self-overlaps through cutting on/off
UV Atlas ModeatlasModebasicstring [single, separateAlpha, separateNormals, separateAlphaNormals, separateMaterials] (separateAlpha)mode used to assign meshes to atlases
Allow Rectangular AtlasesallowRectangularAtlasesadvancedboolean (false)create rectangular POT textures when beneficial for auto sized textures
Packing ResolutionpackingResolutionbasicinteger [>= 0 && <= 16384] (1024)resolution at which packing will be computed
Packing Pixel DistancepackingPixelDistanceadvancedinteger [>= 1 && <= 16384] (2)distance in pixels packing will keep at reference packing resolution
Multiple Atlas FactoratlasFactorbasicinteger [>= 0 && <= 16] (1)divide each created atlas into n new atlases

Texture Baker​

The general texture baking options which bakes all supported PBR material properties.

The following options are also available within the Texture Baker:

info

Part of Material Regenerator.

Setting TitleSetting NameLevelType [Range] (Default)Description
Baking Sample CountsampleCountbasicinteger [>= 1 && <= 16] (4)number of samples per texel for texture baking
Texture Map Auto ScalingtexMapAutoScalingbasicboolean (true)if true, each texture's pixel budget is divided by all atlases
Bake Combined ScenebakeCombinedSceneadvancedboolean (false)bakes the scene as a single entity even if its meshes have transformations
Bake Topological Holes to Alpha MaptopologicalHolesToAlphaadvancedboolean (false)capture areas where the corresponding source surface was not found on an alpha mask
Power of Two ResolutiontopologicalHolesToAlphaexpertstring [none, ceil, floor, round] (ceil)ensures that textures have power of two dimensions
Inpainting RadiustopologicalHolesToAlphaexpertnumber [>= 0 && <= 32] (32)radius, in pixels, for texture inpainting

πŸŒ„ Texture Baking Resolution​

Settings block within the Texture Baker to steer the baking resolution of supported texture maps.

info

Part of Texture Baker.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Texture Map Resolutiondefaultbasicinteger [>= 0 && <= 16384] (2048)default resolution for baked texture maps
Base Color Map ResolutionbaseColoradvancedinteger [>= 0 && <= 16384] (2048)resolution for baked base color maps
Opacity Map Resolutionopacityadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked opacity maps
Normal Map Resolutionnormaladvancedinteger [>= 0 && <= 16384] (2048)resolution for baked normal maps
Metallic Map Resolutionmetallicadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked metallic maps
Roughness Map Resolutionroughnessadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked roughness maps
Emissive Map Resolutionemissiveadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked emissive maps
Occlusion Map Resolutionocclusionadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked occlusion maps
Displacement Map Resolutiondisplacementadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked displacement maps
Clearcoat Map Resolutionclearcoatadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked clearcoat maps
Clearcoat Color Map ResolutionclearcoatColoradvancedinteger [>= 0 && <= 16384] (2048)resolution for baked clearcoat color maps
Clearcoat Roughness Map ResolutionclearcoatRoughnessadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked clearcoat roughness maps
Clear Coat Specular Map ResolutionclearcoatSpecularLeveladvancedinteger [>= 0 && <= 16384] (2048)resolution for baked clearcoat specular maps
Clear Coat Normal Map ResolutionclearcoatNormaladvancedinteger [>= 0 && <= 16384] (2048)resolution for baked clearcoat normal maps
Transmission Map Resolutiontransmissionadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked transmission maps
Thickness Map Resolutionthicknessadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked thickness maps
Attenuation Color Map ResolutionattenuationColoradvancedinteger [>= 0 && <= 16384] (2048)resolution for baked attenuation color maps
Scattering Color Map ResolutionscatteringColoradvancedinteger [>= 0 && <= 16384] (2048)resolution for baked scattering color maps
Scattering Distance Scale Map ResolutionscatteringDistanceScaleadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked scattering distance scale maps
Sheen Color Map ResolutionsheenColoradvancedinteger [>= 0 && <= 16384] (2048)resolution for baked sheen color maps
Sheen Roughness Map ResolutionsheenRoughnessadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked sheen roughness maps
Sheen Opacity Map ResolutionsheenOpacityadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked sheen opacity maps
Specular Color Map ResolutionspecularColoradvancedinteger [>= 0 && <= 16384] (2048)resolution for baked specular color maps
Specular Value Map ResolutionspecularValueadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked specular value maps
Anisotropy Map Resolutionanisotropyadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked anisotropy maps
Anisotropy Angle Map ResolutionanisotropyAngleadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked anisotropy angle maps
Iridescence Map Resolutioniridescenceadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked iridescence maps
Iridescence Thickness Map ResolutioniridescenceThicknessadvancedinteger [>= 0 && <= 16384] (2048)resolution for baked iridescence thickness maps

🧊 Normal Map Baker​

Can be found within the Texture Baker. This option steers the normal map baking process.

info

Part of Texture Baker.

Setting TitleSetting NameLevelType [Range] (Default)Description
Normal Map Baking Modemodebasicstring [always, ifInInput, never (always)when to (re)bake normal maps
Recompute NormalsrecomputeNormalsadvancedboolean (true)recompute normals before baking
Skip Normals Roughness ThresholdskipNormalsRoughnessThresholdadvancednumber [>= 0 && <= 1] (0)roughness value below which difference in normals between source/target are not baked
Normal Map ScalenormalMapScaleexpertnumber [>= 2.2250738585072014e-308 && <= 1.7976931348623157e+308] (1)normal scaling for the baked normal map (only used on glTF output)
tangentSpaceTangent Space Normal Mapsexpertboolean (true)switches between tangent-/object-space normal maps

πŸŒ“ Ambient Occlusion Map Baker​

This optional baker steers the generation of ambient occlusion texture maps. Turns AO (Ambient Occlusion) generation on/off

info

Optional part of Texture Baker.

Setting TitleSetting NameLevelType [Range] (Default)Description
Strengthstrengthbasicnumber [>= 0.1 && <= 1] (0.5)strength (intensity) for generated AO maps
Replace Original Ambient Occlusion MapreplaceOriginaladvancedboolean (true)computes a new AO map even if one is present in the input
Filter RadiusfilterRadiusexpertnumber [>= 0 && <= 16] (3)filter radius for smoothing the AO map (if any)
Texture SamplestextureSamplesexpertinteger [>= 8 && <= 64] (48)number of samples per texel for AO map generation (converted to a multiple of 8)

Material Regenerator + Material Replacer (Default Material Option)​

Similar option and choices as in the πŸ”§ 3D Edit Section:

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialMerger": {
"materialRegenerator": {
"materialReplacer": {
"defaultMaterial": {
"generateUVs": {
"uvAtlasGenerator": {
"addCheckerTexture": {},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2
}
},
"baseColor": [
0.0,
0.0,
1.0,
1.0
],
"metallic": 0,
"roughness": 0.5
}
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Default Material Settings​

Settings for the 3D Processor Default Material.

Settings
Same Settings as in 3D Edit Section

Material Regenerator + Material Replacer (Drop Uniform Texture Maps Option)​

Similar to Material Replacer Option within 3D Edit section.

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialMerger": {
"materialRegenerator": {
"materialReplacer": {
"dropTextures": {
"default": 0.0,
"baseColor": 0.0,
"opacity": 0.0,
"normal": 0.0,
"metallic": 0.0,
"roughness": 0.0,
"emissive": 0.0,
"occlusion": 0.0,
"displacement": 0.0,
"clearcoat": 0.0,
"clearcoatColor": 0.0,
"clearcoatRoughness": 0.0,
"clearcoatSpecularLevel": 0.0,
"clearcoatNormal": 0.0,
"transmission": 0.0,
"thickness": 0.0,
"attenuationColor": 0.0,
"scatteringColor": 0.0,
"scatteringDistanceScale": 0.0,
"sheenColor": 0.0,
"sheenRoughness": 0.0,
"sheenOpacity": 0.0,
"specularColor": 0.0,
"specularValue": 0.0,
"anisotropy": 0.0,
"anisotropyAngle": 0.0,
"iridescence": 0.0,
"iridescenceThickness": 0.0
}
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Drop Uniform Texture Maps​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

Settings
Same Settings as in 3D Edit Section

Keep Materials and UVs​

Preserves original materials and texture coordinates.

Optional choice of:

info

Currently 3D Processor can not preserve 2nd UV sets.

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"keepMaterialsUVs": {
"forceNormalRebaking": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Force Rebaking Normal MapsforceNormalRebakingexpertboolean (false)rebakes normal maps when preserving UVs, even if UV overlaps are detected

Drop Uniform Texture Maps​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

Settings
Same Settings as in 3D Edit Section

Generate 2nd UV Atlas​

Optionally generated a 2nd UV Set.

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"keepMaterialsUVs": {
"atlasGenerator2ndUV": {
"textureBaker2ndUV": {
"bakingResolution2ndUV": {
"default": 2048
},
"aoBaker2ndUV": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
},
"forceNormalRebaking": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Generate UV Atlas Section

2nd UV Atlas Texture Baker​

Texture Baking Settings for baking into 2nd UV atlas.

Settings
Same Settings as in Texture Baker Section

2nd UV Texture Baking Resolution​

Texture Baking Resolution for baking into 2nd UV atlas.

Settings
Same Settings as in Texture Baking Resolution Section

2nd UV Ambient Occlusion Map Baker​

Bakes a new ambient occlusion map into the generated 2nd UV atlas. This is very useful if the 1st UV atlas is reserved due to UV atlas preservation or aggregation.

Settings
Same Settings as in Ambient Occlusion Map Baker Section

UV Aggregator​

UVs are preserved and textures are aggregated from different materials into a single atlas when possible.

Optional choice of:

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialUVAggregator": {
"allowRectangularAtlases": true,
"forceNormalRebaking": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Allow Rectangular AtlasesallowRectangularAtlasesbasicboolean (true)create rectangular POT textures when beneficial for auto sized textures
Force Rebaking Normal MapsforceNormalRebakingexpertboolean (false)rebakes normal maps when preserving UVs, even if UV overlaps are detected

Drop Uniform Texture Maps​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

Settings
Same Settings as in 3D Edit Section

Generate 2nd UV Atlas​

Optionally generated a 2nd UV Set.

{
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialUVAggregator": {
"atlasGenerator2ndUV": {
"textureBaker2ndUV": {
"bakingResolution2ndUV": {
"default": 2048
},
"aoBaker2ndUV": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
},
"allowRectangularAtlases": true,
"forceNormalRebaking": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Generate UV Atlas Section

2nd UV Atlas Texture Baker​

Texture Baking Settings for baking into 2nd UV atlas.

Settings
Same Settings as in Texture Baker Section

2nd UV Texture Baking Resolution​

Texture Baking Resolution for baking into 2nd UV atlas.

Settings
Same Settings as in Texture Baking Resolution Section

2nd UV Ambient Occlusion Map Baker​

Bakes a new ambient occlusion map into the generated 2nd UV atlas. This is very useful if the 1st UV atlas is reserved due to UV atlas preservation or aggregation.

Settings
Same Settings as in Ambient Occlusion Map Baker Section

🌐🎨 Mesh and Material Optimization​

Main option for optimizing the model's meshes and materials, including mesh decimation, remeshing, material merging, UV (atlas) generation, Texture Baking, and more.

Two main options to choose from, each has different sub-options:

🌟 Remesher​

Remeshes the original mesh and decimates to a face target.

info

Due to the entire re-creation of the original surface, original materials and UVs can not be kept. Material Merger and Regenerator are therefore required in order to reproject original mesh and material properties.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"faces": {
"percentage": 100.0
}
},
"method": "voxelization",
"resolution": 0,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"faces": {
"value": 1
}
},
"method": "voxelization",
"resolution": 0,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Remeshing Methodmethodbasicstring [voxelization, shrinkwrap] (voxelization)method for the initial remeshing process
Resolutionresolutionadvancedinteger [>= 0 && <= 11] (0)maximum tree depth (resolution) for the initial remeshing process (0=auto)

Faces (Target)​

Face Targets for the Decimation Operation after the initial Remeshing.

Faces Percentage​

Setting TitleSetting NameLevelType [Range] (Default)Description
Faces Percentagepercentagebasicnumber [>= 0 && <= 100] (100)target percentage of faces for the decimation after the remeshing process
tip

The default of 100% could result in higher mesh resolution than the input, as the remeshed surface is initialy very high res and created independently from the input mesh resolution.

The default of 100% results in the exact same mesh resolution than the input.

Faces Value​

Setting TitleSetting NameLevelType [Range] (Default)Description
Faces Valuevaluebasicinteger [>= 1] (1)target faces value for the decimation after the remeshing process
tip

The default of 1 is not recommended for an actual production config. We recommend at least 1,000 faces.

info

In theory, the target face value can be higher than the input, achieving a denser mesh than the original (depending on the remeshing resolution setting).

Material Merger (Remesher)​

Option which merges materials according to existing material properties if possible (currently the merging method is set to "auto" = merges materials by opacity and keeps non-combinable materials separate). Optionally preserves materials with tiled UVs.

Additional UV (atlas) unwrapping and texture baking options are available via the Material Regenerator in order to project the original material properties onto the merged output materials.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"faces": {
"percentage": 100.0
}
},
"method": "voxelization",
"resolution": 0,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
info

The Material Merger within Remesher does not have the option to preserve tiled UV coordinates due to the newly created mesh surface.

Setting TitleSetting NameLevelType [Range] (Default)Description
Material MergingmaterialMergingMethodbasicstring [auto] (auto)method to define how materials are merged

Material Regenerator (Remesher)​

The Material Regenerator makes sure the merged or otherwise altered materials are inheriting the original material properties or alternatively get assigned new materials and UVs.

The following options are available:

Choice Between UV atlas generator or material replacer.

info

Required if Material Merger is used.

Material Regenerator + UV Atlas Generator + Texture Baker (Remesher)​

This is the most common usage of the Material Regenerator within the RapidPipeline 3D Processor.

It enables creation of new UV atlases corresponding to the (new, merged) output materials and baking from the original input materials and meshes onto the merged or otherwise altered output materials and meshes.

This process does consider all (PBR) material properties and is able to project from material, vertex colors and other material attributes to texture maps as well as perform normal map and ao baking to capture mesh, normal and occlusions from the original data.

Generate UV Atlas (Remesher)​

Options for the newly generated UV Atlases. All generated Atlases are in the 1-by-1 UV space.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"faces": {
"percentage": 100.0
}
},
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {
"mode": "always",
"recomputeNormals": true,
"skipNormalsRoughnessThreshold": 0.0,
"normalMapScale": 1.0,
"tangentSpace": true
},
"aoBaker": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"bakingResolution": {
"default": 2048,
"iridescence": 2048,
"iridescenceThickness": 2048
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"topologicalHolesToAlpha": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
}
}
},
"method": "voxelization",
"resolution": 0
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Generate UV Atlas Section within Material Optimization

Texture Baker (Remesher)​

The general texture baking options which bakes all supported PBR material properties.

The following options are also available within the Texture Baker:

info

Part of Material Regenerator.

Settings
Same Settings as in Texture Baker Section within Material Optimization

πŸŒ„ Texture Baking Resolution (Remesher)​

Settings block within the Texture Baker to steer the baking resolution of supported texture maps.

info

Part of Texture Baker.

Settings
Same Settings as in Texture Baking Resolution Section within Material Optimization

🧊 Normal Map Baker (Remesher)​

Can be found within the Texture Baker. This option steers the normal map baking process.

info

Part of Texture Baker.

Settings
Same Settings as in Normal Map Baker Section within Material Optimization

πŸŒ“ Ambient Occlusion Baker (Remesher)​

This optional baker steers the generation of ambient occlusion texture maps. Turns AO (Ambient Occlusion) generation on/off

info

Part of Texture Baker.

Settings
Same Settings as in Ambient Occlusion Map Baker Section within Material Optimization

Material Regenerator + Material Replacer + Default Material (Remesher)​

Similar Option and choices as in the 3D Edit Section and the Material Optimization Section

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"materialMerger": {
"materialRegenerator": {
"materialReplacer": {
"defaultMaterial": {
"generateUVs": {
"uvAtlasGenerator": {
"addCheckerTexture": {},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2
}
},
"baseColor": [
0.0,
0.0,
1.0,
1.0
],
"metallic": 0,
"roughness": 0.5
}
}
}
},
"target": {
"faces": {
"percentage": 100.0
}
},
"method": "voxelization",
"resolution": 0
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Default Material Settings (Remesher)​

Settings for the 3D Processor Default Material.

Settings
Same Settings as in Default Material Settings Section within 3D Edit

Material Regenerator + Material Replacer + Drop Uniform Texture Maps (Remesher)​

Similar Option as in the 3D Edit Section and the Material Optimization Section

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"materialMerger": {
"materialRegenerator": {
"materialReplacer": {
"dropTextures": {
"default": 0.0,
"baseColor": 0.0,
"opacity": 0.0,
"normal": 0.0,
"metallic": 0.0,
"roughness": 0.0,
"emissive": 0.0,
"occlusion": 0.0,
"displacement": 0.0,
"clearcoat": 0.0,
"clearcoatColor": 0.0,
"clearcoatRoughness": 0.0,
"clearcoatSpecularLevel": 0.0,
"clearcoatNormal": 0.0,
"transmission": 0.0,
"thickness": 0.0,
"attenuationColor": 0.0,
"scatteringColor": 0.0,
"scatteringDistanceScale": 0.0,
"sheenColor": 0.0,
"sheenRoughness": 0.0,
"sheenOpacity": 0.0,
"specularColor": 0.0,
"specularValue": 0.0,
"anisotropy": 0.0,
"anisotropyAngle": 0.0,
"iridescence": 0.0,
"iridescenceThickness": 0.0
}
}
}
},
"target": {
"faces": {
"percentage": 100.0
}
},
"method": "voxelization",
"resolution": 0
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Drop Uniform Texture Maps (Remesher)​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

Settings
Same Settings as in Drop Uniform Texture Maps Section within 3D Edit

πŸ’Ž Decimator​

The Decimator is capable of reducing mesh complexity while being able to keep important properties such as original UV coordinates, normals and topology in place.

info

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

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Preserve TopologypreserveTopologybasicboolean (false)preserves topological features like holes during decimation
Preserve NormalspreserveNormalsbasicboolean (false)preserves vertex normals during decimation
Preserve Mesh BorderspreserveMeshBordersadvancedboolean (true)preserves borders (vertices) common between meshes
Preserve Material BorderspreserveMaterialBordersadvancedboolean (false)preserves mesh material borders during decimation
Collapse Unconnected VerticescollapseUnconnectedVerticesadvancedboolean (true)switches collapsing of nearby, unconnected vertices on/off
Boundary Preservation FactorboundaryPreservationFactorexpertnumber [>= 0 && <= 1] (0.5)factor to steer preservation of boundaries during decimation
Collapse Distance ThresholdcollapseDistanceThresholdexpertnumber [>= 0 && <= 0.1] (0.005)threshold w.r.t BBox diagonal for collapsing nearby vertices
Decimation Methodmethodexpertstring [quadric, edgeLength] (quadric)method to be used for decimation

Faces (Target)​

Face Targets for the Decimation Operation.

info

In conjunction with Mesh Deviation they serve as a cap for the maximum allowed number of faces.

Faces Percentage​

Setting TitleSetting NameLevelType [Range] (Default)Description
Faces Percentagepercentagebasicnumber [>= 0 && <= 100] (100)target percentage of faces for the decimation process
tip

The default of 100% results in the exact same mesh resolution than the input.

Faces Value​

Setting TitleSetting NameLevelType [Range] (Default)Description
Faces Valuevaluebasicinteger [>= 1] (1)target faces value for the decimation process
tip

The default of 1 is not recommended for an actual production config. We recommend at least 1,000 faces.

Deviation (Target)​

Mesh Deviation between original and decimated surface.

info

Deviation works in conjunction with any Face Target, which will serve as a cap for the maximum allowed number of faces.

Deviation Percentage​

tip

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

Setting TitleSetting NameLevelType [Range] (Default)Description
Deviation Percentagepercentagebasicnumber [>= 0 && <= 100] (0)target percentage of deviation relative to the original mesh

Deviation Value​

tip

If you are unsure about scene units, we recommend to utilize Deviation Percentage instead in order to always stay relative in terms of deviation from input mesh.

Setting TitleSetting NameLevelType [Range] (Default)Description
Faces Valuevaluebasicinteger [>= 0] (0)target deviation value in absolute scene units

Material Optimization (Decimator)​

Option within Decimator for optimizing the model's materials, including material merging, UV (atlas) generation, Texture Baking, and more.

There are multiple options available to pair the decimation process with:

Material Merger (Decimator)​

Option which merges materials according to existing material properties if possible (currently the merging method is set to "auto" = merges materials by opacity and keeps non-combinable materials separate). Optionally preserves materials with tiled UVs.

Additional UV (atlas) unwrapping and texture baking options are available via the Material Regenerator in order to project the original material properties onto the merged output materials.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Material Merger Section within Material Optimization

Material Regenerator (Decimator)​

The Material Regenerator makes sure the merged or otherwise altered materials are inheriting the original material properties or alternatively get assigned new materials and UVs.

The following options are available:

Choice Between UV atlas generator or material replacer.

info

Required if Material Merger is used.

Material Regenerator + UV Atlas Generator + Texture Baker (Decimator)​

This is the most common usage of the Material Regenerator within the RapidPipeline 3D Processor.

It enables creation of new UV atlases corresponding to the (new, merged) output materials and baking from the original input materials and meshes onto the merged or otherwise altered output materials and meshes.

This process does consider all (PBR) material properties and is able to project from material, vertex colors and other material attributes to texture maps as well as perform normal map and ao baking to capture mesh, normal and occlusions from the original data.

Generate UV Atlas (Decimator)​

Options for the newly generated UV Atlases. All generated Atlases are in the 1-by-1 UV space.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {
"mode": "always",
"recomputeNormals": true,
"skipNormalsRoughnessThreshold": 0.0,
"normalMapScale": 1.0,
"tangentSpace": true
},
"aoBaker": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"bakingResolution": {
"default": 2048,
"iridescence": 2048,
"iridescenceThickness": 2048
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"topologicalHolesToAlpha": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Generate UV Atlas Section within Material Optimization

Texture Baker (Decimator)​

The general texture baking options which bakes all supported PBR material properties.

The following options are also available within the Texture Baker:

info

Part of Material Regenerator.

Settings
Same Settings as in Texture Baker Section within Material Optimization

πŸŒ„ Texture Baking Resolution (Decimator)​

Settings block within the Texture Baker to steer the baking resolution of supported texture maps.

info

Part of Texture Baker.

Settings
Same Settings as in Texture Baking Resolution Section within Material Optimization

🧊 Normal Map Baker (Decimator)​

Can be found within the Texture Baker. This option steers the normal map baking process.

info

Part of Texture Baker.

Settings
Same Settings as in Normal Map Baker Section within Material Optimization

πŸŒ“ Ambient Occlusion Baker (Decimator)​

This optional baker steers the generation of ambient occlusion texture maps. Turns AO (Ambient Occlusion) generation on/off

info

Part of Texture Baker.

Settings
Same Settings as in Ambient Occlusion Map Baker Section within Material Optimization

Material Regenerator + Material Replacer + Default Material (Decimator)​

Similar Option and choices as in the 3D Edit Section and the Material Optimization Section

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"materialOptimization": {
"materialMerger": {
"materialRegenerator": {
"materialReplacer": {
"defaultMaterial": {
"generateUVs": {
"uvAtlasGenerator": {
"addCheckerTexture": {},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2
}
},
"baseColor": [
1.0,
1.0,
1.0,
1.0
],
"metallic": 0,
"roughness": 0.5
}
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
},
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Default Material Settings (Material Merger + Regenerator + Replacer) (Decimator)​

Settings for the 3D Processor Default Material.

Settings
Same Settings as in Default Material Settings Section within 3D Edit

Material Regenerator + Material Replacer + Drop Uniform Texture Maps (Decimator)​

Similar Option as in the 3D Edit Section and the Material Optimization Section

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"materialOptimization": {
"materialMerger": {
"materialRegenerator": {
"materialReplacer": {
"dropTextures": {
"default": 0.0,
"baseColor": 0.0,
"opacity": 0.0,
"normal": 0.0,
"metallic": 0.0,
"roughness": 0.0,
"emissive": 0.0,
"occlusion": 0.0,
"displacement": 0.0,
"clearcoat": 0.0,
"clearcoatColor": 0.0,
"clearcoatRoughness": 0.0,
"clearcoatSpecularLevel": 0.0,
"clearcoatNormal": 0.0,
"transmission": 0.0,
"thickness": 0.0,
"attenuationColor": 0.0,
"scatteringColor": 0.0,
"scatteringDistanceScale": 0.0,
"sheenColor": 0.0,
"sheenRoughness": 0.0,
"sheenOpacity": 0.0,
"specularColor": 0.0,
"specularValue": 0.0,
"anisotropy": 0.0,
"anisotropyAngle": 0.0,
"iridescence": 0.0,
"iridescenceThickness": 0.0
}
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
},
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Drop Uniform Texture Maps (Material Merger + Regenerator + Replacer) (Decimator)​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

Settings
Same Settings as in Drop Uniform Texture Maps Section within 3D Edit

Keep Materials and UVs (Decimator)​

Preserves original materials and texture coordinates.

Optional choice of:

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"keepMaterialsUVs": {
"forceNormalRebaking": false
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Force Rebaking Normal MapsforceNormalRebakingexpertboolean (false)rebakes normal maps when preserving UVs, even if UV overlaps are detected

Drop Uniform Texture Maps (Keep Materials and UVs) (Decimator)​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"keepMaterialsUVs": {
"dropTextures": {
"default": 0.0,
"baseColor": 0.0,
"opacity": 0.0,
"normal": 0.0,
"metallic": 0.0,
"roughness": 0.0,
"emissive": 0.0,
"occlusion": 0.0,
"displacement": 0.0,
"clearcoat": 0.0,
"clearcoatColor": 0.0,
"clearcoatRoughness": 0.0,
"clearcoatSpecularLevel": 0.0,
"clearcoatNormal": 0.0,
"transmission": 0.0,
"thickness": 0.0,
"attenuationColor": 0.0,
"scatteringColor": 0.0,
"scatteringDistanceScale": 0.0,
"sheenColor": 0.0,
"sheenRoughness": 0.0,
"sheenOpacity": 0.0,
"specularColor": 0.0,
"specularValue": 0.0,
"anisotropy": 0.0,
"anisotropyAngle": 0.0,
"iridescence": 0.0,
"iridescenceThickness": 0.0
},
"forceNormalRebaking": false
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Drop Uniform Texture Maps Section within 3D Edit

Generate 2nd UV Atlas (Keep Materials and UVs) (Decimator)​

Optionally generated a 2nd UV Set.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"keepMaterialsUVs": {
"atlasGenerator2ndUV": {
"textureBaker2ndUV": {
"bakingResolution2ndUV": {
"default": 2048
},
"aoBaker2ndUV": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
},
"forceNormalRebaking": false
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Generate UV Atlas Section

2nd UV Atlas Texture Baker (Keep Materials and UVs) (Decimator)​

Texture Baking Settings for baking into 2nd UV atlas.

Settings
Same Settings as in Texture Baker Section

2nd UV Texture Baking Resolution (Keep Materials and UVs) (Decimator)​

Texture Baking Resolution for baking into 2nd UV atlas

Settings
Same Settings as in Texture Baking Resolution Section

2nd UV Ambient Occlusion Map Baker (Keep Materials and UVs) (Decimator)​

Bakes a new ambient occlusion map into the generated 2nd UV atlas. This is very useful if the 1st UV atlas is reserved due to UV atlas preservation or aggregation.

Settings
Same Settings as in Ambient Occlusion Map Baker Section

UV Aggregator (Decimator)​

UVs are preserved and textures are aggregated from different materials into a single atlas when possible.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialUVAggregator": {
"allowRectangularAtlases": true,
"forceNormalRebaking": false
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Allow Rectangular AtlasesallowRectangularAtlasesbasicboolean (true)create rectangular POT textures when beneficial for auto sized textures
Force Rebaking Normal MapsforceNormalRebakingexpertboolean (false)rebakes normal maps when preserving UVs, even if UV overlaps are detected

Drop Textures (Material and UV Aggregator) (Decimator)​

The default setting (basic level) steers all existing texture map types. If specific threshold settings (advanced level) are set, the respective settings overwrite the default.

The threshold ( 0 to 1) reflects RGB values. If for example "default": 1.0 is set, all texture maps get converted to the respective values.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialUVAggregator": {
"dropTextures": {
"default": 0.0,
"baseColor": 0.0,
"opacity": 0.0,
"normal": 0.0,
"metallic": 0.0,
"roughness": 0.0,
"emissive": 0.0,
"occlusion": 0.0,
"displacement": 0.0,
"clearcoat": 0.0,
"clearcoatColor": 0.0,
"clearcoatRoughness": 0.0,
"clearcoatSpecularLevel": 0.0,
"clearcoatNormal": 0.0,
"transmission": 0.0,
"thickness": 0.0,
"attenuationColor": 0.0,
"scatteringColor": 0.0,
"scatteringDistanceScale": 0.0,
"sheenColor": 0.0,
"sheenRoughness": 0.0,
"sheenOpacity": 0.0,
"specularColor": 0.0,
"specularValue": 0.0,
"anisotropy": 0.0,
"anisotropyAngle": 0.0,
"iridescence": 0.0,
"iridescenceThickness": 0.0
},
"allowRectangularAtlases": true,
"forceNormalRebaking": false
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Drop Uniform Texture Maps Section within 3D Edit

Generate 2nd UV Atlas (Material and UV Aggregator) (Decimator)​

Optionally generated a 2nd UV Set.

{
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialUVAggregator": {
"atlasGenerator2ndUV": {
"textureBaker2ndUV": {
"bakingResolution2ndUV": {
"default": 2048
},
"aoBaker2ndUV": {
"strength": 0.5,
"replaceOriginal": true,
"filterRadius": 3.0,
"textureSamples": 48
},
"sampleCount": 4,
"texMapAutoScaling": true,
"bakeCombinedScene": false,
"powerOfTwoResolution": "ceil",
"inpaintingRadius": 32.0
},
"method": "isometric",
"segmentationCutAngle": 88.0,
"segmentationChartAngle": 130.0,
"maxAngleError": 114.0,
"maxPrimitivesPerChart": 10000,
"cutOverlappingPieces": true,
"atlasMode": "separateAlpha",
"allowRectangularAtlases": false,
"packingResolution": 1024,
"packingPixelDistance": 2,
"atlasFactor": 1
},
"allowRectangularAtlases": true,
"forceNormalRebaking": false
}
},
"preserveTopology": false,
"preserveNormals": false,
"preserveMeshBorders": true,
"preserveMaterialBorders": false,
"collapseUnconnectedVertices": true,
"boundaryPreservationFactor": 0.50,
"collapseDistanceThreshold": 0.005,
"method": "quadric"
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Settings
Same Settings as in Generate UV Atlas Section

2nd UV Atlas Texture Baker (Material and UV Aggregator) (Decimator)​

Texture Baking Settings for baking into 2nd UV atlas.

Settings
Same Settings as in Texture Baker Section

2nd UV Texture Baking Resolution (Material and UV Aggregator) (Decimator)​

Texture Baking Resolution for baking into 2nd UV atlas

Settings
Same Settings as in Texture Baking Resolution Section

2nd UV Ambient Occlusion Map Baker (Material and UV Aggregator) (Decimator)​

Bakes a new ambient occlusion map into the generated 2nd UV atlas. This is very useful if the 1st UV atlas is reserved due to UV atlas preservation or aggregation.

Settings
Same Settings as in Ambient Occlusion Map Baker Section

πŸƒAnimation Optimization​

Settings for animation optimization.

{
"optimize": {
"animationOptimization": {
"simplification": "conservative"
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Animation Curve Simplificationsimplificationbasicstring [conservative, aggressive, extreme] (conservative)specify how much to simplify animation curves

Modifier​

Optional additional optimization which will alter the output data according to the given modifier type.

All modifiers take effect after the Optimize and Export settings and generally try to respect the settings (e.g compression, texture map formats etc.).

However in a lot of cases the modifiers will overwrite settings which need to be altered to achieve a certain modifier goal (e.g. a certain file size or size on screen resolution etc.).

info

If no optimization settings are set, the modifiers will still optimize to the given target if needed (e.g. a certain number of MB). In that case default optimization settings are utilized.

πŸ’Ύ File Size​

Modifier which alters the optimization settings in order to meet a given maximum file size (MB).

{
"modifier": {
"filesize": {
"maxMegabytesOnDisk": 5.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Maximum Megabytes On DiskmaxMegabytesOnDiskbasicnumber [>= 0.1] (5)Limits the maximum allowed MB size on disk for the given output asset

πŸ’» Size on Screen​

Modifier which utilizes mesh deviation and pixel per unit metric in order to calculate the optimal mesh and texture resolution for a given display size on screen (px).

info

The pixel target is limited to one value, which is used for width and height of the given size on screen.

{
"modifier": {
"screensize": {
"pixelTarget": 1024.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Pixel Targetscreensizebasicnumber [>= 0 AND <= 7680] (1024)Target size on screen in pixel (width and height)

πŸ“€ Export​

Specification and customization of export options.

note

The πŸ”ΆBlender Plugin does exchange data based on the glTF format and thus will not utilize any export settings for formats other than glTF, glb.

Export Slot​

Export slot for defining an export format as well as general and format specific export settings.

info

Each export slot is an array item. At least one export slot is required.

{
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
File NamefileNameadvancedstring [pattern: ^[a-zA-Z0-9_]*$]File Name for all written output formats
Preserve Texture File NamespreserveTextureFilenamesbasicboolean (false)Preserves Texture File Names if possible
Texture Map File PrefixtextureMapFilePrefixadvancedstring [pattern: ^[a-zA-Z0-9_]*$]prefix to be used for texture map names
Re-Encode TexturesreencodeTexturesexpertstring [auto, never, copyLossy, always] (auto)specify when to copy orre-encode texture files

Discard on Export​

Discard properties on export.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Discard unused UVsunusedUVsexpertboolean (false)Discards UV coordinates which are not used by any material(s)

Format​

File format to be exported.

tip

Also defines the name for the respective output sub-directory (e.g. if only one export slot is used which defines the glTF format, the default output from rpdx will be output/0_gltf/...).

glTF, glb, vrm​

glTF​

Writes out and sets settings for the GL Transmission Format - glTF.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"gltf": {
"pbrMaterial": {
"maxTextureResolution": {
"default": 16384
},
"textureFormat": {
"default": "auto"
},
"textureCompression": {
"jpeg": {
"quality": 90,
"qualityNormals": 95
},
"webp": {
"quality": 95,
"qualityNormals": 95
},
"ktx": {
"compressionSpeed": 2,
"quality": 128,
"uastcQuality": "default",
"mipmapCount": 2
}
},
"separateOcclusionMap": false,
"excludePbrExtensions": false,
"forceDoubleSidedMaterials": false,
"forceUnlitMaterials": false,
"convertMetalRoughness": false
},
"geometryCompression": "none",
"excludeTangents": true,
"draco": {
"positionQuantization": 14,
"normalQuantization": 10,
"uvQuantization": 12,
"boneWeightsQuantization": 12
}
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
Geometry CompressiongeometryCompressionbasicstring [none, draco, dracoLossy] (none)desired geometry compression (currently only available for GLTF/GLB export)
Exclude TangentsexcludeTangentsadvancedboolean (true)prevents export of tangent data, expects render client to compute them in MikkTSpace

Draco Compression Settings​

Setting TitleSetting NameLevelType [Range] (Default)Description
Position QuantizationpositionQuantizationexpertinteger [>= 1 && <= 32] (14)bits per position vertex attribute
Normal QuantizationnormalQuantizationexpertinteger [>= 1 && <= 32] (10)bits per normal vertex attribute
UV QuantizationuvQuantizationexpertinteger [>= 1 && <= 32] (12)bits per UV vertex attribute
Bone Weight QuantizationboneWeightsQuantizationexpertinteger [>= 1 && <= 32] (12)bits per bone weights vertex attribute

glTF PBR Material​

Settings for the glTF PBR Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Separate Occlusion MapseparateOcclusionMapbasicboolean (false)export a occlusion as a separate map instead of including it in the ORM
Exclude Material Extensions on ExportexcludePbrExtensionsadvancedboolean (false)If true, no glTF material PBR extensions are exported
Force Double Sided MaterialsforceDoubleSidedMaterialsadvancedboolean (false)export all materials as double sided
Force Unlit MaterialsforceUnlitMaterialsadvancedboolean (false)enables that all materials are specified as unlit, for .gltf/.glb export
Convert to MetalRoughnessconvertMetalRoughnessexpertboolean (false)if true, materials are always converted from spec/gloss to rough/metal

Texture Format​

Format for exported texture maps.

info

Part of glTF PBR Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Texture Map Formatdefaultbasicstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)default format for exported texture maps
Base Color Map FormatbaseColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported base color maps
MetallicRoughness Map FormatmetallicRoughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported metallicRoughness maps
Occlusion Map Formatocclusionadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported occlusion maps
Emissive Map Formatemissiveadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported emissive maps
Normal Map Formatnormaladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported normal maps
Clearcoat Map Formatclearcoatadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported clearcoat maps
Clearcoat Roughness Map FormatclearcoatRoughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported clearcoat roughness maps
Clearcoat Normal Map FormatclearcoatNormaladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported clearcoat normal maps
Transmission Map Formattransmissionadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported transmission maps
Sheen Color Map FormatsheenColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen color maps
Sheen Roughness Map FormatsheenRoughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen roughness maps
Specular Map Formatspecularadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported specular maps
Specular Color Map FormatspecularColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported specular color maps
Thickness Map Formatthicknessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported thickness maps
Iridescence Map Formatiridescenceadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported iridescence maps
Iridescence Thickness Map FormatiridescenceThicknessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported iridescence thickness maps
Diffuse Color Map Formatdiffuseadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported diffuse color maps
SpecularGlossiness Map FormatspecularGlossinessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for specularGlossiness maps

Maximum Texture Resolution​

Settings for the maximum resolution for exported texture maps.

info

Part of glTF PBR Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Maximum Texture Map Resolutiondefaultbasicinteger [>= 0 && <= 16384] (16384)default maximum resolution for exported texture maps
Maximum Base Color Map ResolutionbaseColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported base color maps
Maximum MetallicRoughness Map ResolutionmetallicRoughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported metallicRoughness maps
Maximum Occlusion Map Resolutionocclusionadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported occlusion maps
Maximum Emissive Map Resolutionemissiveadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported emissive maps
Maximum Normal Map Resolutionnormaladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported normal maps
Maximum Clearcoat Map Resolutionclearcoatadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported clearcoat maps
Maximum Clearcoat Roughness Map ResolutionclearcoatRoughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported clearcoat roughness maps
Maximum Clearcoat Normal Map ResolutionclearcoatNormaladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported clearcoat normal maps
Maximum Transmission Map Resolutiontransmissionadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported transmission maps
Maximum Sheen Color Map ResolutionsheenColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen color maps
Maximum Sheen Roughness Map ResolutionsheenRoughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen roughness maps
Maximum Specular Map Resolutionspecularadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported specular maps
Maximum Specular Color Map ResolutionspecularColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported specular color maps
Maximum Thickness Map Resolutionthicknessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported thickness maps
Maximum Iridescence Map Resolutioniridescenceadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported iridescence maps
Maximum Iridescence Thickness Map ResolutioniridescenceThicknessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported iridescence thickness maps
Maximum Diffuse Color Map Resolutiondiffuseadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported diffuse color maps
Maximum SpecularGlossiness Map ResolutionspecularGlossinessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported specularGlossiness maps

Texture Compression Settings​

Texture compression settings for jpg, webp and ktx texture compression formats.

info

Part of glTF PBR Material.

JPG Compression Settings​

Setting TitleSetting NameLevelType [Range] (Default)Description
JPG Compression Qualityqualityadvancedinteger [>= 1 && <= 100] (90)quality (in percent) of images exported as JPG
JPG Compression Normal QualityqualityNormalsadvancedinteger [>= 1 && <= 100] (95)quality (in percent) of images with normal data exported as JPG

WebP Compression Settings​

Setting TitleSetting NameLevelType [Range] (Default)Description
WebP Compression Qualityqualityadvancedinteger [>= 1 && <= 100] (93)quality (in percent) of images exported as WebP
WebP Compression Normal QualityqualityNormalsadvancedinteger [>= 1 && <= 100] (95)quality (in percent) of images with normal data exported as WebP

KTX Compression Settings​

Setting TitleSetting NameLevelType [Range] (Default)Description
KTX Compression SpeedcompressionSpeedadvancedinteger [>= 0 && <= 5] (2)compression speed for KTX (0 = fast, 5 = slow but higher quality)
KTX Compression Qualityqualityadvancedinteger [>= 0 && <= 255] (128)compression quality for KTX (0 = lowest quality but max compression, 255 = max quality)
KTX UASTC Compression QualityuastcQualityadvancedstring [default, high, balanced, compressed, high+compressed] (default)compression quality for UASTC KTX
Mip Map CountmipmapCountadvancedinteger [>= 0 && <= 2147483647] (2)number of mipmap levels generated on export (only supported for KTX2 files)

glb​

Writes out and sets settings for the GL Transmission Binary Format - glb.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"glb": {
"pbrMaterial": {},
"geometryCompression": "none",
"excludeTangents": true,
"draco": {
"positionQuantization": 14,
"normalQuantization": 10,
"uvQuantization": 12,
"boneWeightsQuantization": 12
}
}
}
}
]
}
Settings
Same Settings as in glTF Format

vrm​

Writes out and sets settings for the Virtual Reality Model Format - vrm.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"vrm": {
"pbrMaterial": {},
"geometryCompression": "none",
"excludeTangents": true,
"draco": {
"positionQuantization": 14,
"normalQuantization": 10,
"uvQuantization": 12,
"boneWeightsQuantization": 12
}
}
}
}
]
}
Settings
Same Settings as in glTF Format

usd, usda, usdc, usdz​

usd​

Writes out and sets settings for the Universal Scene Description Format - usd.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"usdz": {
"usdPreviewSurface": {
"maxTextureResolution": {
"default": 16384
},
"textureFormat": {
"default": "auto"
},
"textureCompression": {
"jpeg": {
"quality": 90,
"qualityNormals": 95
},
"webp": {
"quality": 95,
"qualityNormals": 95
},
"ktx": {
"compressionSpeed": 2,
"quality": 128,
"uastcQuality": "default",
"mipmapCount": 2
}
}
},
"usdProfile": "arkit",
"usdUnits": "cm",
"forceDoubleSidedMeshes": false
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
USD Export ProfileusdProfilestring [arkit, generic, omniverse] (arkit)desired USD output usage
USD UnitsusdUnitsstring [cm, m, original] (cm)desired USD system unit
Exclude TangentsexcludeTangentsboolean (true)prevents export of tangent data, expects render client to compute them in MikkTSpace
Force Double Sided MeshesforceDoubleSidedMeshesboolean (false)export all meshes as double sided

USD Preview Surface Material​

Settings for the USD Preview Surface Material.

Texture Format​

Format for exported texture maps.

info

Part of USD Preview Surface Material.

caution

Other Software supporting USD might not support certain texture formats such as webp and ktx.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Texture Map Formatdefaultbasicstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)default format for exported texture maps
Diffuse Color Map FormatdiffuseColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported diffuse color maps
Metallic Map Formatmetallicadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported metallic maps
Roughness Map Formatroughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported roughness maps
Emissive Color Map FormatemissiveColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported emissive color maps
Normal Map Formatnormaladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported normal maps
Clearcoat Map Formatclearcoatadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported clearcoat maps
Clearcoat Roughness Map FormatclearcoatRoughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported clearcoat roughness maps
Occlusion Map Formatocclusionadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported occlusion maps
Displacement Map Formatdisplacementadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported displacement maps

Maximum Texture Resolution​

Settings for the maximum resolution for exported texture maps.

info

Part of USD Preview Surface Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Maximum Texture Map Resolutiondefaultbasicinteger [>= 0 && <= 16384] (16384)default maximum resolution for exported texture maps
Maximum Diffuse Color Map ResolutiondiffuseColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported base color maps
Maximum Metallic Map Resolutionmetallicadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported metallic maps
Maximum Roughness Map Resolutionroughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported roughness maps
Maximum Emissive Color Map ResolutionemissiveColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported emissive color maps
Maximum Normal Map Resolutionnormaladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported normal maps
Maximum Clearcoat Map Resolutionclearcoatadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported clearcoat maps
Maximum Clearcoat Roughness Map ResolutionclearcoatRoughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported clearcoat roughness maps
Maximum Occlusion Map Resolutionocclusionadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported occlusion maps
Maximum Displacement Map Resolutiondisplacementadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported displacement maps

Texture Compression Settings​

Texture compression settings for jpg, webp and ktx texture compression formats.

info

Part of USD Preview Surface Material.

Settings
Same Settings as in glTF PBR Material

Adobe Standard Material​

Settings for the Adobe Standard Material.

info

The Adobe Standard Material will be written in addition to the USD Preview Surface Material into usd exports. Currently ASM is only supported if the input already carries any ASM nodes.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"usdz": {
"usdPreviewSurface": {
"maxTextureResolution": {
"default": 16384
},
"textureFormat": {
"default": "auto"
},
"textureCompression": {
"jpeg": {
"quality": 90,
"qualityNormals": 95
},
"webp": {
"quality": 95,
"qualityNormals": 95
},
"ktx": {
"compressionSpeed": 2,
"quality": 128,
"uastcQuality": "default",
"mipmapCount": 2
}
}
},
"adobeStandardMaterial": {},
"usdProfile": "arkit",
"usdUnits": "cm",
"forceDoubleSidedMeshes": false
}
}
}
]
}

Texture Format​

Format for exported texture maps.

info

Part of Adobe Standard Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Texture Map Formatdefaultbasicstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)default format for exported texture maps
Base Color Map FormatbaseColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported base color maps
Opacity Map Formatopacityadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported opacity maps
Roughness Map Formatroughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported roughness maps
Metallic Map Formatmetallicadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported metallic maps
Specular Level Map FormatspecularLeveladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported specular level maps
Specular Edge Color Map FormatspecularEdgeColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported specular edge color maps
Normal Map Formatnormaladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported normal maps
Height Map Formatheightadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported height maps
Anisotropy Level Map FormatanisotropyLeveladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported anisotropy level maps
Anisotropy Angle Map FormatanisotropyAngleadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported anisotropy angle maps
Emissive Map Formatemissiveadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported emissive maps
Sheen Opacity Map FormatsheenOpacityadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen opacity maps
Sheen Color Map FormatsheenColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen color maps
Sheen Roughness Map FormatsheenRoughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen roughness maps
Transulcency Map Formattranslucencyadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported translucency maps
Absorption Color Map FormatabsorptionColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported absorption color maps
Scattering Color Map FormatscatteringColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported scattering color maps
Scattering Distance Scale Map FormatscatteringDistanceScaleadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported scattering distance scale maps
Coat Opacity Map FormatcoatOpacityadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coat opacity maps
Coat Color Map FormatcoatColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coat color maps
Coat Roughness Map FormatcoatRoughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coat roughness maps
Coat Specular Level Map FormatcoatSpecularLeveladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coat specular maps
Coat Normal Map FormatcoatNormaladvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coat normal maps
Ambient Occlusion Map FormatambientOcclusionadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported ambient occlusion maps
Volume Thickness Map FormatvolumeThicknessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported volume thickness maps

Maximum Texture Resolution​

Settings for the maximum resolution for exported texture maps.

info

Part of Adobe Standard Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Maximum Texture Map Resolutiondefaultbasicinteger [>= 0 && <= 16384] (16384)default maximum resolution for exported texture maps
Maximum Base Color Map ResolutionbaseColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported base color maps
Maximum Opacity Map Resolutionopacityadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported opacity maps
Maximum Roughness Map Resolutionroughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported roughness maps
Maximum Metallic Map Resolutionmetallicadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported metallic maps
Maximum Specular Level Map ResolutionspecularLeveladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported specular level maps
Maximum Specular Edge Color Map ResolutionspecularEdgeColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported specular edge color maps
Maximum Normal Map Resolutionnormaladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported normal maps
Maximum Height Map Resolutionheightadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported height maps
Maximum Anisotropy Level Map ResolutionanisotropyLeveladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported anisotropy level maps
Maximum Anisotropy Angle Map ResolutionanisotropyAngleadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported anisotropy angle maps
Maximum Emissive Map Resolutionemissiveadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported emissive maps
Maximum Sheen Opacity Map ResolutionsheenOpacityadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen opacity maps
Maximum Sheen Color Map ResolutionsheenColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen color maps
Maximum Sheen Roughness Map ResolutionsheenRoughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen roughness maps
Maximum Transulcency Map Resolutiontranslucencyadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported translucency maps
Maximum Absorption Color Map ResolutionabsorptionColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported absorption color maps
Maximum Scattering Color Map ResolutionscatteringColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported scattering color maps
Maximum Scattering Distance Scale Map ResolutionscatteringDistanceScaleadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported scattering distance scale maps
Maximum Coat Opacity Map ResolutioncoatOpacityadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coat opacity maps
Maximum Coat Color Map ResolutioncoatColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coat color maps
Maximum Coat Roughness Map ResolutioncoatRoughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coat roughness maps
Maximum Coat Specular Level Map ResolutioncoatSpecularLeveladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coat specular maps
Maximum Coat Normal Map ResolutioncoatNormaladvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coat normal maps
Maximum Ambient Occlusion Map ResolutionambientOcclusionadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported ambient occlusion maps
Maximum Volume Thickness Map ResolutionvolumeThicknessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported volume thickness maps

Texture Compression Settings​

Texture compression settings for jpg, webp and ktx texture compression formats.

info

Part of Adobe Standard Material.

Settings
Same Settings as in glTF PBR Material

usda​

Settings
Same Settings as in usd Format

usdc​

Settings
Same Settings as in usd Format

usdz​

Settings
Same Settings as in usd Format

fbx​

Writes out and sets settings for the Filmbox Format - fbx.

{
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false
},
"format": {
"fbx": {
"3dsMaxPhysicalMaterial": {
"maxTextureResolution": {
"default": 16384
},
"textureFormat": {
"default": "auto"
},
"textureCompression": {
"jpeg": {
"quality": 90,
"qualityNormals": 95
},
"webp": {
"quality": 95,
"qualityNormals": 95
},
"ktx": {
"compressionSpeed": 2,
"quality": 128,
"uastcQuality": "default",
"mipmapCount": 2
}
}
},
"units": "m",
"unitConversion": true,
"axisSystem": "original",
"excludeTangents": true,
"flipNormalmapY": false,
"preferBinaryFormat": true
}
}
}
]
}
Setting TitleSetting NameLevelType [Range] (Default)Description
FBX Unitsunitsbasicstring [mm, dm, cm, m, km, inch, foot, mile, yard] (m)desired FBX system unit
FBX Deep Unit ConversionunitConversionadvancedboolean (true)deep convert scene units instead of scaling root node
FBX Axis SystemaxisSystemadvancedstring [original, mayaZUp, mayaYUp, max, motionbuilder, opengl, directx, lightwave] (original)desired FBX axis system
Exclude TangentsexcludeTangentsadvancedboolean (false)prevents export of tangent data, expects render client to compute them in MikkTSpace
FBX Flip Normal Map YflipNormalmapYexpertboolean (false)flip FBX normalmaps Y axis on export
Prefer Binary FormatpreferBinaryFormatexpertboolean (true)turns export in binary format on/off (if available)

3ds Max Physical Material​

Settings for the 3ds Max Physical Material.

caution

This material model is only fully supported by Autodesk 3ds Max.

Texture Format​

info

Part of 3ds Max Physical Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Texture Map Formatdefaultbasicstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)default format for exported texture maps
Base Color Map FormatbaseColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported base color maps
Cutout Map Formatcutoutadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported cutout maps
Metalness Map Formatmetalnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported metalness maps
Roughness Map Formatroughnessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported roguhness maps
Emission Color Map FormatemitColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported emission color maps
Bump Map Formatbumpadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported bump maps
Coating Map Formatcoatadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coating maps
Coating Roughness Map FormatcoatRoughadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported coating roughness maps
Sheen Color Map FormatsheenColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen color maps
Sheen Roughness Map FormatsheenRoughadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported sheen roughness maps
Transparency Map Formattransparencyadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported transparency maps
Reflection Color FormatreflColoradvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported reflection color maps
Diffuse Roughness FormatdiffRoughadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported diffuse roughness maps

Maximum Texture Resolution​

info

Part of 3ds Max Physical Material.

Setting TitleSetting NameLevelType [Range] (Default)Description
Default Maximum Texture Map Resolutiondefaultbasicinteger [>= 0 && <= 16384] (16384)default maximum resolution for exported texture maps
Maximum Base Color Map ResolutionbaseColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported base color maps
Maximum Cutout Map Resolutioncutoutadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported cutout maps
Maximum Metalness Map Resolutionmetalnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported metalness maps
Maximum Roughness Map Resolutionroughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported roguhness maps
Maximum Emission Color Map ResolutionemitColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported emission color maps
Maximum Bump Map Resolutionbumpadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported bump maps
Maximum Coating Map Resolutioncoatadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coating maps
Maximum Coating Roughness Map ResolutioncoatRoughadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported coating roughness maps
Maximum Sheen Color Map ResolutionsheenColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen color maps
Maximum Sheen Roughness Map ResolutionsheenRoughadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported sheen roughness maps
Maximum Transparency Map Resolutiontransparencyadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported transparency maps
Maximum Reflection Color ResolutionreflColoradvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported reflection color maps
Maximum Diffuse Roughness ResolutiondiffRoughadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported diffuse roughness maps

Texture Compression Settings​

Texture compression settings for jpg, webp and ktx texture compression formats.

info

Part of 3ds Max Physical Material.

Settings
Same Settings as in glTF PBR Material

other formats​

Documentation coming Soon ✨✨✨

For now check out the 3D Processing Schema

obj​

ply​

ctm​

stl​

Rendering Settings​

tip

Also check out the Rendering Schema

Render Single Image​

{
"showBackFaces": false,
"enableDropShadow": true,
"disableEnvMap": false,
"cameraVerticalFOVDeg": 0,
"IBLIntensity": 1,
"IBLBackgroundBlur": 0.4,
"imageWidth": 1024,
"imageHeight": 1024,
"sampleCount": 4,
"background": "transparent",
"shadingMode": "pbr",
"toneMapper": "none",
"output": {
"singleImage": {
"cameraViewVector": [0, 0, -1],
"cameraUpVector": [0, 1, 0]
}
}
}
Setting TitleSetting NameLevelType [Range] (Default)Description
showBackFacesshowBackFacesbasicboolean (false)turns rendering of backfaces on/off.
enableDropShadowenableDropShadowbasicboolean (true)turns rendering of drop shadow on/off.
disableEnvMapdisableEnvMapbasicboolean (false)if true, disables the environment map when rendering PBR.
cameraVerticalFOVDegcameraVerticalFOVDegbasicinteger [>= 0 && <= 90] (0)camera vertical field of view in degrees. 0 will use default values.
IBLIntensityIBLIntensitybasicinteger [>= 0 && <= 100] (1)Intensity multiplier for the IBL. 1.0 is default.
IBLBackgroundBlurIBLBackgroundBlurbasicinteger [>= 0 && <= 1] (0.4)IBL background blur level. 0 not blurred, 1 fully blurred.
imageWidthimageWidthbasicinteger [>= 1 && <= 16384] (1024)width to be used for rendered images.
imageHeightimageHeightbasicinteger [>= 1 && <= 16384] (1024)height to be used for rendered images.
sampleCountsampleCountbasicinteger [>= 1 && <= 16] (4)number of samples per pixel for image rendering.
backgroundbackgroundbasicstring [transparent, white, black, gradientGray, vignette, ibl] (transparent)background to be used for rendered images.
shadingModeshadingModebasicstring [pbr, wireframe, flat, diffuse, normals, emissive, opacity, metallic, roughness, clearcoat, clearcoatRoughness, specular, specularColor, sheenColor, sheenRoughness, occlusion, transmission, thickness] (pbr)rendering method
toneMappertoneMapperbasicstring [none, pbrNeutral] (none)tone mapper for PBR rendering.

output - singleImage​

Setting TitleSetting NameLevelType [Range] (Default)Description
cameraPositioncameraPositionhiddenarray [<= 3] ([0, 0, 0])camera position vector for rendering. Caution: overrides auto camera position - setting not enforced in schema.
cameraViewVectorcameraViewVectorbasicarray [<= 3] ([0, 0, -1])camera direction vector for rendering.
cameraUpVectorcameraUpVectorbasicarray [<= 3] ([0, 1, 0])camera up direction for rendering.

Render Turntable Image Series​

{
"showBackFaces": false,
"enableDropShadow": true,
"disableEnvMap": false,
"cameraVerticalFOVDeg": 0,
"IBLIntensity": 1,
"IBLBackgroundBlur": 0.4,
"imageWidth": 1024,
"imageHeight": 1024,
"sampleCount": 4,
"background": "transparent",
"shadingMode": "pbr",
"toneMapper": "none",
"output": {
"turntable": {
"numHorizontalImages": 1,
"numVerticalImages": 1
}
}
}

output - turntable​

Setting TitleSetting NameLevelType [Range] (Default)Description
numHorizontalImagesnumHorizontalImagesbasicinteger [>= 1 && <= 64] (1)Number of horizontal images.
numVerticalImagesnumVerticalImagesbasicinteger [>= 1 && <= 64] (1)Number of vertical images.

System Settings​

tip

Also check out the System Schema

{
"maxConcurrentThreads": 0,
"restrictToSubfolders": false,
"IBLFilePath": "",
"streams": {
"info": "stdout",
"progress": "none",
"warning": "stdout",
"error": "stderr",
"infoLevel": 3
}
}
Setting TitleSetting NameLevelType [Range] (Default)Description
maxConcurrentThreadsmaxConcurrentThreadsbasicinteger (0)maximum number of concurrent threads. 0 means no limit (adapts to number of cores), other numbers act as fixed maximum.
restrictToSubfoldersrestrictToSubfoldersbasicboolean (false)if true, only resources on the asset folder or on its subfolders are loaded.
IBLFilePathIBLFilePathbasicstringfile path for the .env IBL to use for rendering. If empty, the default IBL map is used.

streams​

Each of the stream settings can be set to one of the following values: <filename>, stdout, stderr, none.

Setting TitleSetting NameLevelType [Range] (Default)Description
infoinfobasicstring [<filename>, stdout, none] (stdout)Output stream for information logging. This stream logs information about the operations being performed, including progress bars.
progressprogressbasicstring [<filename>, stdout, none] (none)Output stream for progress logging. This stream is intended for being parsed by scripts and is disabled by default.
warningwarningbasicstring [<filename>, stdout, none] (stdout)Output stream for warning logging. This streams logs warning messages that can be useful, for example, for determining the source of unexpected results.
errorerrorbasicstring [<filename>, stderr, none] (stderr)Output stream for error logging. This stream is used to report errors during execution. Some of these errors are not fatal, the CLI will continue the command execution.
infoLevelinfoLevelbasicinteger [>= 0 && <= 4] (3)logging verbosity (0 = quiet, 4 = debug)
info

progress stream output:

Each output line in the stream is one of the following:

execute "<command>", where command is the command being executed.

update "<value>", where value is a coarse estimate the current progress of the command. Not all commands output update information.

clocked "<elapsed>", where elapsed is the time it took (in seconds) to run the previous command.