Skip to main content

DCC Importer v1.0.0

April 8, 2025

New Features

  • Initial Support to MaterialX (WIP):
    • Generates MaterialX Standard Surface shaders for each DCC Material.
    • Additionally generates a USD file with MaterialX assignments.
    • Based on Baked Textures resulting from Translation process.
    • Enabled by default, can be disabled by providing the flag --mtlx disabled or -m disabled.
    • MaterialX nodes are always encapsulated into a NodeGraph, per usdMtlx validation requirements.
    • MaterialX nodes always have explicit geometry streams, per usdMtlx validation requirements.
  • The DCC Importer is now distributed as an .msi installer:
    • The installer script has been adjusted accordingly.
  • Baking of AO textures through the 3D Processor is now supported by providing the flag --bakeAO:
    • The AO baking will be performed in the first free UV channel:
      • If no UV channel exists for a given material, the first UV will be used;
      • If the first UV channel is already in use, the second UV channel will be used.
    • The resolution follows the --resolution CLI arg. If no argument is provided, the default AO baking resolution is 2048x2048.
  • Add Real-World Scale to Tiling conversion.
  • Add Better Tiling Support.
    • When baking Tiled materials, the resolution override is now taken into account:
      • If the material has no bitmaps or no resolution can be obtained, the override is used as-is.
      • Otherwise, a proportional resolution in relation to the reference bitmap will be used, with the biggest dimension taking the override value.
  • Initial Ward to GGX Approximation:
    • Approximates Ward Roughness to GGX Roughness.
  • Add support for searching for the RPDX executable in the 3D Processor 7.X default folders, when the executable is not in the path variable:
    • In order, we search for the executable in the PATH variable, if any, then the 3D Processor default folder, then the RapidCompact (legacy) default folder.
  • Add (optional) scene file downsaving to lower compatible Max Version with the flag --maxFileVersion.
  • Add (optional) scene name and material name length limits with the flags --maxSceneNameLength and --maxMaterialNameLength.
  • Add customizable percentage threshold to convert flat textures into color values with the flag --dropTextures.
  • Add support to VRay 7.
  • Add better fallbacks for missing materials or submaterials:
    • Nodes without a material will use Wirecolor, per 3dsMax default behavior
    • MultiMaterial behavior is now replicated when submaterials are missing.

Adjustments

  • UV Channel Copying & Mesh Instance Treatment, previously performed within 3dsMax, are now done through the USD API:
    • This results in considerable performance-gains for large scale scenes, compared to the previous version.
    • Note that, currently, instances of MultiMaterials are not supported and will be made unique during preprocessing.
  • Several adjustments have been made in the UV Unwrapping procedure:
    • Inverted UV faces are now flipped.
    • Issues when selecting multimaterial faces during the packing procedure have been fixed.
  • The treatment of the flag --mergeByMaterial is now performed outside of 3dsMax, through the RapidPipeline 3D Processor.
    • Note that, when nodes are merged with this flag, we are unnable to maintain mesh node names, by definition.
  • The output folder structure has been adjusted:
    • .glTF files now have no folder nesting by default, and are located in the gltf subfolder of the output scene folder;
    • .max files and its related textures are now located in the max subfolder of the output scene folder;
    • USD-MtlX files are now located in the mtlx subfolder of the output scene folder.
    • A new flag --keepGLTFFolderStructure has been added, to keep the previous behavior of having a nested fodler structure for the textures used by the glTF file.
      • NOTE: using this flag is not recommended, as certain webviewers, such as the modelviewer editor, do not support nested folder structures for glTF files.
  • Invalid bitmaps are now removed during scene preprocessing.
  • Adjust Displacement baking into Geometry and/or Bump Normal procedures.
  • Adjusted usage of reflection color when translating VRayCarPaint, VRayFastSSS2 and VRayBlend materials.
  • Adjusted log messages when processing files with the 3D Processor.
  • Adjusted error check when no input or output folders are provided.
  • Adjusted log messages shown when providing additional output formats.
  • Adjusted error checking for bitmap coordinates when baking tiles.
  • Take Bump/Normal and Displacement multipliers into account when baking textures.
  • Optimize Installation Workflow for faster dependency install.
  • Optimize Memory Usage.
  • Optimize Image saving and translation operations.
  • Transforms and scale of nodes are no longer reset as part of the export process.
  • Adjustments to the glTF Reimporter:
    • Thin-walled and double-sided parameters are now properly reflected in the resulting V-Ray shaders.
  • The .max output file now contains a hidden copy of the original scene.
    • The resulting nodes, with the reimported Materials, are under a root node named "{scene name}_Processed".
  • Reduce disk usage for intermediate EXR baked texture by using lossless compression.
  • Geometry node names are now kept intact during conversion.
  • Avoid using glTF Extensions whose values are too close to default.
  • The error messages displayed when no V-Ray or USD for 3ds Max are installed are now clearer to the user.

Fixes

  • Fixed issues with incorrect material classification as simple textured.
  • Fixed issues in MultiMaterial cleanup when face IDs are invalid.
  • Fixed issues with hidden instanced geometry nodes being present in the output file.
  • Fixed issues with UV projection when baking VRayDisplacementMod.
  • Fixed missing baking of coat parameters for VRayCarPaint materials.
  • Remove incorrect baking of coat parameters for VRayFastSSS2 materials.
  • Fix issue with 3ds Max always logging in Trace mode.
  • Fixed issue when cleaning-up MultiMaterials with a disabled submaterial.
  • Fixed issues in the glTF Reimport when the Iridescence or Dispersion extensions were present in the input file but ignored during translation.
  • Fixed incorrect Dispersion/Volume extension assignment when no Volume/Transmission are assigned to a glTF file.
  • Fixes issues with Alpha mode in glTF.

Dependency Changes

  • The imagecodecs and MaterialX Python dependencies have been added.
  • The USD and OpenImageIO Python dependencies have been updated.

For more information, see the reference documentation for RapidPipeline DCC Importer.