Skip to main content

CLI Migration Guide

Introduction

This guide covers the process of upgrading the RapidCompact CLI v1.4.0-v6.x.x (legacy) to the RapidPipeline 3D Processor CLI v7.0.0 and newer.

It also compares the differences between the versions in terms of commands and general CLI usage, settings and schemas, as well as the JSON configuration settings files.

CLI Commands Differences

caution

The 3D Processor CLI (v.7.0.0 +) and most of the available commands and arguments are not compatible with older versions of the RapidCompact CLI (legacy) and vice versa.

For converting commands and configuration setting JSON files from RapidCompact (legacy) v1 - 6.x to v7.0.0 and newer, please refer to the Conversion Script and Future Updates sections further below.

CLI Commands Comparison Overview

tip

Even though certain legacy commands will not be directly supported within 3D Processor v7.0.0 and newer, most settings and commands can be converted through the Conversion Script.

Commands: General

RC 6.x Command3DP Commandadditional info
-h [--help]-i [ --help ]same behavior
-i [--import]-i [ --import ]same behavior
-e [--export]re-introduction with 3DP v7.2.0 update, in v7.0.0 and 7.1.0 file exports are configured within the settings JSON files, documentation here
-w [--export_web arg]command retired
-p [--print_info]-p [ --print_info ]same behavior
--popcommand retired, for certain operations such as LOD creation a new modifier (scheduled for v7.2.0) will replace the usage of this command
--duplicatecommand retired, with 3DP this functionality is now automated depending on the utilized configuration settings
--flattencommand retired, with 3DP instead the sceneGraphFlattening object now performs the same operation
--scalecommand retired, with 3DP instead the scaleFactor setting in modelEdit object within 3dEdit section now performs the same operation
-g [--get]re-introduction with a future 3DP update, however arguments for this command will change, as settings names and structures changed
-s [--set]re-introduction with a future 3DP update, however arguments for this command will change, as settings names and structures changed
--read_config--read_configsame behavior
--write_config--write_configsame behavior, however 3DP currently only writes out an example of 3D processing settings, as settings are now organized within a object based structure which does not allow for mutually exclusive instructions any more, see the 3D Processing Schema as reference here
--write_metrics--write_metricssame behavior
--write_info--write_infosame behavior
--selfdocumentcommand retired

Commands: Main Operations

RC 6.x Command3DP Commandadditional info
-c [--compact]command retired, with 3DP instead the optimize object specifies the optimization process within the JSON settings files, the new --run command executes the general processing
-u [--unwrap]command retired, with 3DP instead the uvAtlasGenerator within the optimize object specifies the unwrapping process within the JSON settings files
-b [--bake]command retired, with 3DP instead the textureBaker within the optimize object specifies the baking process within the JSON settings files
--triangulatecommand retired, with 3DP triangulation is triggered automatically

Commands: Color Assignment

RC 6.x Command3DP Commandadditional info
--colorize_vertex_aocommand retired
--set_checker_texturecommand retired, with 3DP instead the addCheckerTexture object within defaultMaterial in the 3dEdit section now performs the same operation

Commands: Mesh Modification

RC 6.x Command3DP Commandadditional info
-d [ --decimate ]command retired, with 3DP instead the decimator within the optimize object specifies the decimation process within the JSON settings files
--remove_duplicate_verticescommand retired, with 3DP this functionality is now automated depending on the utilized configuration settings
--remove_invisible_geometrycommand retired, with 3DP instead the occlusionCulling object within the meshCulling section now performs the same operation
--remove_small_featurescommand retired, with 3DP instead the smallFeatureCulling object within the meshCulling section now performs the same operation

Commands: Rendering

RC 6.x Command3DP Commandadditional info
-v [--set_view_matrix]command retired, similar functionality now served by the cameraPosition setting, documentation here
--render_image arg--render argsimilar behavior, however the render command now requires a JSON configuration file validated against the rendering schema, see more documentation here
--render_turntable arg arg--render argsimilar behavior, however the render command now requires a JSON configuration file validated against the rendering schema, see more documentation here

CLI Settings Differences

caution

The 3D Processor CLI (v.7.0.0 +) and corresponding Configuration Settings files (JSON) are NOT compatible with older versions of the RapidCompact CLI (legacy).

RapidCompact CLI Settings (legacy)

The RapidCompact CLI v1-6 does not have a settings schema, settings are directly ingested, potentially resulting in Errors or Warnings.

Settings have no hierarchy (all settings are on the same level).

Settings which exist, but are not specified in the configuration file are still applied in their default state.

tip

For an automated conversion of the CLI commands and settings please refer to the last section of this guide below.

Example (all CLI v6.10.0 compact (general optimization) and decimation category settings with defaults):

{
"compact:addUVsToTiledMeshes": false,
"compact:aggregateUVs": false,
"compact:allowRectangularPOTTextures": false,
"compact:animationSimplification": "none",
"compact:atlasingFactor": 1,
"compact:atlasingMode": "separateAlpha",
"compact:baseColorFlatTexThreshold": 0,
"compact:defaultFlatTexThreshold": 0,
"compact:displacementFlatTexThreshold": 0,
"compact:emissiveFlatTexThreshold": 0,
"compact:materialNamingScript": "",
"compact:metallicFlatTexThreshold": 0,
"compact:nodeNamingScript": "",
"compact:normalsFlatTexThreshold": 0,
"compact:occlusionFlatTexThreshold": 0,
"compact:pixelsPerUnitLength": 0,
"compact:powerOfTwoTextures": "ceil",
"compact:quality": "default",
"compact:removeInvisibleGeometry": false,
"compact:removeSmallFeatures": "",
"compact:roughnessFlatTexThreshold": 0,
"compact:specularFlatTexThreshold": 0,
"compact:splitMode": "auto",
"decimation:boundaryPreservationFactor": 0.5,
"decimation:collapseDistanceThreshold": 0.0050000000000000001,
"decimation:collapseUnconnectedVertices": true,
"decimation:defaultTarget": "f:20000",
"decimation:method": "quadric",
"decimation:preserveCommonMeshBorders": true,
"decimation:preserveMaterialBorders": false,
"decimation:preserveNormals": false,
"decimation:preserveTiledUVs": false,
"decimation:preserveTopology": false,
"decimation:preserveUVs": false,
"decimation:probQuadricStddev": 0,
"decimation:recomputeNormals": true,
"decimation:tiledUVThreshold": 1.5
}
info

All other settings under the following categories are still being applied with their defaults:

ao, baking, compact, export, flattening, general, geoCompression, import, inpainting, logging, material, packing, remeshing, rendering, segmentation, unwrapping, visibility

Read more about RapidCompact CLI legacy settings here

3D Processor CLI Settings

Settings are depending on 3 new schemas:

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

The major differences here are that there are hierarchical settings structures with 2 distinct groups:

  • Objects (setting categories)
  • Settings (within objects)

Example (CLI v7.0.0 optimize and decimation category settings file example with defaults):

{
"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": {}
}
}
}
]
}
info

As per 3D Processing Schema the example above is only one variation of expressing 3D optimization with mesh decimation. Read more about possible configuration settings within optimize here.

In addition, note that the export section is required as with 3D Processor the specification of the export format takes place within the configuration settings file itself.

CLI Settings Comparison Overview

AO

RC 6.x Setting and Type3DP Setting and Typeadditional info
ao:enabled booleanIn 3DP this is now an object: aoBaker, documentation here
ao:filterRadius realfilterRadius realsame behavior, part of aoBaker
ao:replaceMissingAlbedo booleansetting retired
ao:replaceOriginal booleanreplaceOriginal booleansame behavior, part of aoBaker
ao:strength realstrength realsame behavior, part of aoBaker
ao:textureSamples integertextureSamples integersame behavior, part of aoBaker
ao:vertexSamples integersetting retired

Baking

RC 6.x Setting and Type3DP Setting and Typeadditional info
baking:bakeCombinedScene booleanbakeCombinedScene booleansame behavior, part of textureBaker
baking:baseColorMapResolution integerbaseColor integersame behavior, part of bakingResolution of type object within textureBaker
baking:clearcoatMapResolution integerclearcoat integersame behavior, part of bakingResolution of type object within textureBaker
baking:clearcoatNormalMapResolution integerclearcoatNormal integersame behavior, part of bakingResolution of type object within textureBaker
baking:clearcoatRoughnessMapResolution integerclearcoatRoughness integersame behavior, part of bakingResolution of type object within textureBaker
baking:displacementMapResolution integerdisplacement integersame behavior, part of bakingResolution of type object within textureBaker
baking:emissiveMapResolution integeremissive integersame behavior, part of bakingResolution of type object within textureBaker
baking:fixedAtlasResolution booleantexMapAutoScaling booleanthis is now the reverse, the default is also reversed to achieve the same behavior, part of textureBaker
baking:forceNormalRebaking booleansetting retired
baking:forcedDisplacementMax realwill be re-introduced as part of a new displacement baker object
baking:forcedDisplacementMin realwill be re-introduced as part of a new displacement baker object
baking:generateDisplacement booleanwill be re-introduced as new displacement baker object
baking:generateNormal booleanIn 3DP this is now an object: normalMap baker, documentation here
baking:genericMapResolution integerdefault integernow driven by new setting for default texture resolution, part of bakingResolution of type object within textureBaker
baking:iridescenceMapResolution integeriridescence integersame behavior, part of bakingResolution of type object within textureBaker
baking:iridescenceThicknessMapResolution integeriridescenceThickness integersame behavior, part of bakingResolution of type object within textureBaker
baking:metallicMapResolution integermetallic integersame behavior, part of bakingResolution of type object within textureBaker
baking:normalMapResolution integernormal integersame behavior, part of bakingResolution of type object within textureBaker
baking:normalMapScale realnormalMapScale realsame behavior, part of object normalMap baker, documentation here
baking:occlusionMapResolution integerocclusion integersame behavior, part of bakingResolution of type object within textureBaker
baking:recomputeNormals booleanrecomputeNormals booleansame behavior, part of object normalMap baker, documentation here
baking:roughnessMapResolution integerroughness integersame behavior, part of bakingResolution of type object within textureBaker
baking:sampleCount integersampleCount integersame behavior, part of textureBaker
baking:sheenColorMapResolution integersheenColor integersame behavior, part of bakingResolution of type object within textureBaker
baking:sheenRoughnessMapResolution integersheenRoughness integersame behavior, part of bakingResolution of type object within textureBaker
baking:skipNormalsRoughnessThreshold realskipNormalsRoughnessThreshold realsame behavior, part of object normalMap baker, documentation here
baking:specularColorMapResolution integerspecularColor integersame behavior, part of bakingResolution of type object within textureBaker
baking:specularValueMapResolution integerspecularValue integersame behavior, part of bakingResolution of type object within textureBaker
baking:tangentSpaceNormals booleantangentSpace booleansame behavior, part of object normalMap baker, documentation here
baking:thicknessMapResolution integerthickness integersame behavior, part of bakingResolution of type object within textureBaker
baking:topologicalHolesToAlpha booleantopologicalHolesToAlpha booleansame behavior, part of textureBaker
baking:transmissionMapResolution integertransmission integersame behavior, part of bakingResolution of type object within textureBaker

Compact

caution

The compact command is discontinued with 3D Processor. All relevant settings and functionalities are now converted into or are themselves part of objects which cover specific aspects of the compact operation. The majority of these can now be found within the optimize processing category example: compact:aggregateUVs is now the object materialUVAggregator.

RC 6.x Setting and Type3DP Setting and Typeadditional info
compact:addUVsToTiledMeshes booleansetting retired
compact:aggregateUVs booleanIn 3DP this is now an object: materialUVAggregator, documentation here
compact:allowRectangularPOTTextures booleanallowRectangularAtlases booleansame behavior, part of uvAtlasGenerator documentation here
compact:animationSimplification stringsimplification stringsame behavior, part of animationOptimization, documentation here
compact:atlasingFactor integeratlasFactor integersame behavior, part of uvAtlasGenerator documentation here
compact:atlasingMode stringatlasMode stringsame behavior, part of uvAtlasGenerator documentation here
compact:baseColorFlatTexThreshold integerbaseColor integersame behavior, part of dropTextures, documentation here
compact:defaultFlatTexThreshold integerdefault integersame behavior, part of dropTextures, documentation here
compact:displacementFlatTexThreshold integerdisplacement integersame behavior, part of dropTextures, documentation here
compact:emissiveFlatTexThreshold integeremissive integersame behavior, part of dropTextures, documentation here
compact:materialNamingScript stringwill be re-introduced with v7.1 release
compact:metallicFlatTexThreshold integermetallic integersame behavior, part of dropTextures, documentation here
compact:nodeNamingScript stringwill be re-introduced with v7.1 release
compact:normalsFlatTexThreshold integernormal integersame behavior, part of dropTextures, documentation here
compact:occlusionFlatTexThreshold integerocclusion integersame behavior, part of dropTextures, documentation here
compact:pixelsPerUnitLength realwill be re-introduced, automated by screensize object within modifier, documentation here
compact:powerOfTwoTextures stringpowerOfTwoResolution stringsame behavior, part of textureBaker, documentation here
compact:quality stringsetting retired
compact:removeInvisibleGeometry booleanIn 3DP this is now an object: occlusionCulling within meshCulling, documentation here
compact:removeSmallFeatures booleanIn 3DP this is now an object: smallFeatureCulling within meshCulling, documentation here
compact:roughnessFlatTexThreshold integerroughness integersame behavior, part of dropTextures, documentation here
compact:specularFlatTexThreshold integerspecularValue integer, specularColor integersame behavior, part of dropTextures, documentation here
compact:splitMode stringsetting retired

Decimation

caution

The decimate command is already deprecated in RapidCompact 6.x (legacy) and is also discontinued with 3D Processor. All relevant settings and functionalities are now part of the decimator object within the optimize processing category.

RC 6.x Setting and Type3DP Setting and Typeadditional info
decimation:boundaryPreservationFactor realboundaryPreservationFactor realsame behavior, part of decimator object, documentation here
decimation:collapseDistanceThreshold realcollapseDistanceThreshold realsame behavior, part of decimator object, documentation here
decimation:collapseUnconnectedVertices booleancollapseUnconnectedVertices booleansame behavior, part of decimator object, documentation here
decimation:defaultTarget stringIn 3DP this is now an object Faces(Target), part of decimator object, documentation here
decimation:method stringmethod stringsame behavior, part of decimator object, documentation here
decimation:preserveCommonMeshBorders booleanpreserveMeshBorders booleansame behavior, part of decimator object, documentation here
decimation:preserveMaterialBorders booleanpreserveMaterialBorders booleansame behavior, part of decimator object, documentation here
decimation:preserveNormals booleanpreserveNormals booleansame behavior, part of decimator object, documentation here
decimation:preserveTiledUVs booleankeepTiledUVs booleanIn 3DP this is now part of materialMerger object, which also can be part of the decimator object documentation here
decimation:preserveTopology booleanpreserveTopology booleansame behavior, part of decimator object, documentation here
decimation:preserveUVs booleanIn 3DP this is now an object and can be activated as a oneOf choice within onlyMaterial or within the decimator, both are options within optimize
decimation:recomputeNormals booleansetting retired, in 3DP this is now triggered automatically if a decimation takes place and no UV or normal preservation is active.
decimation:tiledUVThreshold realtilingThreshold realIn 3DP this is now part of materialMerger object, which also can be part of the decimator object documentation here

Export

RC 6.x Setting and Type3DP Setting and Typeadditional info
export:baseColorMapFormat stringbaseColor (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:centerModel booleancenterModel booleansame behavior, part of export object, documentation here
export:clearcoatMapFormat stringclearcoat (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:clearcoatNormalMapFormat stringclearcoatNormal (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:clearcoatRoughnessMapFormat stringclearcoatRoughness (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:convertToMetalRough booleanconvertMetalRoughness (glTF) booleansame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:discardUnusedUVs booleanunusedUVs booleansame behavior, now part of discard object within export, documentation here
export:displacementMapFormat stringdisplacement stringsame behavior, now part of each specific 3D format's material settings, see example for the usd format here
export:displacementToNormalMapAlpha booleandisplacementToNormalMapAlpha booleansame behavior, now part of obj format's mtl settings, documentation here
export:emissiveMapFormat stringemissive (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:excludeTangents booleanexcludeTangents booleansame behavior, now part of each specific 3D format's settings within export, see example for the glTF format here
export:fbxAxisSystem stringaxisSystem stringsame behavior, now part of fbx format's settings within export, documentation here
export:fbxNormalmapYFlip booleanflipNormalmapY booleansame behavior, now part of fbx format's settings within export, documentation here
export:fbxUnits stringunits stringsame behavior, now part of fbx format's settings within export, documentation here
export:fbxUnitsConversion booleanunitConversion booleansame behavior, now part of fbx format's settings within export, documentation here
export:forceDoubleSidedMaterials booleanforceDoubleSidedMaterials (glTF) booleannow part of each specific 3D format's settings within export, see example for the glTF format here
export:forceSeparateOcclusionMap booleanseparateOcclusionMap booleannow part of each specific 3D format's settings within export, see example for the glTF format here
export:geometryCompression stringgeometryCompression (glTF) stringsame behavior, now part of glTF, glb, vrm's format's settings within export, documentation here
export:gltfIgnorePbrExtensions booleanexcludePbrExtensions booleansame behavior, now part of glTF, glb, vrm's format's material settings within export, documentation here
export:iridescenceMapFormat stringiridescence (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:iridescenceThicknessMapFormat stringiridescenceThickness (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:jpgQuality integerquality integersame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here
export:jpgQualityNormals integerqualityNormals integersame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here
export:ktxCompressionSpeed integercompressionSpeed integersame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here
export:ktxQuality integerquality integersame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here
export:maxBaseColorMapResolution integerbaeColor (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxClearcoatMapResolution integerclearcoat (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxClearcoatNormalMapResolution integerclearcoatNormal (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxClearcoatRoughnessMapResolution integerclearcoatRoughness (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxDisplacementMapResolution integerdisplacement integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxEmissiveMapResolution integeremissive (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxGenericMapResolution integersetting retired
export:maxIridescenceMapResolution integeriridescence (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxIridescenceThicknessMapResolution integeriridescenceThickness (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxMetallicMapResolution integermetallicRoughness (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxNormalMapResolution integernormal (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxOcclusionMapResolution integerocclusion (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxRoughnessMapResolution integermetallicRoughness (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxSheenColorMapResolution integersheenColor (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxSheenRoughnessMapResolution integersheenRoughness (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxSpecularMapResolution integerspecular (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxThicknessMapResolution integerthickness (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:maxTransmissionMapResolution integertransmission (glTF) integersame behavior, now part of each specific 3D format's material settings, see example for the glTF format's maxTextureResolution here
export:metallicMapFormat stringmetallicRoughness (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:mipmapCount integermipmapCount integersame behavior, now part of ktx format's textureCompression settings see documentation here
export:normalMapFormat stringnormal (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:occlusionMapFormat stringocclusion (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:overrideMaterials stringsetting retired, now superseded by defaultMaterial settings within materialReplacer in 3D Edit section
export:preferBinaryFormat booleanpreferBinaryFormat booleansame behavior, now part of fbx format's settings within export, documentation here
export:preferredUVChannel integerpreferredUVChannel integersame behavior, now part of obj format's settings, documentation here
export:preserveTextureFilenames boolenpreserveTextureFilenames booleansame behavior, part of each export slot object within export, documentation here
export:roughnessMapFormat stringmetallicRoughness (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:scaling realscalingFactor realsame behavior, now part of modelEdit object within 3D Edit section, documentation here
export:sheenColorMapFormat stringsheenColor (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:specGlossMapFormat stringspecularGlossiness (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:specularMapFormat stringspecular (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:textureCopyPolicy stringreencodeTextures stringsimilar behavior, different string arguments, now part of each export slot object within export, documentation here
export:textureMapFilePrefix stringtextureMapFilePrefix stringsame behavior, now part of each export slot object within export, documentation here
export:textureNamingScript stringwill be re-introduced with v7.1 release
export:thicknessMapFormat stringthickness (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:transmissionMapFormat stringtransmission (glTF) stringsame behavior, now part of each specific 3D format's material settings, see example for the glTF format here
export:uastcQuality stringuastcQuality stringsame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here
export:unlitMaterials booleanforceUnlitMaterials booleansame behavior, now part of glTF format's material settings, see documentation here
export:usdProfile stringusdProfile stringsame behavior, now part of usd format's settings within export, documentation here
export:usdUnits stringusdUnits stringsame behavior, now part of usd format's settingswithin export, documentation here
export:webpQuality integerquality integersame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here
export:webpQualityNormals integerqualityNormals integersame behavior, now part of each specific 3D format's material settings, under new object textureCompression see example for the glTF format here

flattening

RC 6.x Setting and Type3DP Setting and Typeadditional info
flattening:mode stringmode stringsame behavior, now part of sceneGraphFlattening object, documentation here
flattening:preservedSceneDepth integerpreservedSceneDepth integersame behavior, now part of sceneGraphFlattening object, documentation here

general

RC 6.x Setting and Type3DP Setting and Typeadditional info
general:maxConcurrentThreads integermaxConcurrentThreads integersame behavior, now part of system schema, documentation here
general:normalsComputationMethod stringcomputationMethod stringsame behavior, now part of meshNormals object within 3D Edit section, documentation here
general:normalsHardAngleDeg realhardAngleThreshold realsame behavior, now part of meshNormals object within 3D Edit section, documentation here

geoCompression

RC 6.x Setting and Type3DP Setting and Typeadditional info
geoCompression:boneWeightQuantization integerboneWeightsQuantization integersame behavior, now part of draco mesh compression within glTF format object in export section, documentation here
geoCompression:normalQuantization integernormalQuantization integersame behavior, now part of draco mesh compression within glTF format object in export section, documentation here
geoCompression:positionQuantization integerpositionQuantization integersame behavior, now part of draco mesh compression within glTF format object in export section, documentation here
geoCompression:uvQuantization integeruvQuantization integersame behavior, now part of draco mesh compression within glTF format object in export section, documentation here

import

RC 6.x Setting and Type3DP Setting and Typeadditional info
import:alphaMapBlendToMaskThreshold realalphaBlendToMaskThreshold realsame behavior, now part of materialEdit object in 3dEdit section, documentation here
import:alphaMapToOpaqueThreshold realalphaMapToOpaqueThreshold realsame behavior, now part of materialEdit object in 3dEdit section, documentation here
import:discardAnimations booleananimations booleansame behavior, now part of discard object within import section, documentation here
import:discardCameras booleancameras booleansame behavior, now part of discard object within import section, documentation here
import:discardLights booleanlights booleansame behavior, now part of discard object within import section, documentation here
import:discardMorphTargets booleanmorpTargets booleansame behavior, now part of discard object within import section, documentation here
import:discardUnusedUVs booleanunusedUVs booleansame behavior, now part of discard object within import section, documentation here
import:fbxNormalmapYFlip booleannormalmapYFlip booleansame behavior, now part of general object within import section, documentation here
import:maxCADTessellationDeviation realretired in facor of new tessellationResolution setting within CAD object in import section, documentation here
import:recomputeNormals booleanrecomputeInputNormals booleansame behavior, now part of meshNormals object in 3dEdit section, documentation here
import:restrictToSubfolders booleanrestrictToSubfolders booleansame behavior, now part of system schema, documentation here
import:rotateZUp booleanrotateZUp booleansame behavior, now part of general object within import section, documentation here
import:usdProfile stringprofile stringsame behavior, now part of USD object within import section, documentation here

inpainting

RC 6.x Setting and Type3DP Setting and Typeadditional info
inpainting:radius realinpaintingRadius realsame behavior, now part of textureBaker object within optimize section, documentation here

logging

RC 6.x Setting and Type3DP Setting and Typeadditional info
logging:infoLevel integerinfoLevel integersame behavior, now part of streams object in system schema, documentation here

material

RC 6.x Setting and Type3DP Setting and Typeadditional info
material:defaultBaseColor stringbaseColor arraysame behavior, now part of defaultMaterial object within 3dEdit section, documentation here
material:defaultMetallic realmetallic realsame behavior, now part of defaultMaterial object within 3dEdit section, documentation here
material:defaultRoughness realroughness realsame behavior, now part of defaultMaterial object within 3dEdit section, documentation here

packing

RC 6.x Setting and Type3DP Setting and Typeadditional info
packing:pixel_distance integerpackingPixelDistance integersame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)
packing:resolution integerpackingResolution integersame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)

remeshing

RC 6.x Setting and Type3DP Setting and Typeadditional info
remeshing:enabled booleanbooleanIn 3DP this is now an object remesher, part of the optimize section, documentation here
remeshing:method stringmethod stringsame behavior, now part of remesher object in optimize section, documentation here
remeshing:resolution integerresolution integersame behavior, now part of remesher object in optimize section, documentation here

rendering

RC 6.x Setting and Type3DP Setting and Typeadditional info
rendering:IBLBackgroundBlur integerIBLBackgroundBlur integersame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:IBLFilePath stringIBLFilePath stringsame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:IBLIntensity integerIBLIntensity integersame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:background stringbackground stringsame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:cameraPosition stringcameraPosition arraysame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:cameraUpVector stringcameraUpVector arraysame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:cameraVerticalFOVDeg integercameraVerticalFOVDeg integersame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:cameraViewVector stringcameraViewVector arraysame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:disableEnvMap booleandisableEnvMap booleansame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:enableDropShadow booleanenableDropShadow booleansame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:imageHeight integerimageHeight integersame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:imageWidth integerimageWidth integersame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:sampleCount integersampleCount integersame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:shadingMode stringshadingMode stringsame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:showBackFaces booleanshowBackFaces booleansame behavior, now part of streams object in rendering settings and schema, documentation here
rendering:toneMapper stringtoneMapper stringsame behavior, now part of streams object in rendering settings and schema, documentation here

segmentation

RC 6.x Setting and Type3DP Setting and Typeadditional info
segmentation:chartAngleDeg realrealsame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)
segmentation:cutAngleDeg realrealsame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)
segmentation:maxPrimitivesPerChart integerintegersame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)

unwrapping

RC 6.x Setting and Type3DP Setting and Typeadditional info
unwrapping:cutOverlappingPieces booleancutOverlappingPieces booleansame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)
unwrapping:maxAngleErrorDeg realmaxAngleError realsame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)
unwrapping:method stringmethod stringsame behavior, now part of uvAtlasGenerator object within 3dEdit and optimize sections, documentation here (3D Edit) and here (optimize)

visibility

RC 6.x Setting and Type3DP Setting and Typeadditional info
visibility:diffusion stringdiffusion stringsame behavior, now part of occlusionCulling object within meshCulling section, documentation here
visibility:perMesh booleanperMesh booleansame behavior, now part of occlusionCulling object within meshCulling section, documentation here
visibility:quality stringquality stringsame behavior, now part of occlusionCulling object within meshCulling section, documentation here

Conversion Script (BETA)

The conversion script is able to batch convert RapidCompact CLI commands and JSON settings files into 3D Processor CLI commands and JSON settings files. The script is python based.

info

Get the initial BETA version for 3D Processor v7.1.0 in this public repository. Future versions will be made available on the DGG Github Page.

Current Limitations

RapidCompact Legacy Commands and support status within the conversion script (converted input):

CommandDescriptionSupport Statusadditional info
-i [ --import ]imports an asset from a filemultiple occurances in one legacy commandline are converted into multiple 3DP command lines
-e [ --export ]exports an asset to a fileconverted into 3DP v7.0.x-7.1.x export slots (json settings file)
-p [ --print_info ]prints information about the current 3D assetno conversion needed
-c [ --compact ]turns the current asset into a simplified, textured representationmultiple occurances in one legacy commandline are converted into multiple 3DP command lines
-s [ --set ]sets the setting with the given name to the given valueno direct command equivalent, converted into the respective section (json settings file)
--read_configreads and apply the given config fileno conversion needed
--write_configwrites current settings to the given config fileno conversion needed, see remarks in the commands section above
--write_infowrites information about the current 3D asset to a JSON fileno conversion needed
--write_metricswrites metrics to a file using this IDno conversion needed
--render_imagerenders an image of the current asset to a filesee remarks in the rendering commands section above
--render_turntablerenders a turntable-like image series to a directorysee remarks in the rendering commands section above
--popremoves the current 3D asset from the stackmultiple occurances in one legacy commandline might trigger conversion into multiple 3DP command lines
--remove_invisible_geometryremoves geometry that cannot be seen from the asset
--remove_small_featuresremoves lumps of geometry [...]
--remove_duplicate_verticesremoves duplicated vertices from the asset
-g [ --get ]gets the value of the given setting and prints it
--duplicateduplicates the current 3D asset on the stack
--scalescales the current 3D asset on the stack using units relative to the asset
--flattenflattens (combining meshes and transformations) the 3D asset at the top of the stack
--export_webexports to a directory with HTML 3D viewer

Future Updates

  • Reintroduction of --export command, which enables to dynamically specify one or more output file format(s) as well as output file name(s) (e.g. --export output.glb --export output.usdz)
  • Allow for direct ingestion and conversion of most legacy RapidCompact (v1-6) JSON configuration settings files and selected legacy commands into 3D Processor CLI v7.x