Configuration and Settings

 
 

Parameter Settings

 
Important Note CLI Settings:

These parameter settings refer to the CLI usage. At this point in time the settings are both usable with the CLI and API. However this is going to change for the API. Therefore they are already flagged as deprecated in the RapidCompact REST API. Please read the REST API documentation for more information. Note that this change is not true for the CLI and the settings will be valid.

You can download all settings in json format here.

Main Settings

back to top

 

Mesh Operations

Name Type Default Valid Range Quick Description
compact:removeInvisibleGeometry Flag false {true, false} remove invisible triangles after decimation, but before unwrapping
compact:removeSmallFeatures String or % a percentage or absolute value for bounding box relative to total bounding box below which lumps are removed

 
Flattening

Name Type Default Valid Range Quick Description
flattening:mode String auto {'auto', 'byOpacity', 'byMaterial', 'full', 'none'} mode to be used for flattening

 
Model Import

Name Type Default Valid Range Quick Description
import:rotateZUp Flag false {true, false} turns rotation to z-axis pointing upwards on/off
back to top

 
Model Export

Name Type Default Valid Range Quick Description
export:centerModel Flag false {true, false} centers the model around the coordinate origin before export
export:displacementToNormalMapAlpha Flag false {true, false} bakes displacement values into the normal map's alpha channel
export:excludeTangents Flag false {true, false} prevents export of tangent data, expects render client to compute them in MikkTSpace
export:preferBinaryFormat Flag true {true, false} turns export in binary format on/off (if available)
export:unlitMaterials Flag false {true, false} enables that all materials are specified as unlit, for .gltf/.glb export
export:jpgQuality Int 90 {1 .. 100} quality (in percent) of images exported as JPG
export:jpgQualityNormals Int 95 {1 .. 100} quality (in percent) of images with normal data exported as JPG
export:maxBaseColorMapResolution Int 16384 {1 .. 16384} maximum resolution for exported base color and diffuse maps
export:maxDisplacementMapResolution Int 16384 {1 .. 16384} maximum resolution for exported displacement maps
export:maxEmissiveMapResolution Int 16384 {1 .. 16384} maximum resolution for exported emissive maps
export:maxGenericMapResolution Int 16384 {1 .. 16384} maximum resolution for exported generic maps
export:maxMetallicMapResolution Int 16384 {1 .. 16384} maximum resolution for exported metallic maps
export:maxNormalMapResolution Int 16384 {1 .. 16384} maximum resolution for exported normal maps
export:maxOcclusionMapResolution Int 16384 {1 .. 16384} maximum resolution for exported AO maps
export:maxRoughnessMapResolution Int 16384 {1 .. 16384} maximum resolution for exported roughness, specular and glossiness maps
export:mipmapCount Int 1 {1 .. inf} number of mipmap levels generated on export (only supported for KTX2 files)
export:preferredUVChannel Int 0 {0 .. inf} if an export format does not support multiple UV channels, pick the one set here
export:scaling Real 1 {2.2250738585072014e-308 .. inf} asset scaling before export, does not affect asset for further processing
export:baseColorMapFormat String auto jpg; png desired output file format for base color maps
export:displacementMapFormat String auto jpg; png desired output file format for displacement maps
export:emissiveMapFormat String auto jpg; png desired output file format for emissive maps
export:geometryCompression String none none; draco; dracoLossy desired geometry compression (currently only available for GLTF/GLB export)
export:metallicMapFormat String auto jpg; png desired output file format for metallic maps
export:normalMapFormat String auto jpg; png desired output file format for normal maps
export:occlusionMapFormat String auto jpg; png desired output file format for occlusion maps
export:roughnessMapFormat String auto jpg; png desired output file format for roughness maps
export:textureMapFilePrefix String prefix to be used for texture map names


Compact Settings (Asset Simplification)

back to top

 
Mesh Decimation

Name Type Default Valid Range Quick Description
decimation:collapseUnconnectedVertices Flag true {true, false} switches collapsing of nearby, unconnected vertices on/off
decimation:preserveMaterialBorders Flag false {true, false} preserves mesh material borders during decimation
decimation:preserveTiledUVs Flag true {true, false} preserves repeating texture coordinates during decimation
decimation:preserveTopology Flag true {true, false} switches computation of new normals after decimation on or off
decimation:preserveUVs Flag false {true, false} preserves texture coordinates during decimation
decimation:recomputeNormals Flag true {true, false} switches computation of new normals after decimation on or off
decimation:boundaryPreservationFactor Real 0.5 {0 .. 1} factor to steer preservation of boundaries during decimation
decimation:collapseDistanceThreshold Real 0.005 {0 .. 0.10000000000000001} threshold w.r.t BBox diagonal for collapsing nearby vertices
decimation:qualityWeight Real 0 {0 .. 1} weights for vertex quality values during decimation, if any
decimation:tiledUVThreshold Real 1.5 {1 .. inf} UV extent after which a UV channel is considered repeating (= tiling texture)
decimation:defaultTarget String f:20000 ; f:; %; f:% target parameter for decimation during compact
decimation:method String quadric {'quadric', 'edgeLength'} method to be used for decimation
back to top

 
Compact

Name Type Default Valid Range Quick Description
compact:removeInvisibleGeometry Flag false {true, false} remove invisible triangles after decimation, but before unwrapping
compact:pixelsPerUnitLength Real 0 {0 .. inf} number of pixels per unit length (e.g. per meter)
compact:atlasingMode String separateAlpha {'single', 'separateAlpha', 'separateNormals', 'separateAlphaNormals', 'separateMaterials'} mode used to assign meshes to atlases
compact:powerOfTwoTextures String ceil {'none', 'ceil', 'floor', 'round'} compact ensures that textures have power of two dimensions
compact:removeSmallFeatures String or % a percentage or absolute value for bounding box relative to total bounding box below which lumps are removed


Compression Settings

back to top

Name Type Default Valid Range Quick Description
export:geometryCompression String none none; draco; dracoLossy desired geometry compression (currently only available for GLTF/GLB export)

 
Geometry Compression

Name Type Default Valid Range Quick Description
geoCompression:normalQuantization Int 10 {1 .. 32} bits per normal vertex attribute (if geometry compression is enabled)
geoCompression:positionQuantization Int 14 {1 .. 32} bits per position vertex attribute (if geometry compression is enabled)
geoCompression:uvQuantization Int 12 {1 .. 32} bits per UV vertex attribute (if geometry compression is enabled)
back to top


UV Unwrapping & Segmentation Settings

back to top

 
Mesh Segmentation

Name Type Default Valid Range Quick Description
segmentation:maxPrimitivesPerChart Int 10000 {1 .. inf} limits max number primitives in any UV chart
segmentation:chartAngleDeg Real 130 {0 .. 360} threshold (degrees) for overall curvature of 3D charts
segmentation:cutAngleDeg Real 88 {0 .. 180} threshold (degrees) for cutting sharp edges

 
Mesh Unwrapping

Name Type Default Valid Range Quick Description
unwrapping:cutOverlappingPieces Flag true {true, false} turns removal of UV self-overlaps through cutting on/off
unwrapping:method String isometric {'isometric', 'forwardBijective', 'fixedBoundary', 'fastConformal', 'conformal'} method to be used for UV unwrapping
back to top

 
Chart Packing

Name Type Default Valid Range Quick Description
packing:chartPadding Real 0.000488281 {0 .. 1} relative desired padding around charts inside the UV atlas

 
UV Inpainting

Name Type Default Valid Range Quick Description
inpainting:radius Real 32 {0 .. 32} radius, in pixels, for texture inpainting


Materials, Texture & Baking Settings

back to top

 
Material Settings

Name Type Default Valid Range Quick Description
material:defaultMetallic Real 0 {0 .. 1} default material metallic property
material:defaultRoughness Real 0.5 {0 .. 1} default material roughness property
material:defaultBaseColor String 1 1 1 , , default material base color

Name Type Default Valid Range Quick Description
export:unlitMaterials Flag false {true, false} enables that all materials are specified as unlit, for .gltf/.glb export

Texture Settings

back to top

Name Type Default Valid Range Quick Description
export:displacementMapFormat String auto jpg; png desired output file format for displacement maps
export:displacementToNormalMapAlpha Flag false {true, false} bakes displacement values into the normal map's alpha channel
export:metallicMapFormat String auto jpg; png desired output file format for metallic maps
export:roughnessMapFormat String auto jpg; png desired output file format for roughness maps
export:emissiveMapFormat String auto jpg; png desired output file format for emissive maps
export:normalMapFormat String auto jpg; png desired output file format for normal maps
export:baseColorMapFormat String auto jpg; png desired output file format for base color maps
export:occlusionMapFormat String auto jpg; png desired output file format for occlusion maps
export:textureMapFilePrefix String prefix to be used for texture map names

Baking Settings

back to top  

Name Type Default Valid Range Quick Description
general:normalsComputationMethod String area angle, area weighting method for computation of mesh normals
general:normalsHardAngleDeg Real 60 {0 .. 180} hard angle (degrees) used for normal generation (0 = everything flat, 180 = everything smooth)


Texture Baking
Name Type Default Valid Range Quick Description
baking:fixedAtlasResolution Flag false {true, false} if false, each texture's pixel budget is divided by all atlases
baking:generateDisplacement Flag false {true, false} enables/disables the generation of displacement maps
baking:generateNormal Flag true {true, false} enables/disables the generation of normal maps
baking:tangentSpaceNormals Flag true {true, false} switches between tangent-/object-space normal maps
baking:baseColorMapResolution Int 2048 {1 .. 16384} resolution for baked base color and diffuse maps
baking:displacementMapResolution Int 2048 {1 .. 16384} resolution for baked displacement maps
baking:emissiveMapResolution Int 2048 {1 .. 16384} resolution for baked emissive maps
baking:genericMapResolution Int 2048 {1 .. 16384} resolution for baked generic maps
baking:metallicMapResolution Int 2048 {1 .. 16384} resolution for baked metallic maps
baking:normalMapResolution Int 2048 {1 .. 16384} resolution for baked normal maps
baking:occlusionMapResolution Int 2048 {1 .. 16384} resolution for baked AO maps
baking:roughnessMapResolution Int 2048 {1 .. 16384} resolution for baked roughness, specular and glossiness maps
baking:sampleCount Int 4 {1, 4, 8} number of samples per texel for texture baking
baking:forcedDisplacementMax Real 0 {-inf .. inf} (see baking:forcedDisplacementMin)
baking:forcedDisplacementMin Real 0 {-inf .. inf} when forcedDisplacementMax and forcedDisplacementMax are given and valid (min < max), their values are used to clamp and normalize the final entries in the displacement map
back to top

 
Ambient Occlusion

Name Type Default Valid Range Quick Description
ao:enabled Flag false {true, false} turns AO (Ambient Occlusion) generation on/off
ao:replaceMissingAlbedo Flag false {true, false} turns replacement of missing base color by AO map on/off
ao:textureSamples Int 32 {0 .. 64} number of samples per texel for AO map generation
ao:vertexSamples Int 100 {1 .. 1024} number of samples per vertex for AO generation
ao:filterRadius Real 5 {0 .. 16} filter radius for smoothing the AO map (if any)