Skip to main content

Schema & Settings v1.2

info

The 3D Processing Schema & Settings v1.2 are only fully compatible with the 3D Processor CLI v7.2.0 and newer. Settings created against the v1.2 schema might not validate with older 3D Processor Versions (7.1.1, 7.1.0).

The 3D Processing Schema v1.2

The 3D Processing Schema describes all the Options RapidPipeline 3D Processor offers in regards to:

  • 3D Data Optimization and other 3D Operations
  • 3D File Format Transcoding
  • 3D Material Model Conversion

3D Processing Schema v1.2 (JSON Schema File).

Schema Documentation

Loading ....

Settings Configuration

RapidPipeline 3D Processing Configuration Settings adhere to the 3D Processing Schema and are designed to achieve any 3D processing goal. They are 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.

tip

The settings as displayed within the In the JSON Settings File sections are all utilizing an additional simple glTF export.

This is only needed if the given config is solely utilized with no other (export) configuration given, as the 3D Processing Schema requires at least one file export. More about file exports and settings within the export format section.

Data Categories and Types

Data within the 3D Processing Settings JSON Files can be divide into 3 high-level categories :

Setting

Settings Group

Operation

note

Categories and states are high-level concepts and serve only documentation purposes. They can not be found within the 3D Processor Schema or defined within the JSON Settings files themselves.

Each Category has a specific Type and an optional State:

  • Types: Define the kind of data type for any value in JSON.

    • object, string, boolean, number, array
  • State: Define special behavior and usage within the settings JSON for any value.

    • toggle = this state indicates that a setting, group or operation has to be specified ("toggled") in order to have any effect.
info

Settings, settings groups or operations without the toggle state, have always a default behavior, either directly or via children, no matter if they are specified or not (= omitted). For example if the import object is not specified, imported CAD data is still tessellated via the CAD settings group child object and it's tessellationResolution setting using the default resolution fine.


oneOf choices

In addition within the 3D Processor Settings Documentation oneOf choices are indicated by the following tag:

oneOfChoice

tip

Properties with the oneOfChoice tag indicate that the respective choice has to be specified within the configuration to have an effect and multiple oneOf tagged properties within the same parent object are not allowed.


Associations between the categories:

Setting

  • possible types: string, boolean, number, array
  • possible states: toggle

Settings can be of any available type other than object and can sometimes be of state toggle. Settings can not hold any nested data, as they are no objects.


Settings Group

  • possible types: object
  • possible states: toggle

Settings Groups are always of type object and can be of state toggle. Settings Groups can hold different nested data, such as Settings, other Settings Groups or even Operations.


Operation

  • possible types: object, array
  • possible states: toggle

Operations are usually of type object and mostly of state toggle. Operations are similar to Settings Groups but trigger active functionality within the 3D Processor.


Examples:

import Settings Group type : object

export Operation type : array state: toggle

info

Even though the export operation is of state toggle it is also required as per 3D Processor Schema. That means that within one settings file the export object does not have to be specified as long as another configuration holds that property or an --export command (from CLI v7.2.0 on) is utilized.

Presets

A set of 3D processing configuration settings in the RapidPipeline Web Platform is described as a 3D Processor Preset.

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

note

See the update regarding the new presets in the Product Updates section here

To download a preset in editable JSON format, activate Preview New Settings with the radio button and download the respective settings JSON files via the Actions menu:

Example banner

These JSON settings files can be ingested by the RapidPipeline Blender Plugin or the RapidPipeline 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/3dProcessorCLI/cli-commands-guide-v1#command-line-examples


Import

Settings Group

type: object

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

{
"version": 1.2,
"import": {
"general": {
"rotateZUp": false,
"fixAnimationData": true,
"normalmapYFlip": false
},
"USD": {
"profile": "arkit",
"purpose": "render"
},
"CAD": {
"tessellationResolution": "fine"
},
"discard": {
"cameras": false,
"lights": false,
"animations": false,
"morphTargets": false,
"unusedUVs": false
},
"materials": {
"undefinedDefaults": {
"baseColor": [1,1,1,1],
"metallic": 0,
"roughness": 0.5
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

General Import Settings

Settings Group

type: object

Settings applied on all import data.

Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Convert Z- to Y-UprotateZUpbasicboolean (false)turns rotation to z-axis pointing upwards on/off
Fix Animation DatafixAnimationDataadvancedboolean (true)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 Group

type: object

Settings applied to all usd file imports.

Setting

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 Group

type: object

Settings applied to all CAD file imports.

Setting

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

Discard Properties on Import

Settings Group

type: object

Properties of a 3D asset to discard on import.

Setting

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)

Import Material Defaults

Settings Group

type: object

Default material properties, applied on import if the material model doesn't define a default properties already.

Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Import Default Base ColorbaseColorbasicarray [>= 4 && <= 4] ([1,1,1,1])default base color values, applied on import if the material model doesn't define a default base color values already
Import Default Metallicmetallicbasicnumber [>= 0 && <= 1] (0)default metallic value, applied on import if the material model doesn't define a default metallic value already
Import Default Roughnessroughnessbasicnumber [>= 0 && <= 1] (0.5)default roughness value, applied on import if the material model doesn't define a default roughness value already

Scene Graph Flattening

Operation

type : object state: toggle

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

{
"version": 1.2,
"sceneGraphFlattening": {
"method": "auto",
"preservedSceneDepth": 0
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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

Settings Group

type: object

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

{
"version": 1.2,
"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 Group

type: object

Settings for Mesh Normal Computation.

Setting

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 Group

type: object

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

Setting

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

Operation

type: object

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

state: toggle

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)

Operation

oneOfChoice

type: object state: toggle

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.

{
"version": 1.2,
"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 Group

type: object

Settings for the 3D Processor Default Material.

Setting

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

Operation

type: object state: toggle

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

Cube Unwrapping

Operation

type: object state: toggle

Applies cube unwrapping very similar to Blender's Cube Projection

Add Checker Texture

Operation

type: object state: toggle

Optionally add a UV Checker Texture.

Setting

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)

Operation

oneOfChoice

type: object state: toggle

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.

{
"version": 1.2,
"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

Operation

type: object state: toggle

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

Setting

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)

Operation

oneOfChoice

type: object state: toggle

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

{
"version": 1.2,
"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

Operation

type: object

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

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

Operation

type: object state: toggle

Removal of small features or invisible interior geometry.

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

Occlusion Culling

Operation

type: object state: toggle

Removes occluded (invisible) triangles.

{
"version": 1.2,
"meshCulling": {
"occlusionCulling": {
"perMesh": false,
"quality": "default",
"ignoreTransparency": false,
"diffusion": "none",
"runAfterDecimator": true
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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)control if neighbours of visible triangles are also flagged as visible

Small Feature Culling

Operation

type: object state: toggle

Removes small features (mesh lumps).

Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Run After DecimatorrunAfterDecimatorexpertBoolean (true)if true, removes small features after decimation

Size Threshold

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

Relative Percentage (bbox)

oneOfChoice

{
"version": 1.2,
"meshCulling": {
"smallFeatureCulling": {
"sizeThreshold": {
"percentage": 0.0
},
"runAfterDecimator": true
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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)

oneOfChoice

{
"version": 1.2,
"meshCulling": {
"smallFeatureCulling": {
"sizeThreshold": {
"value": 1.0
},
"runAfterDecimator": true
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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

Operation

type: object state: toggle

The Optimize operation 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

oneOfChoice

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

Operation

oneOfChoice

type: object

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.

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
},
"keepTiledUVs": false,
"tilingThreshold": 1.5
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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

Operation

oneOfChoice

type: object state: toggle

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.

{
"version": 1.2,
"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
},
"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

Operation

type: object state: toggle

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

info

Part of Material Regenerator.

tip

Other instances of this object also exist in remesher and decimator sections.

Setting

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

Operation

type: object state: toggle

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.

tip

Other instances of this object also exist in remesher and decimator sections.

Setting

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 ResolutionpowerOfTwoResolutionexpertstring [none, ceil, floor, round] (ceil)ensures that textures have power of two dimensions
Inpainting RadiusinpaintingRadiusexpertnumber [>= 0 && <= 32] (32)radius, in pixels, for texture inpainting

Texture Baking Resolution

Settings Group

type: object

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

info

Part of Texture Baker.

Setting

state: toggle

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

Operation

type: object state: toggle

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

info

Part of Texture Baker.

Setting

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)
Tangent Space Normal MapstangentSpaceexpertboolean (true)switches between tangent-/object-space normal maps

Ambient Occlusion Map Baker

Operation

type: object state: toggle

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

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)

Operation

oneOfChoice

type: object state: toggle

Similar option and choices as in the 3D Edit Section:

{
"version": 1.2,
"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 Group

type: object

Settings for the 3D Processor Default Material.

Setting

Settings
Same Settings as in 3D Edit Section

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

Operation

oneOfChoice

type: object state: toggle

Similar to Material Replacer Option within 3D Edit section.

{
"version": 1.2,
"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

Operation

type: object

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

Settings
Same Settings as in 3D Edit Section

Keep Materials and UVs

Operation

oneOfChoice

type: object state: toggle

Preserves original materials and texture coordinates.

Optional choice of:

info

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

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"keepMaterialsUVs": {
"forceNormalRebaking": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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

Operation

type: object

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

Settings
Same Settings as in 3D Edit Section

Generate 2nd UV Atlas

Operation

type: object state: toggle

Optionally generated a 2nd UV Set.

{
"version": 1.2,
"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": {}
}
}
}
]
}
Setting

Settings
Same Settings as in Generate UV Atlas Section

2nd UV Atlas Texture Baker

Operation

type: object state: toggle

Texture Baking Settings for baking into 2nd UV atlas.

Setting

Settings
Same Settings as in Texture Baker Section

2nd UV Texture Baking Resolution

Settings Group

type: object

Texture Baking Resolution for baking into 2nd UV atlas.

Setting

state: toggle

Settings
Same Settings as in Texture Baking Resolution Section

2nd UV Ambient Occlusion Map Baker

Operation

type: object state: toggle

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.

Setting

Settings
Same Settings as in Ambient Occlusion Map Baker Section

UV Aggregator

Operation

oneOfChoice

type: object state: toggle

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

Optional choice of:

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"onlyMaterial": {
"materialUVAggregator": {
"allowRectangularAtlases": true,
"forceNormalRebaking": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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

Operation

type: object

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

Settings
Same Settings as in 3D Edit Section

Generate 2nd UV Atlas

Operation

type: object state: toggle

Optionally generated a 2nd UV Set.

{
"version": 1.2,
"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": {}
}
}
}
]
}
Setting

Settings
Same Settings as in Generate UV Atlas Section

2nd UV Atlas Texture Baker

Operation

type: object state: toggle

Texture Baking Settings for baking into 2nd UV atlas.

Setting

Settings
Same Settings as in Texture Baker Section

2nd UV Texture Baking Resolution

Settings Group

type: object

Texture Baking Resolution for baking into 2nd UV atlas.

Setting

Settings
Same Settings as in Texture Baking Resolution Section

2nd UV Ambient Occlusion Map Baker

Operation

type: object state: toggle

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.

Setting

Settings
Same Settings as in Ambient Occlusion Map Baker Section

Mesh and Material Optimization

oneOfChoice

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

Operation

oneOfChoice

type: object

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.

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {},
"method": "voxelization",
"resolution": 0,
"filterBackProjected": false,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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)
Filter Back ProjectedfilterBackProjectedadvancedboolean (false)avoids reconstructing backside faces when remeshing
caution

The setting filterBackProjected currently (as of CLI v7.2.0) only works with method shrinkwrap.

Faces (Target)

Face Targets for the Decimation Operation after the initial Remeshing.

Faces Percentage

oneOfChoice

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

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% results in exactly the original mesh resolution of the input, as the remeshed surface is always decimated after the initial remeshing. The initial resolution of the remeshing process can be steered with the remeshing resolution setting.

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

Faces Value

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"faces": {
"value": 1
}
},
"method": "voxelization",
"resolution": 0,
"filterBackProjected": false,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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).

Vertices (Target)

Vertices Targets for the Decimation Operation after the initial Remeshing.

info

The vertices target can be set in addition to the face target. Whichever target is lower is respected. The vertices target is not required and thus face targets can be used in the same way as with 3D Processor v7.0.0

Vertices Percentage

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"vertices": {
"percentage": 100.0
}
},
"method": "voxelization",
"resolution": 0,
"filterBackProjected": false,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Vertices Percentagepercentagebasicnumber [>= 0 && <= 100] (100)Vertices Percentage target relative to the input data
tip

The default of 100% results in exactly the original mesh resolution of the input, as the remeshed surface is always decimated after the initial remeshing. The initial resolution of the remeshing process can be steered with the remeshing resolution setting.

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

Vertices Value

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"vertices": {
"value": 1
}
},
"method": "voxelization",
"resolution": 0,
"filterBackProjected": false,
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
}
}
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Vertices Valuevaluebasicinteger [>= 1] (1)Faces Value target in vertices

Material Merger (Remesher)

Operation

type: object

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.

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"remesher": {
"target": {
"faces": {
"percentage": 100.0
}
},
"method": "voxelization",
"resolution": 0,
"filterBackProjected": false,
"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

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)

Operation

oneOfChoice

type: object

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.

{
"version": 1.2,
"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
},
"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,
"filterBackProjected": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Generate UV Atlas (Remesher)

Operation

type: object state:toggle

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

Setting

Settings
Same Settings as in Generate UV Atlas Section within Material Optimization

Texture Baker (Remesher)

Operation

type: object state:toggle

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

Setting

Settings
Same Settings as in Texture Baker Section within Material Optimization

Texture Baking Resolution (Remesher)

Settings Group

type: object

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

info

Part of Texture Baker.

Setting

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

Normal Map Baker (Remesher)

Operation

type: object state:toggle

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

info

Part of Texture Baker.

Setting

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

Ambient Occlusion Baker (Remesher)

Operation

type: object state:toggle

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

info

Part of Texture Baker.

Setting

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

Material Regenerator + Material Replacer + Default Material (Remesher)

Operation

oneOfChoice

type: object

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

{
"version": 1.2,
"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,
"filterBackProjected": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Default Material Settings (Remesher)

Settings Group

type: object

Settings for the 3D Processor Default Material.

Setting

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

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

Operation

oneOfChoice

type: object

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

{
"version": 1.2,
"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,
"filterBackProjected": false
}
}
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}

Drop Uniform Texture Maps (Remesher)

Operation

type: object

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

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

Decimator


Operation

oneOfChoice

type: object

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.

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

tip

Get started using the Decimator with the 3D Processor CLI Decimation Tutorial here.

{
"version": 1.2,
"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

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

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"percentage": 100
},
"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

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

oneOfChoice

{
"version": 1.2,
"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

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.

Vertices (Target)

Vertices Targets for the Decimation Operation.

info

The vertices target can be set in addition to the face target. Whichever target is lower is respected. The vertices target is not required and thus face targets can be used in the same way as with 3D Processor v7.0.0

Vertices Percentage

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"vertices": {
"percentage": 100
},
"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

Setting TitleSetting NameLevelType [Range] (Default)Description
Vertices Percentagepercentagebasicnumber [>= 0 && <= 100] (100)Vertices Percentage target relative to the input data

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

Vertices Value

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"vertices": {
"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

Setting TitleSetting NameLevelType [Range] (Default)Description
Vertices Valuevaluebasicinteger [>= 1] (1)Faces Value target in vertices

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

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"vertices": {
"percentage": 100
},
"deviation": {
"percentage": 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": {}
}
}
}
]
}
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

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

Deviation Value

oneOfChoice

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"vertices": {
"percentage": 100
},
"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": {}
}
}
}
]
}
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

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)

Operation

oneOfChoice

type: object

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.

{
"version": 1.2,
"optimize": {
"3dModelOptimizationMethod": {
"meshAndMaterialOptimization": {
"decimator": {
"target": {
"faces": {
"value": 1
},
"deviation": {
"value": 0.0
}
},
"materialOptimization": {
"materialMerger": {
"materialRegenerator": {
"uvAtlasGenerator": {
"textureBaker": {
"normalMap": {}
}
}
},
"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": {}
}
}
}
]
}
Setting

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)

Operation

oneOfChoice

type: object

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)

Operation

type: object state: toggle

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

{
"version": 1.2,
"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
},
"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": {}
}
}
}
]
}
Setting

Settings
Same Settings as in Generate UV Atlas Section within Material Optimization

Texture Baker (Decimator)

Operation

type: object state: toggle

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

Settings
Same Settings as in Texture Baker Section within Material Optimization

Texture Baking Resolution (Decimator)

Settings Group

type: object

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

info

Part of Texture Baker.

Setting

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

Normal Map Baker (Decimator)

Operation

type: object state: toggle

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

info

Part of Texture Baker.

Setting

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

Ambient Occlusion Baker (Decimator)

Operation

type: object state: toggle

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

info

Part of Texture Baker.

Setting

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

Material Regenerator + Material Replacer + Default Material (Decimator)

Operation

oneOfChoice

type: object

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

{
"version": 1.2,
"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 Group

type: object

Settings for the 3D Processor Default Material.

Setting

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

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

Operation

oneOfChoice

type: object

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

{
"version": 1.2,
"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)

Operation

type: object

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

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

Keep Materials and UVs (Decimator)


Operation

oneOfChoice

type: object

Preserves original materials and texture coordinates throughout the decimation process.

tip

Learn more about Decimation and keeping UV Coordinates in the 3D Processor CLI Tutorials here.

Optional choice of:

{
"version": 1.2,
"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

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)

Operation

oneOfChoice

type: object state: toggle

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.

{
"version": 1.2,
"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": {}
}
}
}
]
}
Setting

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

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

Operation

type: object state: toggle

Optionally generated a 2nd UV Set.

{
"version": 1.2,
"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": {}
}
}
}
]
}
Setting

Settings
Same Settings as in Generate UV Atlas Section

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

Operation

type: object state: toggle

Texture Baking Settings for baking into 2nd UV atlas.

Setting

Settings
Same Settings as in Texture Baker Section

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

Settings Group

type: object

Texture Baking Resolution for baking into 2nd UV atlas

Setting

Settings
Same Settings as in Texture Baking Resolution Section

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

Operation

type: object state: toggle

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.

Setting

Settings
Same Settings as in Ambient Occlusion Map Baker Section

UV Aggregator (Decimator)

Operation

oneOfChoice

type: object

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

{
"version": 1.2,
"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

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)

Operation

type: object

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.

{
"version": 1.2,
"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": {}
}
}
}
]
}
Setting

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

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

Operation

type: object state: toggle

Optionally generated a 2nd UV Set.

{
"version": 1.2,
"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": {}
}
}
}
]
}
Setting

Settings
Same Settings as in Generate UV Atlas Section

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

Operation

type: object state: toggle

Texture Baking Settings for baking into 2nd UV atlas.

Setting

Settings
Same Settings as in Texture Baker Section

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

Settings Group

type: object

Texture Baking Resolution for baking into 2nd UV atlas

Setting

Settings
Same Settings as in Texture Baking Resolution Section

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

Operation

type: object state: toggle

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.

Setting

Settings
Same Settings as in Ambient Occlusion Map Baker Section

Animation Optimization

Operation

type: object state: toggle

Settings for animation optimization.

{
"version": 1.2,
"optimize": {
"animationOptimization": {
"simplification": "conservative"
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Animation Curve Simplificationsimplificationbasicstring [conservative, aggressive, extreme] (conservative)specify how much to simplify animation curves

Modifier

Operation

type: object state: toggle

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

Operation

oneOfChoice

type: object state: toggle

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

{
"version": 1.2,
"modifier": {
"filesize": {
"maxMegabytesOnDisk": 5.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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

Operation

oneOfChoice

type: object state: toggle

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.

{
"version": 1.2,
"modifier": {
"screensize": {
"pixelTarget": 1024.0
}
},
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Pixel Targetscreensizebasicnumber [>= 0 AND <= 7680] (1024)Target size on screen in pixel (width and height)

Export

Operation

type: array state: toggle

Specification and customization of export options.

note

The 🔶RapidPipeline 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.

{
"version": 1.2,
"export": [
{
"fileName": "",
"textureMapFilePrefix": "",
"discard": {},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

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 or re-encode texture files

Texture Re-encoding

Setting optionDescription
auto= copyLossy
neverNever re-encode textures, if they can be copied from input data instead
copyLossySkip re-encoding files that were lossy already (compressed) - if possible, copy from input data instead
alwaysAlways re-encode textures, even if lossy

Discard on Export

Settings Group

type: object

Discard properties on export.

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": false
},
"format": {
"gltf": {
"pbrMaterial": {}
}
}
}
]
}
Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Discard unused UVsunusedUVsexpertboolean (false)Discards UV coordinates which are not used by any material(s)
Discard empty nodesemptyNodesexpertboolean (false)Discards empty nodes

Format

Settings Group

type: object

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

Settings Group

oneOfChoice

type: object

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

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": 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

Setting TitleSetting NameLevelType [Range] (Default)Description
Geometry CompressiongeometryCompressionbasicstring [none, draco, dracoLossy, meshQuantization] (none)desired geometry compression (currently only available for glTF/glb/vrm export)
Exclude TangentsexcludeTangentsadvancedboolean (true)prevents export of tangent data, expects render client to compute them in MikkTSpace

Draco Compression Settings

Settings Group

type: object

Setting

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 Group

type: object

Settings for the glTF PBR Material.

Setting

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

Settings Group

type: object

Format for exported texture maps.

info

Part of glTF PBR Material.

Setting

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 Group

type: object

Settings for the maximum resolution for exported texture maps.

info

Part of glTF PBR Material.

Setting

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

Settings Group

type: object

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

info

Part of glTF PBR Material.

JPG Compression Settings

Settings Group

type: object

Setting

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

Settings Group

type: object

Setting

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

Settings Group

type: object

Setting

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

Settings Group

oneOfChoice

type: object

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

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": false
},
"format": {
"glb": {
"pbrMaterial": {},
"geometryCompression": "none",
"excludeTangents": true,
"draco": {
"positionQuantization": 14,
"normalQuantization": 10,
"uvQuantization": 12,
"boneWeightsQuantization": 12
}
}
}
}
]
}
Setting

Settings
Same Settings as in glTF Format

vrm

Settings Group

oneOfChoice

type: object

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

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": false
},
"format": {
"vrm": {
"pbrMaterial": {},
"geometryCompression": "none",
"excludeTangents": true,
"draco": {
"positionQuantization": 14,
"normalQuantization": 10,
"uvQuantization": 12,
"boneWeightsQuantization": 12
}
}
}
}
]
}
Setting

Settings
Same Settings as in glTF Format

usd, usda, usdc, usdz

usd

Settings Group

oneOfChoice

type: object

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

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": 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

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 Group

type: object

Settings for the USD Preview Surface Material.

Texture Format

Settings Group

type: object

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

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 Group

type: object

Settings for the maximum resolution for exported texture maps.

info

Part of USD Preview Surface Material.

Setting

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

Settings Group

type: object

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

info

Part of USD Preview Surface Material.

Setting

Settings
Same Settings as in glTF PBR Material

Adobe Standard Material

Settings Group

type: object

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.

caution

Currently ASM is only supported if the input already carries ASM nodes. 3D Processor is not writing out ASM from non-ASM input data.

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": 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

Settings Group

type: object

Format for exported texture maps.

info

Part of Adobe Standard Material.

Setting

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 Group

type: object

Settings for the maximum resolution for exported texture maps.

info

Part of Adobe Standard Material.

Setting

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

Settings Group

type: object

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

info

Part of Adobe Standard Material.

Setting

Settings
Same Settings as in glTF PBR Material

usda

Settings Group

oneOfChoice

type: object

Setting

Settings
Same Settings as in usd Format

usdc

Settings Group

oneOfChoice

type: object

Setting

Settings
Same Settings as in usd Format

usdz

Settings Group

oneOfChoice

type: object

Setting

Settings
Same Settings as in usd Format

fbx

Settings Group

oneOfChoice

type: object

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

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": 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

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 Group

type: object

Settings for the 3ds Max Physical Material.

caution

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

Texture Format

Settings Group

type: object

info

Part of 3ds Max Physical Material.

Setting

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

Settings Group

type: object

info

Part of 3ds Max Physical Material.

Setting

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

Settings Group

type: object

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

info

Part of 3ds Max Physical Material.

Setting

Settings
Same Settings as in glTF PBR Material

obj

Settings Group

oneOfChoice

type: object

Writes out and sets settings for the Wavefront Object File Format - obj.

{
"version": 1.2,
"export": [
{
"fileName": "",
"preserveTextureFilenames": false,
"textureMapFilePrefix": "",
"reencodeTextures": "auto",
"discard": {
"unusedUVs": false,
"emptyNodes": false
},
"format": {
"obj": {
"mtl": {
"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
}
},
"displacementToNormalMapAlpha": false
},
"preferredUVChannel": 0
}
}
}
]
}
Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Preferred UV ChannelpreferredUVChannelintegerinteger [>= 0] (0)if an export format does not support multiple UV channels, pick the one set here

mtl

Settings Group

type: object

The .mtl Material file written out with .obj files.

Setting

Setting TitleSetting NameLevelType [Range] (Default)Description
Displacement to Normal Map Alpha ChanneldisplacementToNormalMapAlphabasicboolean (false)bakes displacement values into the normal map's alpha channel

PBR material references

As the PBR material standard is not streamlined with .obj and .mtl files, we recommend using the following syntax (reference: https://en.wikipedia.org/wiki/Wavefront_.obj_file#Physically-based_rendering):

TextureSingle ValueMap Inputexample
basecolorKdmap_Kdmap_kd material0_albedo.jpg
normal/normnorm material0_normal.png
occlusion/occlusionocclusion material0_occlusion.jpg
metallicPmmap_Pmmap_Pm material0_metallic.jpg
roughnessPrmap_Prmap_Pr material0_roughness.jpg
emissionKemap_kemap_Ke material0_emission.jpg

Texture Format

Settings Group

type: object

info

Referenced in .mtl Material File.

Setting

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
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 roguhness 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
Displacement Map Formatdisplacementadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported displacement maps
Diffuse Map Formatdiffuseadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported diffuse maps
Specular Map Formatspecularadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for exported specular maps
Glossiness Map Formatglossinessadvancedstring [auto, jpg, png, png8, webp, ktx-basis-etc1s, ktx-basis-uastc] (auto)format for glossiness maps

Maximum Texture Resolution

Settings Group

type: object

Setting

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 Metallic Map Resolutionmetallicadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported metallic maps
Maximum Roughness Map Resolutionroughnessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported roguhness maps
Maximum Occlusion Map Resolutionocclusionadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported occlusion color 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 Displacement Map Resolutiondisplacementadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported displacement maps
Maximum Diffuse Map Resolutiondiffuseadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported diffuse maps
Maximum Specular Map Resolutionspecularadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported specular maps
Maximum Glossiness Map Resolutionglossinessadvancedinteger [>= 0 && <= 16384] (16384)maximum resolution for exported glossiness maps

Texture Compression Settings

Settings Group

type: object

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

Setting

Settings
Same Settings as in glTF PBR Material

other formats

Documentation coming Soon ✨✨✨

For now check out the 3D Processing Schema

ply

Settings Group

oneOfChoice

type: object

ctm

Settings Group

oneOfChoice

type: object

stl

Settings Group

oneOfChoice

type: object