Skip to main content

Configuration

info

This page is a work in progress. Please refer to our legacy CLI docs for most up to date version.

Configuration and Settings

Creating and Using a Config File

Some parameters for RapidCompact CLI are directly available with the respective commands. However, many relevant options (like the choice of a specific algorithm for a certain task, or the resolution for a specific type of texture image) are only available via the settings mechanism of RapidCompact CLI. The ratio behind this is to ease usage of the command line, especially for users that are not familiar with all the details, while still allowing you to configure all relevant parameters when necessary.

One way to configure the settings is to use a config file. The config file is a text file in JSON format, which can be easily edited. To create one that already contains the default values for all the available settings, use the command write_config with a filename. Example:


rpdx --write_config rpd_config.json

Additionally it is possible to just use the short command write_config without an argument. The resulting file will always be named as default: rpd_config.json Example:


rpdx --write_config

This example writes a config file with filename "rpd_config.json". This special filename is used by RapidCompact CLI to check, on startup, for an existing config file inside the current directory. If the file has another filename, or if it is placed at another location, you can use the read_config command to read it when launching RapidCompact CLI. Example:


rpdx --read_config someDirectory/myConfig.json

Changing the settings inside a config file is pretty straightforward - just use your favorite text editor to alter the default values and save the file. When looking into a config file, you will notice that settings' names are using a URN-like scheme, separating several parts of the name by a colon. Examples:


[...]
"decimation:method" : "quadric",
"rendering:imageWidth" : 1024,
"rendering:imageHeight" : 1024,
[...]

The colons are used to separate different parts of each setting's name, where the first part is always the subsystem of RapidCompact CLI that uses the setting. In the above example, for instance, the prefix "rendering" tells us that the following part "imageWidth" refers to a setting inside that subsystem (and nowhere else). For example, the width of images for texture generation will not be affected by this setting.

Changing Settings using the Command Line

Sometimes, you might want to try out different settings without having to use a config file. This is easily possible by using the command set (shorthand: s). Example:


rpdx -i myMesh.ply -s decimation:method edgeLength --decimate v:10% -e myMesh-decimated.ply

In this example, a mesh is loaded and its 3D geometry is decimated to 10% of the original vertices. Instead of using the standard decimation method or the one from the default config file, it is explicitly set to edgeLength before the decimater is used.

In general, the default value of a setting can be overriden in both ways, using a config file or using the command line. Both methods, using a config file and using s on the command line, override the current values of the given settings, so the current value of a setting also depends on the order in which previous read_config or s commands are executed. If you have use for this, you can also split up one large config file into multiple smaller ones, to separate different aspects of configuration. This is possible since the settings specified inside the config file do not need to be complete. Instead, a config file will only override settings for the parameters that are specified, leaving unspecified settings untouched. Example:


rpdx --read_config decimation_config.json --read_config rendering_config.json ...

Finally, to print the current value of a setting, there is also a get command (shorthand: g).

Changing Logging Verbosity

By default, RapidCompact CLI will print some information to the standard output while executing commands. By specifying a log level, you can influence how verbose this output will be. To do so, use the "logging:infoLevel" setting. The corresponding values are:

  • 0 - NONE: quiet mode, no logging
  • 1 - ERRORS: only errors are shown
  • 2 - WARNINGS: only errors and warnings are shown
  • 3 - INFOS: errors, warnings and regular info messages are shown
  • 4 - DEBUG: verbose mode, all information available is shown

Redirecting CLI Output Streams and Logging Progress

To show warnings or errors to your users in a clean and readable way, you can simply redirect the warning and error streams that the CLI will produce. You can also create a nice progress bar this way, if you're running the CLI behind a visual UI.

  • Setting "general:warningStream" sets the output stream for warning logging. Accepted values are , 'stdout', 'stderr', 'none'. Default is 'stdout'.
  • Setting "general:errorStream" sets the output stream for warning logging. Accepted values are , 'stdout', 'stderr', 'none'. Default is 'stderr'.
  • Setting "general:progressStream" sets the output stream for progress logging. Accepted values are , 'stdout', 'stderr', 'none'. Default is 'none'.

Available Settings

The following table lists all available settings of RapidCompact CLI, grouped by the related functionality or command.

Ambient Occlusion

NameTypeDefaultValid RangeQuick Description
ao:enabledFlagfalse[true, false]turns AO (Ambient Occlusion) generation on/off
ao:replaceMissingAlbedoFlagfalse[true, false]turns replacement of missing base color by AO map on/off
ao:replaceOriginalFlagtrue[true, false]computes a new AO map even if one is present in the input
ao:textureSamplesInt48[8 .. 64]number of samples per texel for AO map generation (converted to a multiple of 8)
ao:vertexSamplesInt100[1 .. 1024]number of samples per vertex for AO generation
ao:filterRadiusReal3[0 .. 16]filter radius for smoothing the AO map (if any)
ao:strengthReal0.85[0 .. 1]strength (intensity) for generated AO maps

Texture Baking

NameTypeDefaultValid RangeQuick Description
baking:bakeCombinedSceneFlagfalse[true, false]bakes the scene as a single entity even if its meshes have transformations
baking:fixedAtlasResolutionFlagfalse[true, false]if false, each texture's pixel budget is divided by all atlases
baking:forceNormalRebakingFlagfalse[true, false]rebakes normal maps when preserving UVs, even if UV overlaps are detected
baking:generateDisplacementFlagfalse[true, false]enables/disables the generation of displacement maps
baking:generateNormalFlagtrue[true, false]enables/disables the generation of normal maps when the input has no normal maps
baking:tangentSpaceNormalsFlagtrue[true, false]switches between tangent-/object-space normal maps
baking:baseColorMapResolutionInt2048[1 .. 16384]resolution for baked base color and diffuse maps
baking:clearcoatMapResolutionInt2048[1 .. 16384]resolution for baked clearcoat maps
baking:clearcoatNormalMapResolutionInt2048[1 .. 16384]resolution for baked clearcoat normal maps
baking:clearcoatRoughnessMapResolutionInt2048[1 .. 16384]resolution for baked clearcoat roughness maps
baking:displacementMapResolutionInt2048[1 .. 16384]resolution for baked displacement maps
baking:emissiveMapResolutionInt2048[1 .. 16384]resolution for baked emissive maps
baking:genericMapResolutionInt2048[1 .. 16384]resolution for baked generic maps
baking:iridescenceMapResolutionInt2048[1 .. 16384]resolution for baked iridescence maps
baking:iridescenceThicknessMapResolutionInt2048[1 .. 16384]resolution for baked iridescence thickness maps
baking:metallicMapResolutionInt2048[1 .. 16384]resolution for baked metallic maps
baking:normalMapResolutionInt2048[1 .. 16384]resolution for baked normal maps
baking:occlusionMapResolutionInt2048[1 .. 16384]resolution for baked AO maps
baking:roughnessMapResolutionInt2048[1 .. 16384]resolution for baked roughness, specular and glossiness maps
baking:sampleCountInt4[1, 4, 8, 16]number of samples per texel for texture baking
baking:sheenColorMapResolutionInt2048[1 .. 16384]resolution for baked sheen color maps
baking:sheenRoughnessMapResolutionInt2048[1 .. 16384]resolution for baked sheen roughness maps
baking:specularColorMapResolutionInt2048[1 .. 16384]resolution for baked specular color maps
baking:specularValueMapResolutionInt2048[1 .. 16384]resolution for baked specular value maps
baking:thicknessMapResolutionInt2048[1 .. 16384]resolution for baked thickness maps
baking:transmissionMapResolutionInt2048[1 .. 16384]resolution for baked transmission maps
baking:forcedDisplacementMaxReal0[-inf .. inf](see baking:forcedDisplacementMin)
baking:forcedDisplacementMinReal0[-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
baking:normalMapScaleReal1[2.2250738585072014e-308 .. inf]normal scaling for the baked normal map (only used on glTF output)
baking:skipNormalsRoughnessThresholdReal0[0 .. 1]roughness value below which difference in normals between source/target are not baked

Compact

NameTypeDefaultValid RangeQuick Description
compact:addUVsToTiledMeshesFlagfalse[true, false]compact unwraps meshes that have tiled UVs and adds additional non-tiling UV layer
compact:aggregateUVsFlagfalse[true, false]if UVs are preserved, combines textures from different materials into a single atlas when possible
compact:allowRectangularPOTTexturesFlagfalse[true, false]create rectangular POT textures when beneficial for auto sized textures
compact:removeInvisibleGeometryFlagfalse[true, false]remove invisible triangles after decimation, but before unwrapping
compact:atlasingFactorInt1[1 .. 10]divide each created atlas into n new atlases
compact:baseColorFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:displacementFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:emissiveFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:metallicFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:normalsFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:occlusionFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:roughnessFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:specularFlatTexThresholdInt0[0 .. 255]per channel maximum distance threshold below which this texture will be replaced with material value
compact:pixelsPerUnitLengthReal0[0 .. inf]number of pixels per unit length (e.g. per meter)
compact:animationSimplificationStringnone['none', 'conservative', 'aggressive', 'extreme']specify how much to simplify animation curves
compact:atlasingModeStringseparateAlpha['single', 'separateAlpha', 'separateNormals', 'separateAlphaNormals', 'separateMaterials']mode used to assign meshes to atlases
compact:materialNamingScriptStringscript for defining material names after baking
compact:nodeNamingScriptStringscript for defining node names during flattening operations
compact:powerOfTwoTexturesStringceil['none', 'ceil', 'floor', 'round']compact ensures that textures have power of two dimensions
compact:qualityStringdefault['fast', 'thorough']specify whether compact should generally try to complete fast or exhaust options
compact:removeSmallFeaturesString or %percentage (relative to the scene's bounding box) or absolute value (in scene units), defining the largest mesh lump bbox sidelength considered small
compact:splitModeStringauto['auto', 'none', 'byOpacity', 'byMaterial']mode used to deal with meshes with multiple materials

Mesh Decimation

NameTypeDefaultValid RangeQuick Description
decimation:collapseUnconnectedVerticesFlagtrue[true, false]switches collapsing of nearby, unconnected vertices on/off
decimation:preserveCommonMeshBordersFlagtrue[true, false]preserves borders (vertices) common between meshes
decimation:preserveMaterialBordersFlagfalse[true, false]preserves mesh material borders during decimation
decimation:preserveNormalsFlagfalse[true, false]preserves vertex normals during decimation
decimation:preserveTiledUVsFlagfalse[true, false]preserves repeating texture coordinates during decimation
decimation:preserveTopologyFlagfalse[true, false]preserves topological features like holes during decimation
decimation:preserveUVsFlagfalse[true, false]preserves texture coordinates during decimation
decimation:recomputeNormalsFlagtrue[true, false]switches computation of new normals after decimation on or off
decimation:boundaryPreservationFactorReal0.5[0 .. 1]factor to steer preservation of boundaries during decimation
decimation:collapseDistanceThresholdReal0.005[0 .. 0.10000000000000001]threshold w.r.t BBox diagonal for collapsing nearby vertices
decimation:tiledUVThresholdReal1.5[1 .. inf]UV extent after which a UV channel is considered repeating (= tiling texture)
decimation:defaultTargetStringf:20000; f:; %; f:%; s:; mbtarget parameter for decimation during compact
decimation:methodStringquadric['quadric', 'edgeLength']method to be used for decimation

Model Export

NameTypeDefaultValid RangeQuick Description
export:centerModelFlagfalse[true, false]centers the model around the coordinate origin before export
export:convertToMetalRoughFlagfalse[true, false]if true, materials are always converted from spec/gloss to rough/metal
export:discardUnusedUVsFlagfalse[true, false]if true, discards unused UV sets on export
export:displacementToNormalMapAlphaFlagfalse[true, false]bakes displacement values into the normal map's alpha channel
export:excludeTangentsFlagtrue[true, false]prevents export of tangent data, expects render client to compute them in MikkTSpace
export:fbxNormalmapYFlipFlagfalse[true, false]flip FBX normalmaps Y axis on export
export:fbxUnitsConversionFlagtrue[true, false]deep convert scene units instead of scaling root node
export:forceDoubleSidedMaterialsFlagfalse[true, false]export all materials as double sided
export:forceSeparateOcclusionMapFlagfalse[true, false]export a occlusion as a separate map instead of including it in the ORM
export:preferBinaryFormatFlagtrue[true, false]turns export in binary format on/off (if available)
export:preserveTextureFilenamesFlagfalse[true, false]keeps he input texture filenames where possible
export:unlitMaterialsFlagfalse[true, false]enables that all materials are specified as unlit, for .gltf/.glb export
export:jpgQualityInt90[1 .. 100]quality (in percent) of images exported as JPG
export:jpgQualityNormalsInt95[1 .. 100]quality (in percent) of images with normal data exported as JPG
export:ktxCompressionSpeedInt2[0 .. 5]compression speed for KTX (0 = fast, 5 = slow but higher quality)
export:ktxQualityInt128[0 .. 255]compression quality for KTX (0 = lowest quality but max compression, 255 = max quality)
export:maxBaseColorMapResolutionInt16384[1 .. 16384]maximum resolution for exported base color and diffuse maps
export:maxClearcoatMapResolutionInt16384[1 .. 16384]maximum resolution for exported clearcoat maps
export:maxClearcoatNormalMapResolutionInt16384[1 .. 16384]maximum resolution for exported clearcoat normal maps
export:maxClearcoatRoughnessMapResolutionInt16384[1 .. 16384]maximum resolution for exported clearcoat roughness maps
export:maxDisplacementMapResolutionInt16384[1 .. 16384]maximum resolution for exported displacement maps
export:maxEmissiveMapResolutionInt16384[1 .. 16384]maximum resolution for exported emissive maps
export:maxGenericMapResolutionInt16384[1 .. 16384]maximum resolution for exported generic maps
export:maxIridescenceMapResolutionInt16384[1 .. 16384]maximum resolution for exported iridescence maps
export:maxIridescenceThicknessMapResolutionInt16384[1 .. 16384]maximum resolution for exported iridescence thickness maps
export:maxMetallicMapResolutionInt16384[1 .. 16384]maximum resolution for exported metallic maps
export:maxNormalMapResolutionInt16384[1 .. 16384]maximum resolution for exported normal maps
export:maxOcclusionMapResolutionInt16384[1 .. 16384]maximum resolution for exported AO maps
export:maxRoughnessMapResolutionInt16384[1 .. 16384]maximum resolution for exported roughness, specular and glossiness maps
export:maxSheenColorMapResolutionInt16384[1 .. 16384]maximum resolution for exported sheen color maps
export:maxSheenRoughnessMapResolutionInt16384[1 .. 16384]maximum resolution for exported sheen roughness maps
export:maxSpecularMapResolutionInt16384[1 .. 16384]maximum resolution for exported specular maps
export:maxThicknessMapResolutionInt16384[1 .. 16384]maximum resolution for exported thickness maps
export:maxTransmissionMapResolutionInt16384[1 .. 16384]maximum resolution for exported transmission maps
export:mipmapCountInt2[1 .. inf]number of mipmap levels generated on export (only supported for KTX2 files)
export:preferredUVChannelInt0[0 .. inf]if an export format does not support multiple UV channels, pick the one set here
export:webpQualityInt93[1 .. 100]quality (in percent) of images exported as WebP
export:webpQualityNormalsInt95[1 .. 100]quality (in percent) of images with normal data exported as WebP
export:scalingReal1[2.2250738585072014e-308 .. inf]asset scaling before export, does not affect asset for further processing
export:baseColorMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for base color maps
export:clearcoatMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for clearcoat maps
export:clearcoatNormalMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for clearcoat normal maps
export:clearcoatRoughnessMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for clearcoat roughness maps
export:displacementMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for displacement maps
export:emissiveMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for emissive maps
export:fbxAxisSystemStringmayaZUp; mayaYUp; max; motionbuilder; opengl; directx; lightwavedesired FBX axis system
export:fbxUnitsStringmmm; dm; cm; m; km; inch; foot; mile; yarddesired FBX system unit
export:geometryCompressionStringnonenone; draco; dracoLossy; meshQuantizationdesired geometry compression (currently only available for GLTF/GLB export)
export:iridescenceMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for iridescence maps
export:iridescenceThicknessMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for iridescence thickness maps
export:metallicMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for metallic maps
export:normalMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for normal maps
export:occlusionMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for occlusion maps
export:overrideMaterialsStringnonenone; defaultsspecify if you want to replace all materials on export with another set of materials
export:roughnessMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for roughness maps
export:sheenColorMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for sheen color maps
export:specGlossMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for specular+glossiness maps
export:specularMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for specular maps
export:textureCopyPolicyStringlossyWhenPossiblewhenPossible; lossyWhenPossible; neverspecify when to copy or re-export (re-encode) texture files
export:textureMapFilePrefixStringprefix to be used for texture map names
export:textureNamingScriptStringscript for defining texture names
export:thicknessMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for thickness maps
export:transmissionMapFormatStringautojpg; png; png8; ktx-basis-etc1s; ktx-basis-uastc; webpdesired output file format for transmission maps
export:uastcQualityStringdefaultdefault; high; balanced; compressed; high+compressedcompression quality for UASTC KTX
export:usdProfileStringarkitarkit; omniverse; genericdesired USD output usage
export:usdUnitsStringcmm; cm; originaldesired USD system unit

Flattening

NameTypeDefaultValid RangeQuick Description
flattening:preservedSceneDepthInt0[0 .. inf]number of layers in the scene structure that should not be flattened
flattening:modeStringauto['auto', 'byOpacity', 'byMaterial', 'full', 'none']mode to be used for flattening

General

NameTypeDefaultValid RangeQuick Description
general:maxConcurrentThreadsInt0[0 .. inf]maximum number of concurrent threads. 0 means no limit (adapts to number of cores), other numbers act as fixed maximum.
general:normalsHardAngleDegReal60[0 .. 180]hard angle (degrees) used for normal generation (0 = everything flat, 180 = everything smooth)
general:normalsComputationMethodStringareaangle, areaweighting method for computation of mesh normals

Geometry Compression

NameTypeDefaultValid RangeQuick Description
geoCompression:boneWeightQuantizationInt12[1 .. 32]bits per bone weights vertex attribute (if geometry compression is enabled)
geoCompression:normalQuantizationInt10[1 .. 32]bits per normal vertex attribute (if geometry compression is enabled)
geoCompression:positionQuantizationInt14[1 .. 32]bits per position vertex attribute (if geometry compression is enabled)
geoCompression:uvQuantizationInt12[1 .. 32]bits per UV vertex attribute (if geometry compression is enabled)

Model Import

NameTypeDefaultValid RangeQuick Description
import:discardAnimationsFlagfalse[true, false]if true, discards any imported animations
import:discardLightsFlagfalse[true, false]if true, discards any imported lights
import:discardMorphTargetsFlagfalse[true, false]if true, discards any imported morph targets (shape keys)
import:discardUnusedUVsFlagfalse[true, false]if true, discards unused UV sets (if possible)
import:fbxNormalmapYFlipFlagfalse[true, false]flip FBX normalmaps Y axis on import
import:recomputeNormalsFlagfalse[true, false]if true, discards the original normals and recomputes them
import:restrictToSubfoldersFlagfalse[true, false]if true, only resources on the asset folder or on its subfolders are loaded
import:rotateZUpFlagfalse[true, false]turns rotation to z-axis pointing upwards on/off
import:alphaMapBlendToMaskThresholdReal1.1[0 .. 2]use alpha masking instead of blending when the alpha map has same or more than the given fraction of black or white pixels
import:alphaMapToOpaqueThresholdReal1[0 .. 1]consider the material opaque if the alpha map mean value is above the given value [0, 1]
import:maxCADTessellationDeviationReal-1[1.0000000000000001e-09 .. 100]maximum deviation of the triangles from the original CAD surface, percentage relative to the bounding box size

UV Inpainting

NameTypeDefaultValid RangeQuick Description
inpainting:radiusReal32[0 .. 32]radius, in pixels, for texture inpainting

Log

NameTypeDefaultValid RangeQuick Description
logging:infoLevelInt3[0 .. 4]logging verbosity (0 = quiet, 4 = debug)

Material Settings

NameTypeDefaultValid RangeQuick Description
material:defaultMetallicReal0[0 .. 1]default material metallic property
material:defaultRoughnessReal0.5[0 .. 1]default material roughness property
material:defaultBaseColorString1 1 1, , default material base color

Chart Packing

NameTypeDefaultValid RangeQuick Description
packing:pixel_distanceInt2[1 .. inf]distance in pixels packing will keep at reference packing resolution
packing:resolutionInt1024[0 .. inf]resolution at which packing will be computed

Remeshing

NameTypeDefaultValid RangeQuick Description
remeshing:enabledFlagfalse[true, false]enables remeshing during compact

Rendering

NameTypeDefaultValid RangeQuick Description
rendering:disableEnvMapFlagfalse[true, false]if true, disables the environment map when rendering PBR
rendering:enableDropShadowFlagtrue[true, false]turns rendering of drop shadow on/off
rendering:showBackFacesFlagfalse[true, false]turns rendering of backfaces on/off
rendering:imageHeightInt1024[1 .. 16384]height to be used for rendered images
rendering:imageWidthInt1024[1 .. 16384]width to be used for rendered images
rendering:sampleCountInt4[1 .. inf]number of samples per pixel for image rendering
rendering:IBLBackgroundBlurReal0.4[0 .. 1]IBL background blur level. 0 not blurred, 1 fully blurred
rendering:IBLIntensityReal1[0 .. 100]Intensity multiplier for the IBL. 1.0 is default
rendering:cameraVerticalFOVDegReal0[0 .. 90]camera vertical field of view in degrees. 0 will use default values
rendering:IBLFilePathStringfile path for the .env IBL to use for rendering. If empty, the default IBL map is used.
rendering:backgroundStringtransparent['transparent', 'white', 'black', 'gradientGray', 'vignette', 'ibl']background to be used for rendered images
rendering:cameraPositionStringautoautocamera position vector for rendering
rendering:cameraUpVectorString0 1 0 camera up direction for rendering
rendering:cameraViewVectorString0 0 -1 camera direction vector for rendering
rendering:shadingModeStringpbr['pbr', 'wireframe', 'flat', 'vs_normals', 'diffuse', 'emissive', 'metallic', 'roughness', 'clearcoat', 'clearcoatRoughness', 'specular', 'specularColor', 'occlusion']rendering method

Mesh Segmentation

NameTypeDefaultValid RangeQuick Description
segmentation:maxPrimitivesPerChartInt10000[1 .. inf]limits max number primitives in any UV chart
segmentation:chartAngleDegReal130[0 .. 360]threshold (degrees) for overall curvature of 3D charts
segmentation:cutAngleDegReal88[0 .. 180]threshold (degrees) for cutting sharp edges

Mesh Unwrapping

NameTypeDefaultValid RangeQuick Description
unwrapping:cutOverlappingPiecesFlagtrue[true, false]turns removal of UV self-overlaps through cutting on/off
unwrapping:maxAngleErrorDegReal114[0 .. inf]the maximum angle (degrees) difference between UV and 3D space beyond which a chart is split and re-unwrapped
unwrapping:methodStringisometric['isometric', 'forwardBijective', 'fixedBoundary', 'fastConformal', 'conformal']method to be used for UV unwrapping

Visibility

NameTypeDefaultValid RangeQuick Description
visibility:perMeshFlagfalse[true, false]switches visibility computation between per mesh and global
visibility:diffusionStringnonenone, conservativecontrol if neighbours of visible triangles are also flagged as visible
visibility:qualityStringdefault['default', 'fast', 'thorough', 'extreme']specify how fast or thorough triangle visibility should be determined