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.
- The AO baking will be performed in the first free UV channel:
- 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.
- When baking Tiled materials, the resolution override is now taken into account:
- 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.
- .glTF files now have no folder nesting by default, and are located in the
- 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.