+

Overview

+

This plugin adds support for Pixar's Universal Scene Description (USD) in Autodesk 3ds Max.

+

If you like you what you see or have any feedback about these features, please let us + know. We look forward to hearing from you to help us shape the future of this initiative.

+ + + +

Uninstalling

+

To uninstall this plugin:

+
    +
  1. Open Window's Add or remove program tool.
  2. +
  3. Search for "USD for Autodesk 3ds Max".
  4. +
  5. Select the result and click the "Uninstall" button.
  6. +
+ +

Get in touch

+

We are eager to hear what you think of these capabilities!

+

Was there anything you liked? Did you find a bug? Do you have any ideas or USD content that you would like + share with us? Let us know on the Autodesk 3ds Max Beta forums or give your feedback here.

+

The success of this initiative depends on how we can serve your needs. Your feedback is important to us in + this partnership.

+ +

Release notes

+
v0.9.0 New
+ What's New: +
    +
  • + Bump component version to 0.9 - new public release +
  • +
+ Fixes: +
    +
  • + Changed MaterialX plugin utility to export using colorspace "sRGB" by default instead of "gamma22". +
  • +
  • + Fixed an issue where setting Textures for Draw Modes in the Prim Attributes could cause 3ds Max to become unresponsive. +
  • +
  • + Cleaned up USD Attribute Tooltips. +
  • +
  • + Fix expected behavior on PrimReader plugin not being loaded when 'providesTranslator' type is an ancestor type. +
  • +
  • + Fixed spinner for USD Prims to allow negative values. +
  • +
  • + Fixed options for loading a stage not persisting between multiple stage-loading actions. +
  • +
  • + Fixed unnecessary memory usage from textures that should not be loaded from deactivated prims in a USD Stage Object. +
  • +
  • + Update some labels and tooltips around the Draw Mode functions in the USD Stage Object. +
  • +
+ +
v0.8.4
+ What's New: +
    +
  • + Added a rollup to the property editor to display "Extra Attributes" that do not belong to any USD Schema. +
  • +
  • + Added new display option on a USD Stage Object to display PointInstances as Box or Cross cards. The option will author all the necessary settings on the prims in the stage to make draw modes display on Pointinstancers into an anonymous sublayer of the session layer. +
  • +
  • + Added new function to generate a BezierShapeClass object from a USD Curve. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where the Command Panel Rollouts for the USD Stage could undesirably alter the appearance of the Command Panel. +
  • +
  • + Fixed issue where undoable commands were generated while editing spinners interactively in the property editor +
  • +
  • + Fixed an issue where the property editor UI fell out of sync with the data when attempting to edit USD instances. +
  • +
  • + Fixed an issue with transforming prototypes used by point instancers. +
  • +
  • + Fixed the behavior of the Plug-in Configuration Rollup to recall the user's last set state. +
  • +
  • + Fixed an issue where invalid blendshape could crash when importing the stage +
  • +
  • + Fixed changes to a prim's purpose not being displayed immediately in the viewport. +
  • +
  • + Fixed crash related to using USD Snaps on an empty stage. +
  • +
  • + Fix expected behavior on PrimReader plugin not being loaded when 'providesTranslator' type is an ancestor type. +
  • +
  • + Fixed the USD Explorer's ame-light theme readability for text and selection elements. +
  • +
+ +
v0.8.3
+ What's New: +
    +
  • + Added support for USDGeomCurves in the USD Importer. +
  • +
  • + Added ability to select and transform USD Point Instances. +
  • +
  • + Added support for the USD modify tab to remember rollup state even when multiple prims are selected. +
  • +
  • + Added prim attributes to the modify tab when selecting a prim, allowing the user to make edits on prim data as they would with standard Max objects. +
  • +
  • + Updated the USD Exporter to remember the rollup state between sessions. +
  • +
+ Fixes: +
    +
  • + Fixed command panel not refreshing when undoing some edits to prim properties. +
  • +
  • + Fixed file inputs missing from the USD Attribute editor. +
  • +
  • + Fixed critical error causing a crash when importing USD. +
  • +
+ +
v0.8.2
+ What's New: +
    +
  • + Updated USD export/import options to use a Dictionary. +
  • +
  • + Added new USD category to Snaps that allows snapping to USD Faces, Vertices and Edges. +
  • +
  • + Updated the functions in the USD Explorer for changing variants, visibility, etc. to respect the current EditTarget a user may have set via scripting. This also works for transforming prims in the viewport. Previously, the edits in the USD Explorer were always going to the session layer. +
  • +
+
v0.8.1
+ What's New: +
    +
  • + Updated Max USD Export options to Dictionaries. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where deleting and adding a new skin modifier to a mesh will log an error message of multiple bind pose. +
  • +
+ +
v0.8.0
+
    +
  • + Public release for the 0.8 version. +
  • +
+
v0.7.9
+ What's New: +
    +
  • + Added missing 'ShaderWriter::GetSubMtlDependencies' Python exposure +
  • +
+ Fixes: +
    +
  • + Fixed display of animated focal length when importing animating USD camera +
  • +
  • + Implemented fix for crash when changing root layer of a USD stage with modifiers. +
  • +
  • + Implemented improvements for editing the attribute path of a USD Float controller. +
  • +
  • + Implemented fix for crash when in the USD Float Controller's pick mode. +
  • +
  • + Fixed a defect where USD Stage edits cleared the undo stack. +
  • +
  • + Fixed a defect where undoing a deleted Stage object, that has a USD controlled camera as a child, results in duplicate cameras. +
  • +
+ +
v0.7.8
+ What's New: +
    +
  • + Added USD Position/Scale/Rotation controllers. +
  • +
  • + Change to Import/Export "Enter" key interaction to avoid accidental dialog confirmation. +
  • +
  • + Updated viewport selection of prims to default to selecting editable prims when selecting instanceable prims. +
  • +
+ Fixes: +
    +
  • + Fixed a Crash when exporting Skel animation with an invalid root prim +
  • +
  • + Fixed an issue with skinned animation data when Offset Baked was disabled during Export. +
  • +
+ +
v0.7.7
+ What's New: +
    +
  • + Updated cameras created for a USDStageObject to be undeletable by users. The cameras are controlled by the USDStageObject. +
  • +
+ Fixes: +
    +
  • + Fixed bad labels in USD float controllers. +
  • +
  • + Fixed an issue where under specific circumstances performing an Undo operation on a USD Stage node generation would crash. +
  • +
  • + Fixed issue where the wrong value was set on "Reset to Default" for the Stage Object animation option "Frames per Second" +
  • +
  • + Fixed an issue with USD Stage during Animation playback where performance was lost in Proxy mode when switching between Proxy/Render. +
  • +
  • + Fixed a Color Space issue impacting 3ds Max 2024 and later where Gamma was not set to 1.0 for USD Material Nodes. +
  • +
  • + Exposed bump amount value in the UsdPreviewSurface scripted material to allow correcting normal map display issues in the 3dsMax viewport. +
  • +
  • + 2x performance improvement of USD Explorer Auto-Expand to Selection. +
  • +
+ +
v0.7.6
+ What's New: +
    +
  • + The default translators (writers/readers) are all plugins to the USD component. +
  • +
  • + Added new USD Float Controller that can drive float, point2, point3 and point4 values in Max. +
  • +
  • + Updated to USD 0.24.05 for the beta build. +
  • +
  • + Exposed the TranslatorMaterial::AssignMaterial helper from the Max USD C++ SDK to Python. +
  • +
  • + Added support to use Zoom Extents on selected USD Prims. +
  • +
+ Fixes: +
    +
  • + Fixed a freeze when loading some USD scenes when the PXR_PLUGINPATH_NAME envirornment variable is set to the pluginInfo.json folder. +
  • +
  • + Fixed an issue where under specific circumstances performing an Undo operation on a USD Stage node generation would crash. +
  • +
  • + Fixed a missing string for USD Stage prim selection action being populated in the Undo stack as a generic action. +
  • +
  • + Fixed USD error in MAXScript listener when reactivating a USD Camera. +
  • +
  • + Fixed performance drop in the viewport when loading a USD Stage with instances containing many geomsubsets. +
  • +
  • + Fixed performance degradation on selecting prims in a USD stage. +
  • +
+ +
v0.7.5
+ What's New: +
    +
  • + Added new USD Xform Controller that allows a Max node transform to be controlled by the transform of an xformable prim in a USD Stage. +
  • +
  • + Added samples to Max USD SDK to demonstrate how to create a custom UI for plugin-configurations in the USD Exporter and Importer. +
  • +
  • + Updated the USD Stage Object to bring in proxy cameras into 3ds Max that are controlled by underlying USD camera data. This allows a user to render from cameras in a USD Stage as well as look through them. +
  • +
+ Fixes: +
    +
  • + Fixed display of animated focal length when importing animating USD camera +
  • +
  • + Fixed USD Payload load/unload state not being properly restored with Undo/Redo. +
  • +
  • + Fix regression of the kind type combobox in the USD stage object Viewport selection rollup. +
  • +
+ +
v0.7.4
+ What's New: +
    +
  • + Added new USD Xform Controller that allows a Max node transform to be controlled by the transform of an xformable prim in a USD Stage. +
  • +
  • + Added support for multi-selection of USD prims in the viewport. Note that deep selection is not currently supported with USD Prims. +
  • +
  • + Added ability for plugin-developers to share a custom UI for their contexts in the USD Exporter to allow users to set custom plugin settings. +
  • +
+ Fixes: +
    +
  • + Fixed severe performance degradation when the Undo Stack contains USD prim multi-selection. +
  • +
  • + Python exposure to USDSceneBuilderOptions Content Source option. +
  • +
  • + Fixed an issue where Importing animation data was not setting the Start and End frames to match the incoming animation frame range. +
  • +
  • + Fix issue where user can create prims under deactivated prims even though error message is shown. It is no longer possible to create a prim under a deactivated prim. +
  • +
  • + Fixed a performance issue of visibility switching of some USD large multi-prim selections. +
  • +
+ +
v0.7.3
+ What's New: +
    +
  • + Added support for converting Progressive Morphers to Inbetween Blendshshapes in the USD Exporter. +
  • +
  • + Added support for multi-selection of USD prims in the viewport. +
  • +
  • + Fixed issue with exporting multimaterials with connected material switchers on instanced object. +
  • +
+ Fixes: +
    +
  • + Fixed an import error with Meshes with just a morpher in a scene with other skinned meshes with bones bindings +
  • +
  • + Fixed Python exposure to USDSceneBuilderOptions Content Source option +
  • +
  • + Fixed a Morpher export issue with USD invalid identifier names of morph target starting with numeric values +
  • +
  • + Fixed a current frame export issue with multiple morphers in the scene +
  • +
  • + Fixed getClassName() not returning the correct class name with the USDStageObject class. +
  • +
  • + Fixed a problem in the Import Chaser C++ samples casting floats as doubles. +
  • +
+ +
v0.7.2
+ What's New: +
    +
  • + Added support for converting Progressive Morphers to Inbetween Blenshshapes in the USD Exporter. +
  • +
  • + Added support for toggling the visibility icons on prims in the USD Explorer. +
  • +
  • + Fixed an issue where undo didn't work for some text fields and drop downs on the stage's command panel. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where Undo would not display Prim selections in the Viewport. +
  • +
  • + Fixed issue with possible corruption of the material UI export options when modified from scripting. +
  • +
+ +
v0.7.1
+ What's New: +
    +
  • + Fixed issue with exporting Material switchers with connected multi-materials on instanced object. +
  • +
  • + Added support for undo/redo when selecting USD prims. +
  • +
  • + Added support for selecting multiple USD prims. +
  • +
  • + Removal of the export/import 'onCompletion' callbacks in favor of the export/import Chaser mechanics. +
  • +
  • + C++ SDK changes on the container mapping the exported Nodes to Prims. +
  • +
+ Fixes: +
    +
  • + Fixed issue with bad relative path resolution when exporting MaterialX materials to separate layers. +
  • +
+ +
v0.7.0
+ What's New: +
    +
  • + Adjusted UI behavior in the USD Exporter to reduce likelihood of unintended changes to values with Spinners when using the scroll wheel. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where toggling USD Visibility within the USD Explorer could impact the Viewports performance. +
  • +
  • + Fix to prevent desynchonization between UI export options set through scripting and the interface. +
  • +
  • + Fixed an issue where changing the Morpher limits would affect the Morpher's animation weight. +
  • +
+ +
v0.6.9
+ What's New: +
    +
  • + Added support for mixing the material switcher and multi/sub-object materials in the USD Exporter for creating material variants. +
  • +
  • + Added a column in the USD Explorer to display a prim's authored kind. +
  • +
  • + Added support to import blendshapes from USD into Morphers. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where toggling USD Visibility within the USD Explorer could impact the Viewports performance. +
  • +
  • + USDView no longer causes a lingering 3dsMax Python 3 Interpreter process after closing the window. +
  • +
  • + USD Stage consolidation memory usage improvements. +
  • +
  • + Fix explorer refresh issue with long treeview. +
  • +
  • + Fix issue with row selection in USD Explorer where horizontal scroll position shifts back and forth. +
  • +
  • + Fix animated instance selection display. +
  • +
  • + Fixed selection highlighting issue causing needless errors in the listener, affecting performance. +
  • +
  • + Stabilized the sub-object mode transform operations. +
  • +
  • + Prevent materials from disappearing after prim transform operations. +
  • +
  • + Prevent auto-key feature from interfering with animation import. +
  • +
  • + Only move prims that belong to the selected USD Stage. +
  • +
+ +
v0.6.8
+ What's New: +
    +
  • + Added ability to expand/contract the entire hierarchy below a prim with CTRL+LMB. +
  • +
  • + Improved the visibility of inactive prims in the USD Explorer. +
  • +
  • + Added a column in the USD Explorer to display a prim's authored kind. +
  • +
  • + Added ability to transform a USD prim in the viewport. +
  • +
  • + Brought back the Load Payloads checkbox in the load stage dialog. +
  • +
  • + Added parent highlighting to selected prims in the USD Explorer. +
  • +
  • + Updated the labels and tooltips in the USD Preview Surface Material. +
  • +
  • + Added support to keep the USD Context menus open when holding down the CRTL key. The is helpful when changing variants on a USD Prim and wanting to test different variant selections. +
  • +
  • + Updated the USD exporter to use the current timeline frame range when initially setting the export range. +
  • +
+ Fixes: +
    +
  • + Fixed defect in orientation of bones when exporting to USDSkel. +
  • +
+
v0.6.7
+ What's New: +
    +
  • + Added selection highlighting to prims in a USD Stage. +
  • +
  • + Added support for multiple material targets when exporting a Material Switcher. +
  • +
  • + Prim name column now auto-expands to fill available size of USD Explorer. +
  • +
  • + Added ability to customize what columns are available in the USD Explorer. +
  • +
  • + Updated the USD exporter to use the current timeline frame range when initially setting the export range. +
  • +
  • + Fixed Stage Node layout to be consistent with other windows layout. +
  • +
  • + Fixed an issue where toggling the visibility state of some prims could cause it to stay visually out of sync. +
  • +
+
v0.6.6
+ What's New: +
    +
  • + Added support for importing animated attributes for USD lights. +
  • +
  • + Animated camera attributes like FOV are now supported in the USD Importer. +
  • +
+ Fixes: +
    +
  • + Fixed USD Explorer visibility state to refresh correctly. +
  • +
+
v0.6.5
+ What's New: +
    +
  • + Improved the USD SDK samples to require less effort to get running. +
  • +
  • + Updated several classes in the MaxUSD projects that were not namespaced to be namespaced to maxUsd. +
  • +
  • + Added a new Prim sub-object mode to select prims in a USDStageObject. +
  • +
  • + New option added to the USD explorer to auto-expand the tree to the current selection. +
  • +
  • + Prim name column now auto-expands to fill available size of USD Explorer. +
  • +
  • + The checkbox for loading payloads was removed from the USDStageObject modify tab since payload rules are now working in the USD Explorer. +
  • +
  • + Added ability to specify specific animation ranges in the USD Importer. +
  • +
  • + Update for 3ds Max SDK 2025 freeze (M4479) +
  • +
+ Fixes: +
    +
  • + Fixed importing some USDSkel prims into Max. +
  • +
  • + Fixed USD Exporter not fitting onto small screen resolutions. +
  • +
  • + Fixed an undo crash in the USD Explorer after toggling a prim's instanceable setting. +
  • +
  • + Restricted the material layer setting to be output to the same file as the main USD file when exporting a material layer. +
  • +
  • + Fixed an issue where USD Skel exports had deformation results that weren't matching the source animation. +
  • +
+
v0.6.4
+ What's New: +
    +
  • + Updated the USD Exporter to set the prim type of the material scope from Def to Scope. +
  • +
  • + Updated USD version to 23.11 for 3ds Max 2025. +
  • +
  • + Fixed loading USD files into a Stage node that were coming up empty but could be loaded into USDView. +
  • +
  • + USD Importer now has a setting for using/disabling the progress bar via scripting (UIOption.UseProgressBar = true|false). +
  • +
+ +
v0.6.3
+ What's New: +
    +
  • + Added a new export options to enable or disable the last resort USDPreviewSurface material (options.UseLastResortUSDPreviewSurfaceWriter). +
  • +
  • + Added further validation of target material file paths to prevent unicode characters. +
  • +
  • + Added support for the <filename> token in exported material files paths. It is replaced by the root layer file name at export time. +
  • +
  • + Improved the Prim reader API documentation and sample. +
  • +
  • + Added support for basic rectangle selection of the USD Stage Object (only support's crossing mode). +
  • +
+ Fixes: +
    +
  • + Fixed issue with animation import not setting key frames at time 0. +
  • +
  • + Fixed erroneously filtered typeless prims in the USD Stage prim selection dialog. +
  • +
  • + Fixed a crash when exporting to a material layer already loaded in memory. +
  • +
  • + Fixed a USDSkel bone import issue with Y-up source data. +
  • +
  • + Fixed instance import transform issue with Y-up source data. +
  • +
+  +
v0.6.2
+ What's New: +
    +
  • + Added a sample to the USD SDK on using an Import Chaser. +
  • +
+ Fixes: +
    +
  • + Fixed incorrect transforms when importing instances. +
  • +
  • + Fixed error that could cause the USD Explorer to not show any USD data when opened. +
  • +
  • + Fixed the name of the USD Plugin not having a human-readable format in the Windows Control Panel. +
  • +
  • + Fixed defect causing the USD Tools to not launch from the command line. +
  • +
  • + Fixed problem in the USD Importer importing materials on prims with multiple geomsubsets. +
  • +
  • + Fixed incorrect log error in USD Importer when importing some USD files. +
  • +
  • + Fixed incorrect bind transform when importing USDSKel from some USD files. +
  • +
  • + Fixed missing translation and rotation animation at "root" level when importing some USD files (such as the Walking Pixar Female). +
  • +
  • + Fixed duplicate nodes being created when importing USD files with instances containing hierarchies. +
  • +
  • + Updated the USD Exporter to block the export and warn the user of invalid characters in material names. +
  • +
+ +
v0.6.1
+ What's New: +
    +
  • + 3ds Max USD Component updated to a newer installer framework. With this new installer, previous versions from 0.5 and older need to be manually uninstalled to be removed from the system. +
  • +
  • + The USD Exporter can now export the Material Switcher material as variantSets. +
  • +
  • + Added Context and Chasers to the USD Importer SDK. +
  • +
+ Fixes: +
    +
  • + Fixed an issue resizing the "Prim name" column in the USD Explorer to not work in odd ways. Note that after this fix, the prim name column will no longer auto-expand to fit available space. +
  • +
  • + Fixed an issue where importing a USD file with different system units format would bring bad data. +
  • +
  • + Fixed an issue when specifying .usdz for Material File Generation caused 3ds Max to crash +
  • +
  • + Fixed an issue where wrong bone animation was being used outside the USD time range when importing a USD file using USDSkel. +
  • +
  • + Fixed an issue where skinned meshes were not being bound to the correct bones when importing USD. +
  • +
  • + Fixed an issue where Blendshape content was exported with Y-up settings would not have the expected spatial coordinates. +
  • +
  • + Fixed an issue where the plugin would throw an error when loaded in localized 3ds Max versions +
  • +
  • + Fixed USDView not launching properly in 3ds Max 2025. +
  • +
  • + Fixed an issue where "Copy Prim Path" menu option would show up in unintended locations. +
  • +
+ +
v0.6.0
+ What's New: +
    +
  • + Updated SDK documentation for 0.6 release to include Import Chasers, ShaderReader and PrimReader. +
  • +
+ Fixes: +
    +
  • + Fixed issue with animation import not setting key frames at time 0. +
  • +
  • + Fixed a USDSkel bone import issue with Y-up source data. +
  • +
  • + Fixed a crash when exporting to a material layer already loaded in memory. +
  • +
  • + Fix an issue where importing usd data would create duplicate geometry on instances with hierarchies. +
  • +
+ +
v0.5.8
+ What's New: +
    +
  • + Added support to import USD Skel Animations into 3ds Max. +
  • +
  • + It's now possible to the edit the Target layer, and default layer of materials in the exporter. +
  • +
+ Fixes: +
    +
  • + Fixed an issue with bounding boxes in a Stage with Skel animation and unskinned meshes. +
  • +
+ +
v0.5.7
+ What's New: +
    +
  • + Updated the visibility icon for the USD Explorer to be more legible. +
  • +
  • + Update several tooltips to better inform the user. +
  • +
  • + API Change, new feature: Prim readers. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where the '?' button wouldn't open the documentation page. +
  • +
  • + Fixed an issue where tool tips where not showing up in the correct place for the USD animation roll up. +
  • +
  • + Fixed an issue that could cause a visual bug when docking the USD Explorer. +
  • +
+ +
v0.5.6
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M3364) +
  • +
  • + Added support for the USD Explorer to respect window snapping. +
  • +
  • + Updated the USD Plugin to use USD 23.08 in Max 2025 builds. +
  • +
  • + Updated the USD Plugin to use Python 3.11.3 in Max 2025 builds. +
  • +
  • + Added new right-click menu in the USD Explorer to copy a prim's path to the clipboard. +
  • +
  • + Added support to import USD UDIM textures to 3ds Max from a UDIM in a USDPreviewSurface shader. +
  • +
+ Fixes: +
    +
  • + Fixed a crash when undoing the loading root layer into a USD Stage. +
  • +
  • + Fixed an issue where clearing session layer was not refreshing with invisible and deactivated prims +
  • +
  • + Fixed an issue where the stage root bounding box would not be correct for scenes exported with UsdSkel +
  • +
  • + Fixed an issue where the USD Explorer would not update properly with user inputs +
  • +
+
v0.5.5
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M3231) +
  • +
  • + Added support for the USD Explorer to respect window snapping. +
  • +
  • + A display menu has been added to hide inactive prims from the USD Explorer. +
  • +
  • + Clearing a search in the USD Explorer will now restore the previous collapsed or expanded state of the tree view. +
  • +
  • + The USD Explorer now only auto-expands the first level of prims in the tree view. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where material bindings were not always binding to the correct prims. +
  • +
  • + Fixed a crash that could occur when adding prims to instantiated USD content. +
  • +
  • + Fixed an issue preventing users from adding prims to the root of a USD Stage in the USD Explorer. +
  • +
+
v0.5.4
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M3190) +
  • +
  • + Users can now undo edits made from the USD Explorer Tree View. +
  • +
  • + Added support for interface nodes for MaterialX. +
  • +
  • + USD Explorer now supports the Visibility property. +
  • +
  • + A new option is available from USD Parameters rollout to open the USD Explorer. +
  • +
  • + Added a PostExport() Callback for PrimWriters. This is an SDK change. +
  • +
  • + Removed unnecessary UsdTransform2d from material exports. +
  • +
  • + Added Icons and Badges to USD Explorer Tree View. +
  • +
+ Fixes: +
    +
  • + Fixed an issue where it was no longer possible to Copy USD Stages in the Viewport. +
  • +
  • + UFE python bindings now available in all 3dsMax versions. +
  • +
+
v0.5.3
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M2961) +
  • +
  • + Added an option to disable the export progress bar for script execution. +
  • +
  • + USD Explorer context menu enrichment. +
  • +
  • + USD Exporter supports UDIMs for USD Preview Surface. +
  • +
  • + Updated the USD Exporter to report an export config error if a non-empty node list is provided, but the content source is not properly set. +
  • +
+ Fixes: +
    +
  • + Fixed an incorrect error being generated in the logs anytime a Chaser was enabled during export. +
  • +
  • + Fixed a crash related to instantiated content within a USD Stage. +
  • +
  • + Fixed an issue where baked animation data using Polys could have corrupted normals when exported to .usd. +
  • +
  • + Fixed USD Explorer Focus and Docking behavior. +
  • +
+
v0.5.2
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M2821) +
  • +
  • + Updated the USDStageObject to not allow an empty stage mask value.
    + If and empty string value is given, the value is automatically set to "/". +
  • +
  • + A tree view of the USD data is now available so that artists can view the prims that make up their stage object. + +
  • +
+ Fixes: +
    +
  • + Fixed a crash in the MaterialX Shader when undoing the explode MaterialX function. +
  • +
  • + Fixed an issue where USD Skel exports had deformation results that weren't matching the source animation. +
  • +
  • + Fixed an issue where baked animation data using Polys could have corrupted normals when exported to .usd. +
  • +
  • + Fixed the command line USD Tools not working when using a string that contains multiple consecutive spaces in the commands. +
  • +
+
v0.5.1
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M2608) +
  • +
  • + Updated the USDStageObject to not allow an empty stage mask value. If and empty string value is given, the value is automatically set to "/". +
  • +
+ Fixes: +
    +
  • + Updated the MaterialX Importer/Exporter to not pop up with a messagebox on every warning; now prints warnings to the MAXScript listener. +
  • +
  • + The USD Exporter now sets Map Channel 1 to be named "st" in meshes by default. +
  • +
  • + Fixed a crash in the MaterialX Material when undoing the explode MaterialX function. +
  • +
  • + Fixed an issue where USD and MaterialX shared the same name in the Plug-in Manager. +
  • +
  • + Fixed an issue where the description for the mtlXIOUtil utility was being truncated. +
  • +
  • + Fixed an issue where USD Skel exports had deformation results that weren't matching the source animation. +
  • +
  • + Fixed an issue where some MaterialX plug-in files were being generated in unexpected locations. +
  • +
+
v0.5.0
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M2394) +
  • +
  • + Basic MaterialX support is now available with the USD installer. +
  • +
  • + A ShaderWriter is available that exports the MaterialX scripted material in the USD file as a Mtlx Reference.
    + A "MaterialX" target is also available in the Export Dialog UI. +
  • +
+
v0.4.6
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M2159) +
  • +
+ Fixes: +
    +
  • + Fixed an issue where Morphers with assigned non-zero values on first frame were not being evaluated correctly. +
  • +
  • + Fixed an issue where Morpher data was not being exported correctly. +
  • +
  • + Fixed an issue where some USD buttons were not being sized correctly for certain screen resolutions. +
  • +
  • + Fixed some erroneous tooltips being displayed in the USD Export UI. +
  • +
  • + Fixed loading a USD Stage into 3ds Max when the USD file referenced MaterialX files. +
  • +
+
v0.4.5
+ What's New: +
    +
  • + Added support to export Morpher modifier channels as Blend Shapes in USD. +
  • +
  • + Added button in USDStageObject to clear the current session layer. A temporary solution to clearing scripted USD changes in the session layer in preparation for adding a layer editor. +
  • +
  • + Compatibility release for the 3ds Max Midgard SDK. (M1979) +
  • +
+
v0.4.4
+ What's New: +
    +
  • + Compatibility release for the 3ds Max Midgard SDK. (M1740) +
  • +
+
v0.4.3
+ What's New: +
    +
  • + Moved Skin option to the Animation rollout in the USD Exporter. +
  • +
  • + Added a new Python class to export materials to USD and bind to prims to help scripters and tool developers to build custom tools with materials. +
  • +
+ Fixes: +
    +
  • + Fixed some mismatched materials on USD prims compared to some multimaterial setups. +
  • +
  • + Fixed USD exporter UI not respecting several options. +
  • +
  • + Fixed the Display Icon not working properly in the USDStageObject. +
  • +
+ +
v0.4.2
+ What's New: +
    +
  • + Updated the USD Exporter to export non-time-varying topology changes for data channels that do not change in animated exports. This reduces file sizes and improves performance for animated meshes viewed in a Stage. +
  • +
  • + Added the ability to supply an explicit python.exe path (via --python-exe) to the USD tools bundled with the USD Plugin. Read RunUsdTool.bat in the bin folder of the plugin for more information. +
  • +
  • + Improved the performance of generating preview materials in the viewport for a USD Stage Object set to display materials. +
  • +
  • + Updated the USD Exporter to properly bind materials to USD GeomSubsets when the material IDs on the mesh are greater than the Multimaterial numsubs. +
  • +
  • + Updated USDView that ships with the 3ds Max USD plugin to display MaterialX. +
  • +
  • + Updated the USD Exporter to use the new menu system introduced in 3ds Max 2025 branch to create the File > Reference > USD Stage... menu. +
  • +
  • + Refactored the USD Exporter code to be significantly faster at exporting complex scenes with interdependencies that are animated. + +

    SDK CHANGES : + +
    The export changes required major changes to the PrimWriter API. The PrimWriter interface now also better aligns with the ShaderWriter interface. + +
    All the samples were updated accordingly. + +

    Notable changes : +
    - Every Node->Prim translation now gets its own PrimWriter instance. Previously, a single instance was created for the entire export. +
    - The CanConvert() method was renamed to CanExport() and was made static. A static_assert makes sure the method exists in derived PrimWriters. +
    - As a consequence, the PrimWriter's methods no longer receive a 3dsMax node as argument, instead, the node can be retrieved using PrimWriter::GetNode(). +
    - PrimWriter::Write() is now called multiple times on animated data, for each frame that needs to be exported. +
    - New PrimWriter method GetValidityInterval() : Enables PrimWriter to specify the validity interval of their exported data at a certain time. From this, the exporter figures out at what frames PrimWriter::Write() needs to be called (base implementation returns the object's validity interval). +
    - New header TimeUtils.h +
    - The TimeConfig class has been modified to ease usage, all conversions TimeValue/3dsMax frame/TimeCode are now handled from there. +
    - New class "ExportTime" : Represents a single time sample export configuration. I.e. the 3dsMax time value, and what USD timecode it corresponds to. +
    - MeshConverter::ConvertToUSDMesh() now also receives a specific time frame to convert the mesh at. +
  • +
+ Fixes: +
    +
  • + Animation Frame Range now correctly accepts negative values. +
  • +
+
v0.4.1
+ What's New: +
    +
  • + Updated the default material scope in the USD Exporter from "Materials" to "mtl" to align with Maya. +
  • +
  • + Updated the USD Exporter to be organized into rollouts. +
  • +
  • + Updated the USD Exporter to export non-renderable geometry objects with the Guide purpose. +
  • +
  • + Updated USD Exporter to export Group Nodes as the USD "group" kind. +
  • +
  • + Changed the defaultPrim to "root" in the USD Exporter. +
  • +
  • + Separated USDZ from the other USD file types in the USD Exporter to make it easier to understand how to export USDZ. +
  • +
+ Fixes: +
    +
  • + Fixed a defect in the USD Exporter when exporting some scenes with big numbers on their names. +
  • +
+
    +
  • + Fixed incorrect USDStageObject ParamBlock parameter SourceAnimationEndTimeCode naming from SourceAnimationEndFrameTimeCode to SourceAnimationEndTimeCode. +
  • +
+ +
v0.4.0
+ What's New: +
    +
  • + The USD Exporter has been updated to merge Plugin-Configuration settings and user-settings, allowing USD Preview Surface materials to be written alongside context-driven materials, such as Vray Materials (when an appropriate version of Vray is installed). +
  • +
+ Fixes: +
    +
  • + Updated the USD Exporter to use the Non-Localized name of Material classes in the shader writer. +
  • +
+ +
v0.3.8
+ Fixes: +
    +
  • + Fixed some transparent materials not displaying in the viewport. +
  • +
+
    +
  • + Added warnings to the USD Export log when exporting to USDSkel and there are modifiers above the Skin modifier. +
  • +
+
    +
  • + Disable modifiers changing the geometry in a way incompatible with UsdSkel on export. +
  • +
+
    +
  • + Fixed USDStageObject.SelectRootLayerAndPrim() not returning the Payalods option. The Payloads option now returns as a boolean in the third item in the resulting array. +
  • +
+
    +
  • + Removed the term "beta" from the USD plugin. +
  • +
+
    +
  • + Updated the USD Exporter label for USDSkel to "Skin" instead of "Skeletons" to match the conventions of other exporters. +
  • +
+
v0.3.7
+ What's New: +
    +
  • + Updated the USD version to 22.11 for 3ds Max 2024. +
  • +
+
    +
  • + Added USDSkel support to the USD Exporter. When enabled, skinned meshes will export as USDSkel instead of animated vertex caches. +
  • +
+
    +
  • + Cleaned up some tooltips in the Animation rollout of the USDStageObject. +
  • +
+
    +
  • + Cleaned up API to reduce the amount of build warnings when creating plugins for the 3ds Max USD. +
  • +
+ Fixes: +
    +
  • + Fixed some transparent materials not displaying in the viewport. +
  • +
+
    +
  • + Updated USD Exporter default primvar name of UV channel 1 from "st" to "st0". This is a temporary fix to deal with a MaxToA issue introduced with the change to USD 22.11. +
  • +
+
    +
  • + Added warnings to the USD Export log when exporting to USDSkel and there are modifiers above the Skin modifier. +
  • +
+
v0.3.6
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 SDK O888-64 release; SDK freeze. +
  • +
+ Fixes: +
    +
  • + Improved support for opacity in the MaxUsdPreviewSurface material. +
  • +
+
    +
  • + Fixed defect causing unexpected evaluation of the stage while manually editing the Stage mask. +
  • +
+
v0.3.5
+ What's New: +
    +
  • + Update the material target list in USD exporter UI to only list USD Preview Surface, other targets are expected to be enabled part of plugin configurations. +
  • +
  • + The items in the plugin configuration combobox are now checkable. Multiple elements can be selected or none of them can be selected. +
  • +
  • + Fixed missing sourceColorSpace, scale and bias settings for Normal maps in the USD Exporter that was casing incorrect normals display in USD. Also, for non-Normal maps, sourceColorSpace will be set to "raw". +
  • +
  • + Added support for Alembic references in the USD Stage. +
  • +
+ Fixes: +
    +
  • + Fixed defect where texture paths could be wrong in the USDZ exporter. +
  • +
  • + Fixed crash when changing a USD Stage's prim's active state via scripting and then changing the display settings of the stage. +
  • +
  • + Fixed defect where the RenderUSDTimeCode could only be queried at the current frame in the Max timeline. +
  • +
+ +
v0.3.4
+
    +
  • + Fixed crash in USD Exporter when a PrimWriter had changed the USD hierarchy in a way that the exporter did not expect. +
  • +
  • + The USD Exporter now utilizes the Context to set needed Chaser and Shader settings for plugins. Plugins need to update their implementation to use the new Context feature. This removes the need for the user to turn on multiple options in the exporter for custom plugins. +
  • +
  • + Support multiple UV channels for offline USD Stage rendering using the fallback method. +
  • +
+
v0.3.3
+ What's New: +
    +
  • + Updated the USD Exporter to comply with USD standards for not nesting shader nodes. +
  • +
  • + Added self.GetNodesToPrims() to PrimWriters that will get a map of prims made from nodes in the scene. Helpful for writing associations to prims created from other nodes in the scene. +
  • +
  • + Added the .version property to the maxUsd Python module to know the USD plugin version. +
  • +
  • + Added an option in the USD Exporter to not nest Gprims. This option will now be on by default and makes the USD created from 3ds Max conform more to the general USD guidelines. +
  • +
+
v0.3.2
+ What's New: +
    +
  • + Updated the implementation of Macroscripts in the USD installer to align with how Application Plugins are intended to be packaged. +
  • +
  • + Chaser registration now supports additional fields: a nice name and description. Improves how chasers are displayed in the USD export UI. +
  • +
+
v0.3.1
+ What's New: +
    +
  • + Inform user in case of missing requirements for HdStorm +
  • +
+ Fixes: +
    +
  • + Fixed defects around objects that have non-invertible matrices in the USD Exporter and the USD Stage Object. +
  • +
+ +
v0.3.0
+ What's New: +
    +
  • + First public beta release of the USD Stage Node to reference USD files directly into 3ds Max. +
  • +
  • + First public beta release of the Max USD SDK that allows 3rd-party developers to extend the USD Exporter. SDK available in a separate download. +
  • +
+ Fixes: +
    +
  • + Fixed viewport clipping on USD data with missing extent information. +
  • +
  • + Fixed python error output to the console on certain USD librairies being initialized. +
  • +
+
v0.2.26
+ What's New: +
    +
  • + Added a menu item into the File > Reference Menu to load in a USD file as a reference at the scene origin. +
  • +
  • + Updated the order of the rollouts in the USD Stage object. +
  • +
  • + Increased the size of the File and Mask buttons in the USD Stage parameters rollout. +
  • +
+ Fixes: +
    +
  • + Fixed the Animation rollout in a USD Stage Object not matching the width of other rollouts. +
  • +
  • + Fixed the the "Create Stage from USD File" menu opening while in the USD Stage Object File selection menu and the user presses 'cancel'. +
  • +
  • + Stage performance improvements. +
  • +
  • + Bounding box rework. +
  • +
+
v0.2.25
+ What's New: +
    +
  • + The USD Stage Parameters UI has been cleaned up. +
  • +
  • + The USD Stage now has a Start and Speed option to set animation offsets and scaling. +
  • +
  • + USDGeomSubSet, Material and Shader prims are no longer listed when using the USD Stage's Prim Browser. +
  • +
  • + The Max USD SDK has been updated to expose the MeshConverter to the SDK. +
  • +
  • + New method `OpenInUsdView` in the `maxUsd` Python module to launch USDView from inside a Python or MAXScript script. +
  • +
+ Fixes: +
    +
  • + Fixed a crash loading some USD files into the USD Stage node. +
  • +
  • + Fixed a crash when rendering some USD Stage nodes. +
  • +
+
v0.2.24
+ What's New: +
    +
  • + Added Python and C++ samples for export chasers in the USD SDK. +
  • +
  • + Added new Timeline rollout to the USDStageObject. This rollout gives options to offset, limit and scale the animation of the stage. +
  • +
  • + Added new MAXScript command UsdStageObject.SelectRootLayerAndPrim() that will open a browsing window to select a USD file and a prim path. Returns a string array where element 1 is the path to the USD file and element 2 will return a prim path if one is selected. +
  • +
+ Fixes: +
    +
  • + Fixed problems picking USD Stage nodes that are instanced. +
  • +
  • + Fix issue around USDView not opening from exporter when the PATH environment variable contains binaries that are conflicting with the ones from the 3ds Max USD component. +
  • +
  • + Fixed a performance regression viewing a USD Stage that had pointinstances. +
  • +
  • + Fixed the Prim Mask list not remembering current selection when opening a USD Stage prim mask dialog and a prim had already been selected. +
  • +
  • + Fixed a display error in the USD Stage prim browser that would show a blank list. +
  • +
  • + Fixed an issue that would cause the USD prim browser window to keep growing in size with some actions. +
  • +
  • + Fixed file references in exported USD to use forward slashes instead of back slashes so that USD files created from Max can load in all USD environments instead of just Windows. +
  • +
+ +
v0.2.23
+
    +
  • + Compatibility release for 3ds Max 2024 Beta O656-63.16 release. +
  • +
  • + Exposed new UI to configure export chasers from the USD Export dialog. +
  • +
  • + Normalize export asset reference paths (using forward slashes, for compatibility with mac/unix). +
  • +
  • + Fixed issue with "Mesh Merge" when display purposes are toggled. +
  • +
  • + Fixed issue with UsdStageObject material textures not updated as expected when reloading USD layers. +
  • +
  • + Fixed export to USDZ for 3dsMax scene with USD Stage Objects. +
  • +
  • + Properly export USD purpose and kind attribute on 3dsMax object with modifiers applied. +
  • +
+
v0.2.22
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O630-63.15 release. +
  • +
  • + Improvements in material creation speed +
  • +
  • + Fix minor UI related bugs +
  • +
+
v0.2.21
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O608-63.14 release. +
  • +
  • + Fix crash on material export for instanced data from usd stage objects +
  • +
  • + Fix kitchen set instance transforms +
  • +
  • + Subset consolidation improvement +
  • +
+
v0.2.20
+ What's New: +
    +
  • + Removed legacy material conversion scripts. Now always using Shader Writers. +
  • +
  • + Export "chasers" can now be registered for export. +
  • +
  • + Updated to USD 21.11 +
  • +
  • + Fixed a bug preventing the user to properly set the root layer paths, when creating multiple USD Stage objects. +
  • +
+
v0.2.19
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O561-63.12 release. +
  • +
  • + There is a new property to the USDStageObject called .PointedPrim which is a string denoting the path to prim currently under the cursor. This property allows tool developers to create scripted tools for working with USD data in the viewport. +
  • +
  • + Added a new dialog in the command panel for a USD Stage node to browse for a USD file to use as a reference. +
  • +
  • + Added PrimWriter and ShaderWriter to new USD Extensibility system. +
  • +
+
v0.2.18
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O545-63.11 release. +
  • +
  • + Fix to 'DisplayGuide' setting does not respect setting during Filo I/O operations. +
  • +
  • + Fix object picking when changing the system units of the 3dsmax scene / payload render problem. +
  • +
  • + Make sure to include the mesh's transform when computing the instance transforms. +
  • +
+
v0.2.17
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O522-63.10 release. +
  • +
+
v0.2.16
+ What's New: +
    +
  • + Improved USD Stage rollup UI, added stage mask functionality and dialog for browsing for a prim. +
  • +
  • + Added Stage Icon for Stage object in the viewport. +
  • +
  • + Replace Display Mode checkboxes with DropDown. +
  • +
  • + Fixed issues relating to Intel dataset: +
      +
    • + Fixed badly exported data on corrupt normals. +
    • +
    • + Fixed crash in the UsdStage object on badly formed USD primvars. +
    • +
    +
  • +
+
v0.2.15
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O479-63.8 release. +
  • +
+
v0.2.14
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O457-63.7 release. +
  • +
  • + Added mesh merge viewport performance options. +
  • +
+
v0.2.13
+ What's New: +
    +
  • + Fixed a crash when exporting USD Stage objects are USD references. +
  • +
+
v0.2.12
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O408-63.4 release. +
  • +
  • + The UsdStageObject now properly displays UsdPreviewSurface materials using texture transforms (UsdTransform2d) and texture wrap modes. +
  • +
+
v0.2.11
+ What's New: +
    +
  • + Compatibility release for 3ds Max 2024 Beta O384-63.3 release. +
  • +
+
v0.2.10
+ What's New: +
    +
  • + Improved viewport performance with topology changes in USD stage. +
  • +
  • + Fixed MAXScript not being able to toggle the castShadows parameter of a Photometric Light. +
  • +
+ +
v0.2.9
+ What's New: +
    +
  • + Added support for wireframe display. +
  • +
  • + USD Stage now supports computed primvars such as USDSkel. +
  • +
+ +
v0.2.8
+ What's New: +
    +
  • + Updated 2023 maxsdk dependency version to maxsdk-25.0.0-V951-62.0. +
  • +
+ +
v0.2.7
+ What's New: +
    +
  • + Add button to explitly reload layers instead of doing it everytime a stage is added. +
  • +
  • + Hit testing now properly sets up the hit depth, so that the closest object to the camera is prioritized. +
  • +
  • + Updating materials from python now works as expected. Better reuse material across meshes. +
  • +
+ Fixes: +
    +
  • + Fixed an issue with USDZ exports where dependency (bitmaps, etc.) paths were not correctly built. +
  • +
+ +
v0.2.6
+ What's New: +
    +
  • + Added Basic Frustum Culling. +
  • +
  • + Updated to Python 3.9 and Boost 1.76 in 2023. +
  • +
+
v0.2.5
+ What's New: +
    +
  • + USD Stage Objects can now be exported as USD references. +
  • +
+ Fixes: +
    +
  • + Resizing columns in the USD Export dialog's custom UV mapping dialog now limits the amount of resetting possible so that the columns' header text can still be visible. +
  • +
  • + Fixed an issue when updating primvars via scripting on a USD Stage Object resulting in incorrect mapping. +
  • +
  • + Fixed an issue with vertex color animation not working as expected on the USD Stage Object. +
  • +
+ +
v0.2.4
+ What's New: +
    +
  • + Update to USD 21.08 in USD plugins for 3ds Max 2021, 2022, and 2023. +
  • +
  • + Minimal support for rendering a USD Stage added as default fallback when renderers do not support accessing a USD stage directly. +
  • +
+
v0.2.3
+ What's New: +
    +
  • + USD Stage Node improvements : normals, UVs and UsdPreviewSurface materials are now properly represented in the viewport. +
  • +
  • + Improved performance and reliability of hit testing for the USD Stage Node. +
  • +
+
v0.2.2
+ What's New: +
    +
  • + USD Stage node added to beta build (For 3dsMax 2022, already present in 3dsMax 2023). +
  • +
+
v0.2.1
+
    +
  • + Compatibility release for 3ds Max Beta V685-61.16 release. +
  • +
+
v0.2.0
+ Fixes: +
    +
  • + Added UI to configure mapped channels export to USD primvars. +
  • +
  • + Update labels and tooltips in the USD export UI. +
  • +
  • + Disabled export of transparency maps, as there is no support in USD preview surface. +
  • +
+ +
v0.1.8
+ What's New: +
    +
  • + New MAXScript function USDImporter.ConvertUsdMesh() to convert a USD Mesh Prim to a TriMesh, using the stage cache. +
  • +
  • + Photometric Sun Positioner exports as a simple UsdLuxDistantLight (sun orientation + color and intensity). +
  • +
  • + Greatly reduce the export time of 3dsMax scenes containing many nodes. +
  • +
+ Fixes: +
    +
  • + Fixed an issue with bad transforms when round-tripping 3dsMax scenes with instances (3dsMax -> Usd -> 3dsMax). +
  • +
+ +
v0.1.7
+ What's New: +
    +
  • + USD Importer has improved support for lights as Photometric Lights. +
  • +
  • + Exporting very large triangle mesh data is now as much as 50% faster than previously in some cases. +
  • +
+
v0.1.6
+ What's New: +
    +
  • + Export Shape objects to linear UsdGeomBasisCurves. +
  • +
+
v0.1.5
+ What's New: +
    +
  • + Added help context to USD Import and Export Dialogs. +
  • +
  • + USD Export options added to choose mesh format type to help speed up exports as well as give users control of whether their geometry should enforce polygon geometry or tris. Previously, all exports were done as Polygon which is slower in export time and performance in USD View. Exporting as tris exports faster and offers better viewport performance in USD View. +
  • +
  • + Photometric lights now export with all mappable properties into USD. +
  • +
  • + Update to USD 21.05 in USD plugins for 3ds Max 2021, 2022, and 2023. +
  • +
  • + Fixed broken sample/frame UI control. +
  • +
+
v0.1.4
+ What's New: +
    +
  • + Compatibility release for 3ds Max Beta V522-61.10 release +
  • +
+
v0.1.3
+ What's New: +
    +
  • + Python module PyOpenGL is now preinstalled to facilitate the use of the USDView tool (user must run the RunUsdView.bat script to benefit from this preinstall). +
  • +
  • + Added new option to open exported USD files in USD View after export. +
  • +
  • + USD exports bone objects to the non-renderable purpose (USDpurpose=guide). +
  • +
  • + USD Exporter now has an option to skip hidden geometry from export. There is also an option to assign USD Visibility to exported prims based on their visibility in the Max scene. +
  • +
+
v0.1.2
+ What's New: +
    +
  • + Transform and Vertex animations now supported in USD Exporter. +
  • +
  • + Added enhanced support for both physical and standard cameras in the importer. +
  • +
+
v0.1.1
+ What's New +
    +
  • The bitmap texture's Tile, Offset and W Angle information now imports and exports correctly.
  • +
  • Added enhanced support for both physical and standard cameras export.
  • +
  • Added enhanced support for USD camera import. Imports to physical cameras.
  • +
+
v0.1.0
+ Fixes: +
    +
  • Bad USD Api call causes significant export slow down.
  • +
  • Undefined string metadata crash.
  • +
  • Metadata property names are case sensitive.
  • +
  • Suspend hold for import/export to avoid restore objects being created.
  • +
+
v0.0.28
+ What's New: +
    +
  • + An export option of RootPrimPath can be used to create a root scope for export. +
      +
    • + USDExporter.RootPrimPath = string (a valid USD prim path) +
    • +
    • + Default is "/" - this is the USD default, the pseudo-root and the previous + behavior. +
    • +
    • + Specified root is defined as a scope unless "/". +
    • +
    +
  • +
  • + Pivots are conserved in all cases with World Space Modifiers. +
      +
    • Inverse of node transform is baked into the geometry to bring points back into local space.
    • +
    +
  • +
+ Fixes: +
    +
  • Fixed import of normals and uvs for leftHanded geometry.
  • +
+
v0.0.27
+ What's New: +
    +
  • + All USD DLLs are prefixed by 3dsmax_ to prevent colliding with other plugins which may ship + with USD (i.e. Omniverse). +
  • +
  • + Textures can use any map channel for import and export. +
      +
    • + Primvar channel mapping is respected on import and export. +
    • +
    +
  • +
  • + Relative paths are now used when exporting textures. +
  • +
+ Fixes +
  • Installer ProductCode is unique for each MSI.
+ +
v0.0.26
+ What's New: +
    +
  • + Added tooltips to import/export dialogs. +
  • +
+ Fixes: +
    +
  • Prevent Python native types from generating log spam when comparing types.
  • +
  • Maxcript enum option validation.
  • +
  • Default prim should not use prototypes.
  • +
  • Fixes/Improvements for handling of world space modifiers on export.
  • +
  • Prims are not instanced if a single instance is exported.
  • +
  • Save import UI options.
  • +
  • Fixes for log spam with material imports
  • +
  • USD filename inside a USDZ file kept the same as the USDZ filename.
  • +
  • Instances with children not exporting to usd instances properly.
  • +
+
v0.0.25
+ What's New: +
    +
  • Added support for OSLBitmap and UberBitmap.osl bitmaps. +
      +
    • By default, USDImporter now imports USDTextures as UberBitmap and channels are connected as + specified in USD.
    • +
    +
  • +
+ Fixes: +
    +
  • USDExporter export frame can now be set to a negative number in export UI.
  • +
  • Installers are no longer signed with expired certificate.
  • +
  • Export Selected with instance resulting syntax error in USD file.
  • +
  • Export Selected could result in name conflicts.
  • +
  • Extra crease data properties are no longer created after import and re-export.
  • +
  • Material issues:
  • +
      +
    • Roughness is not properly set on export with physical materials when rougness_inv is true.
    • +
    • Cutout or opacity map is not mapped on exported in either physical material or VRay material.
    • +
    • Exporter is mapping bump maps to the normal input for UsdPreviewSurface.
    • +
    +
+
v0.0.24
+
    +
  • +

    Update to USD 21.02 in USD plugins for 3ds Max 2021, 2022 and 2023.

    +

    UsdMtlx library is available in USD plugin for 3ds Max 2021, 2022 and 2023 in + Contents\plugin\usd\usdMtlx folder.

    +
  • +
  • + The #onExportComplete and #onImportComplete callbacks have been updated to + include the import/export options and the usd filename: + +
      +
    • + Maxscript: +
        +
      • func myCallback <int>stageId <struct>conversionInfo <string>usd_filename <IUSDImportOptions or IUSDExportOptions>options +
      • +
      +
    • +
    • + Python: +
        +
      • def myCallback(stageId, conversionInfo, usdFile, options)
      • +
      +
    • +
    +
  • +
  • +

    Added the `creator` metadata as a customLayerData to exported USD files

    +
      +
    • Example:
    • + + customLayerData = {
      + string creator = "USD for 3dsMax: v0.0.24 Beta"
      + }
      +
      +
    +
  • +
+ Fixes: +
    +
  • +

    Removed an error message dialog when cancelling import.

    +
  • +
  • +

    Fixed an issue where object pivots were not properly imported.

    +
  • +
+
v0.0.23
+ What's New: +
    +
  • +

    Import and Export UI has been updated, exposing missing options.

    +
  • +
  • +

    Material import can be enabled/disabled through UI.

    +

    Material boolean option added to Import/Export options struct.

    +
  • +
  • +

    Export time option added to UI and ExportOptions struct:

    +

    TimeMode = #current exports from the current time code

    +

    TimeMode = #explicit exports from the time frame specified by .TimeFrame.

    +

    TimeMode only allows #explicit or #current and not other values (like a random integer or #name)

    +

    If a non-default (non zero) value is set for TimeFrame, and #current is used, a warning is written to + the log.

    +
  • +
+
v0.0.22
+ What's New: +
    +
  • + InferMainUvPrimvar option no longer exists, it is replaced by + .ImportUnmappedPrimvars +
      +
    • + If false, only primvars with an explicit mapping are imported. +
    • +
    • + If true : +
        +
      • + Channel 1 (main UV) is filled with a primvar of type (prioritized in this order) : +
          +
        • + TexCoord2fArray +
        • +
        • + TexCoord2dArray +
        • +
        • + TexCoord2hArray +
        • +
        • + TexCoord3fArray +
        • +
        • + TexCoord3dArray +
        • +
        • + TexCoord3hArray +
        • +
        • + Float2Array +
        • +
        • + Double2Array +
        • +
        • + Half2Array +
        • +
        +
      • +
      • + Channel 0 (VertexColor) if filled with a primvar of type (in this order): +
          +
        • + Color3fArray +
        • +
        • + Color3dArray +
        • +
        • + Color3hArray +
        • +
        +
      • +
      • + All other unmapped (and still unused) primvars of dimension <= 3 are + imported to unused channels 2+. +
          +
        • For example, if channels 2, 4, 6 are already used by explicit mappings, unmapped + primvars that are not the main UV or VertexColor are imported to 3,5,7,etc. + TexCoord types are imported to lower channels.
        • + +
        +
      • +
      +
    • +
    +
  • +
  • + Space warp is now supported when exporting to USD. +
  • +
  • + Expose Log interface +
      +
    • Added Log command to USDExporter and USDImporter to log + errors/warnings/info to USD log for import and export during callbacks.
    • +
    • Usage: +

      USDExport.Log #info|#warn|#error msg
      + USDImport.Log #info|#warn|#error msg

      +
    • +
    +
  • +
  • USDStage node now exposes CacheId
  • +
+ Fixes: +
    +
  • USD instances round-trip without creating unwanted nodes.
  • +
+
+
v0.0.21
+ What's New: +
    +
  • Export Normals options +
      +
    • USDExporter.UIoptions.Normals = #primvar|#attribute|#none
    • +
    • When set to attribute, normals are exported as attribute instead of primvar. If #none, no normals exported.
    • +
    +
  • +
+ Fixes: +
    +
  • Fixed a crash when passing undefined to SetPrimvarChannelMapping
  • +
  • Fixed a performance issue when importing large usd scenes in 2021.3 and above.
  • +
      +
    • Too frequent updates to max's status bar during import was causing huge slowdown in import time
    • +
    +
+ +
v0.0.20
+ What's New: +
    +
  • +

    TimeCode now can be #startTime, #endTime or #explicit.

    +
      +
    • +

      Default if importing at #startTime for both UI and script - they should now behave the same, drag and drop as well, as long as options are not touched with scripting.

      +
    • +
    • +

      Using #explicit without specifying a value for TimeCodeValue fails with an error.

      +
    • +
    • +

      If #explicit, time value (the old .TimeCode) is specified via .TimeCodeValue

      +
    • +
    • +

      Using #startTime or #endTime with a value specified for TimeCodeValue logs a warning in the log (#warn level).

      +
    • +
    • +

      The actual time code used for import is always logged as an info (#info).

      +
    • +
    +
  • +
  • +

    Users can now import from a USD stage cache by providing the stageCacheId

    +
      +
    • + Maxscript:
      + + pyUsd = python.import("pxr.Usd")
      + pyUsdUtils = python.import("pxr.UsdUtils")
      + local stage = pyUsd.Stage.Open(@"C:\Kitchen_set.usd")
      + local stageCache = pyUsdUtils.StageCache.Get()
      + stageCache.Insert(stage)
      + local stageId = (stageCache.GetId(stage)).ToLongInt()
      + local importOptions = USDImporter.CreateOptions()
      + USDImporter.ImportFromCache stageId importOptions:importOptions
      +
      +
    • +
    • + Python:
      + + from pxr import Usd, UsdUtils
      + from pymxs import runtime as RT
      + stage = Usd.Stage.Open(r"C:\Kitchen_set.usd")
      + stageCache = UsdUtils.StageCache.Get()
      + stageCache.Insert(stage)
      + stageId = stageCache.GetId(stage).ToLongInt()
      + option = RT.USDImporter.CreateOptions()
      + RT.USDImporter.ImportFromCache(stageId, importOptions=option)
      +
      +
    • +
    +
  • +
+ Fixes: +
    +
  • +

    USD import no longer changes 3ds Max viewport quality settings.

    +
  • +
  • +

    Shader and Material prim will no longer create point helper node on import.

    +
  • +
  • +

    Fixed a crash when import USD scene on non-English 3ds Max.

    +
  • +
+
v0.0.19
+ What's New: +
    +
  • All known USD files import with their UV data set intact, such that uv#, uv_#, st# and st_# are handled by default.
  • +
  • The main uv channel is inferred if .InferMainUvPrimvar is set to true. It is not otherwise.
  • +
  • texCoord2f and texCoord3f primvar types are prioritized when inferring the main UV primvar. Float and double array primvars can also be used as UVs if found.
  • +
  • When the main UV channel is inferred and not explicitly mapped, an info message is logged.
  • +
  • Visibility is now correctly computed on import.
  • +
+
v0.0.18
+ Fixes: +
    +
  • Fix crash with animated topology in USD Stage.
  • +
  • Fix opacity threshold when round-tripping materials.
  • +
  • Fix multi-material binding on instanced prims.
  • +
  • Fix export of xref materials.
  • +
+
v0.0.17
+ What's New: +
    +
  • Export texture paths as absolute paths until relative paths can be properly supported.
  • +
+ Fixes: +
    +
  • + Disable point helper cross display on import. +
  • +
+
v0.0.16
+ What's New: +
    +
  • Update to USD 20.11.
  • +
  • Use point helpers instead of dummies for groups and empty transforms.
  • +
+ Fixes: +
    +
  • Fixes for round-tripping material Ids.
  • +
  • Fix crash when exporting usd without specifying extension.
  • +
  • Fix naming and visibility issues when importing usd with instances.
  • +
+
v0.0.15
+ What's New: +
    +
  • + USD Exporter will convert VRayMtl to USDPreviewSurface on export. +
  • +
  • Importing USD scenes with instanced prims create instances in Max where possible.
  • +
  • Users can import USD files with custom options without affecting the UI options.
  • + Import command: +
      +
    • + + local importOptions = USDImporter.CreateOptions()
      + USDImporter.ImportFile importPath importOptions:importOptions +
      +
    • +
    + + You can also change values of the UI config by assigning it a new one like this: +
      +
    • + + USDImporter.UIOptions = importOptions + +
    • +
    +
  • USDExport.fileExport can export a list of scene nodes without requiring selection.
  • +
      +
    • + Example: + USDExporter.ExportFile exportPath exportOptions:options contentSource:#nodeList nodeList:nodes +
    • +
    • + If exportOption is undefined, default export options are used +
    • +
    • If contentSource is undefined, we are exporting from the root node
    • +
    • If contentSource is set to #selected, we are exporting from the selected + nodes only like before
    • +
    • If contentSource is set to #nodeList, the command needs an extra argument + nodeList to be defined which will behave like the selected option, but without changing + the scene selection.
    • +
    +
  • USD exports quads to triangles when vertices are non-coplanar when + Preserve Edge Orientation is + enabled.
  • +
+ Fixes: +
    +
  • + Material IDs are now correctly exported with their appropriate materials. +
  • +
  • Fix for round-tripping opacityThreshold
  • +
+
v0.0.14
+ What's New: +
    +
  • + Added a new experimental USD Stage node for 3ds Max 2022 and higher. Use this node to + reference USD scenes in a 3ds Max scene.
    + Known issues : +
      +
    • All normals are computed smooth normals.
    • +
    • Animated topology may cause crashes.
    • +
    • No support for skeletal animations / computed geometry & primvars.
    • +
    • No Frustum culling.
    • +
    • No consolidation within render nodes (affects viewport performance).
    • +
    • No UVS / materials.
    • +
    • No Wireframe viewport support
    • +
    • No rendering support
    • +
    +
  • +
  • + Added new USDPreviewSurface scripted interface for Physical Material. This provides a + 1-to-1 implementation of USDPreviewSurface to simplify interop with USD.
    + USDPreviewSurface is the default material used for importing USD scenes with materials. +
      Known issues: +
    • Export from PBRSpecGloss does not set UseSpecularWorkflow to true for + UsdPreviewSurface.
    • +
    • Not fully compatible with 3ds Max 2018.
    • +
    • Imports in 2019 fail to add textures.
    • +
    + +
  • +
  • + USDZ added as an export option. +
  • +
  • + Added Maxscript export API to export without affecting global state. +
      +
    • + Added USDExporter.ExportFile exportPath exportOptions:exportOptions maxscript + command + which has an optional argument for export options. +
    • +
    • + To create a new export options object: exportOptions = USDExporter.CreateOptions() +
    • +
    • + If not specified, default export options are used. Default options are NOT the same as UI export + options. +
    • +
    • + UI export options are accessible: uiExportOptions = USDExporter.UIOptions +
    • +
    • + Export options example: +
        + + uiExportOptions.Meshes = false
        + uiExportOptions.Lights = false
        + uiExportOptions.Cameras = false
        + uiExportOptions.FileFormat = #ascii
        + uiExportOptions.UpAxis = #y
        + uiExportOptions.LogLevel = #info
        + uiExportOptions.LogPath = ("somepath/log_path.txt")
        + uiExportOptions.SetChannelPrimvarMapping 1 undefined
        + uiExportOptions.RegisterCallback testCallback1 #testCallback #onExportComplete
        +
        +
      + +
    • +
    +
  • +
  • +

    USD version has been updated to 20.08.

    +
  • +
+
v0.0.13
+ What's New: +
    +
  • + A batch script (RunUsdTool.bat) to run usd tools is now installed in bin folder to make using USD Tools + with Max Python easier. +
      + Usage: RunUsdTool {usd_tool} {options}
      + For example: RunUsdTool UsdView MyFile.usd +
    • + Usdcat/Usdzip work out-of-box for 3dsMax 2018-2022. +
    • +
    • Usdview should work for 3dsMax 2021+ after following on-screen instructions/warnings to resolve + missing dependencies if any. +
    • +
    +
  • +
  • + Material import/export enabled via post import/export scripts. +
      +
    • Material conversion is customizable by editing JSON config files and placing in user folders. +
    • +
    • Default settings convert USDPreviewSurface materials conversion to + PBRMetalRoughness materials.
    • +
    +
  • +
+
v0.0.12
+ What's new +
    +
  • + USD Python Toolset is now included in the plugin package. See USD Toolset documentation page for + more info on + usage. + +

    Windows PATH should contain + <install_path_to_max_usd_plugin>\Contents\bin

    + +

    PYTHONPATH should contain + <install_path_to_max_usd_plugin>\Contents\bin\python

    +
  • +
  • + Crease data is now supported for Import/Export with USD. +
  • +
+
    +
  • + Hidden objects in Max scene are exported with visibility=invisible in USD. Invisible prims + are hidden on import. +
  • +
+
v0.0.11
+ What's New: +
    +
  • + Added command to disable/filter metadata being imported via maxscript interface: +
      +
    • USDImporter.Metadata = #(#kind, #hidden, #purpose)
    • +
    • Defines the metadatas that are imported. +
    +
  • + Fixed import time performance with metadata. + +
  • + +
  • + Transform offset is no longer exported to a child prim. +
  • +
+
v0.0.10
+ What's New: +
    +
  • + Added maxscript callbacks for UsdExporter/UsdImporter : + #onImportComplete + and #onExportComplete. +

    + These callbacks are triggered before closing or writing the USD stage to disk, and are passed the + Usd + stageId. +

    + This allows a scripter to make additional imports/exports, such as special-case metadata handling, + custom + classes, etc. +

    + The Usd stage can be accessed during export and import time by stageId: +
    +

    + + cache = UsdUtils.StageCache.Get()
    + stage = cache.Find(Usd.StageCache.Id.FromLongInt(stageId))
    +
    +

    +

    The following functions are identical for UsdExporter and UsdImporter:

    +
      +
    • + RegisterCallback <value>callback <value>id <enum>event +
        +
      • + USDExporter event enums: #onExportComplete +
      • +
      • + USDImporter event enums: #onImportComplete +
      • +
      +
    • +
    • + UnregisterCallbacks id:<value> event:<enum> +
        +
      • + If id not specified then all callback ids are unregistered. +
      • +
      • + If event not specified, callbacks are unregistered for all event types. +
          +
        • + USDExporter event enums: #onExportComplete +
        • +
        • + USDImporter event enums: #onImportComplete +
        • +
        +
      • +
      +
    • +
    • + GetCallbacks() +
        +
      • + Returns a dictionary to access all the registered callbacks. +
      • +
      • + The key is the callback type (for now only the #onImportComplete or + #onExportComplete, and the value is another dictionary of callback IDs + (Name type) + to callback functions. +
      • +
      • + For example : +
      • +
      +
    • +
    +

    + USDExporter.RegisterCallback convertMaterials #someId #onExportComplete
    + print (USDExporter.GetCallbacks())
    + -> (DataPair key:#onExportComplete value:Dictionary #name someId:convertMaterials() )
    +

    + The #onExportComplete and #onImportComplete callbacks should have the + following + signature: +
      +
    • + Maxscript: +
        +
      • func myCallback <int>stageId <struct>conversionInfo
      • +
      +
    • +
    • + Python: +
        +
      • def myCallback(stageId, conversionInfo)
      • +
      +
    • +
    + The conversionInfo struct is of the form: +

    + struct conversionInfo(
    +     <dictionary> primsToNodes (
    +         #('prim/Path':<INode>)
    +         ...
    +     )
    + )
    +
    +

    +
  • +
  • + USDImport now adds standard USD metadata fields as custom attributes. These custom attributes export to + USD when + found on exported nodes: +
      +
    • + hidden as usd_hidden +
    • +
    • + kind as usd_kind +
    • +
    • + purpose as usd_purpose +
    • +
    +
  • +
  • + By default, vertex colors (channel 0) are mapped to primvar:vertexColor (a generic primvar) + instead of + primvar:displayColor (well known usd primvar). +
      +
    • + Output the wire color to primvar:displayColor, which matches the intent of that + primvar + (fast display). +
    • +
    • + Change the import mappings accordingly to recognize vertexColor on import as well / set + wireColor from + displayColor. If not a constant primvar (i.e. different colors per vertex), use the first value. +
    • +
    • + All of this can still be overridden with the current system for configuring mappings, i.e. + should only + export wireColor to displayColor if no explicit mapping is set for + displayColor. + Same for import. User can always explicitly import the values to a channel if needed via script. +
    • +
    +
  • +
+ Fixes: +
    +
  • + Vertices that don't belong to any faces are removed upon import. +
  • +
+
v0.0.9
+ What's New: +
    +
  • + Mesh materialIds are imported and exported as GeomSubset prims. MultiSub material slot + names are used if possible, otherwise the materialId is converted to a string: _1_, + _2_, etc. +
  • +
  • + Meshes now import as EditablePoly instead of PolyMesh +
  • +
  • + USDImport now adds standard USD metadata fields as custom attributes. These custom attributes export to + USD when found on exported nodes: +
      +
    • hidden as usd_hidden
    • +
    • kind as usd_kind
    • +
    • purpose as usd_purpose
    • +
    +
  • +
  • + Added Logging support +
      +
    • + Logging is disabled by default, and no log file is created. +
    • +
    • + Log path can be specified (import/export) with + USDImporter.LogPath/USDExporter.LogPath - default to Max temp folder +
    • +
    • + Log level can be specified with + USDImporter.LogLevel/USDExporter.LogLevel - default #off +
        +
      • + #info -> All is logged. +
      • +
      • + #warn -> Only warnings and errors are logged. +
      • +
      • + #error -> Only errors are logged. +
      • +
      • + #off -> Logging disabled. +
      • +
      +
    • +
    • + Logging is set to 5 rotating files with a 200mb max size. +
    • +
    +
  • +
+ Fixes: +
    +
  • Objects imported from Y-Up scenes were facing the wrong direction. They are now rotated correctly.
  • +
  • UsdImport was creating "standard" materials for each mesh. Import now only sets wireColor - no materials are created.
  • +
+
v0.0.8
+ What's New: +
    +
  • Added mappings from USD Primvars to 3ds Max mapped channels on import: +
      +
    • primvars:displayColor to Channel 0/Vertex color.
    • +
    • primvars:st or primvars:map1 to the main UV channel.
    • +
    • primvars:mapN to channel N, up to 99.
    • +
    • primvars:mapShading to the shading channel (MAP_SHADING, -1)
    • +
    • primvars:displayOpacity to the alpha channel (MAP_ALPHA, -2)
    • +
    + All primvar to channel mappings are configurable via Maxscript. It should be possible to import any USD + primvar to any 3ds Max channel - as long as the primvar’s data type is compatible. +
  • +
  • + Support for upAxis in USD: +
      +
    • 3ds Max only support z-up axis. Therefore if y-up axis is used on import or export, 3ds Max will + automatically convert the up-axis.
    • +
    • On export, if y-up axis is specified, the conversion from z-up to y-up will be saved inside the + root prims transform matrix.
    • +
    • On import, if the USD stage is set up with y-up axis, the axis conversion will be automatically + done to z-up axis.
    • +
    +
  • +
+
v0.0.7
+ What's New: +
    +
  • + For 3ds Max 2021 and newer, USD python bindings are provided for Python3. +
  • +
  • + DefaultPrim is now set on export to the first valid prim. +
  • +
  • + Added default map channels export defaults: +
      +
    • + Vertex color exports by default to primvars:displayColor. +
    • +
    • + Vertex alphas export by default to primvars:displayOpacity. +
    • +
    • + UVs are exported to primvars:map1 to primvars:map99. +
    • +
    • + Shading map -1 is exported to primvars:mapShading. +
    • +
    +
  • +
  • +

    The following interfaces have been added to USDExporter:

    +

    + <void>SetChannelPrimvarMappingDefaults()

    +

    Reset mapping to default.

    +

    Default mapping is as follows, with autoExpandType set to true:

    +
      +
    • + Vertex color (0) exports by default to primvars:displayColor as + #color3fArray. +
    • +
    • + UVs (1-99) are exported to primvars:map1 to + primvars:map99 as #textCoord2fArray. +
    • +
    • + Vertex alphas (-2) export by default to primvars:displayOpacity as + #floatArray. +
    • +
    • + Shading map values (-1) are exported to primvars:mapShading as + #color3fArray.

      +
    • +
    +

    + <void>SetChannelPrimvarMapping <integer>channel <value>targetPrimvar type:<enum> autoExpandType:<boolean> +

    +
      +
    • + type enums: + #texCoord2fArray, #texCoord3fArray, #floatArray, + #float2Array, #float3Array, #color3fArray +
    • +
    • + type default value: #float3Array +
    • +
    • + autoExpandType default value: true +
    • +
    +

    Set the target primvar name and type per channel.

    +

    When AutoExpandType is true, type will expand depending on input values. For example, if + type is #textCoord2fArray and the texture coordinate channel has non-zero + values + in W, then the type will expand to #textCoord3fArray.

    +

    + <enum> GetChannelPrimvarType <integer>channel +

    +
      +
    • GetChannelPrimvarType enums: + #texCoord2fArray, #texCoord3fArray, #floatArray, + #float2Array, #float3Array, #color3fArray
    • +

      +
    +

    Returns channel primvar type.

    +

    + <string>GetChannelPrimvarName <integer>channel +

    +

    Returns channel primvar name.

    +

    + <boolean>GetChannelPrimvarAutoExpandType <integer>channel +

    +

    Returns channel primvar autoExpandType flag.

    +
  • +
+
v0.0.6
+ What's New: +
    +
  • Added support for Export Selected and prim name conflict resolution.
  • +
      +
    • ONLY selected object are exported.
    • +
    • If the parent of a selected object is not itself selected, then it will be at the root level in USD. + i.e. /nodename
    • +
    • Children of selected objects are not exported
    • +
    +
  • Added support for metersPerUnit for import and export.
  • +
      +
    • On import we will scale to match the units currently set in max.
    • +
    • On export we export the units set in max to the MetersPerUnit attribute of the stage.
    • +
    +
  • Fix: Do not export or import invalid faces.
  • +
  • Fix: Clean up bad geometry produced by triMeshes with hidden edges on curved surfaces.
  • +
+
v0.0.5
+ What's New: +
    +
  • USD updated to v20.05
  • + +
  • Maxscript Import options: +
      +
    • USDImporter.TimeCode : double (what time sample to import) + +
    • +
    • USDImporter.InitialLoadSet : can be #loadAll VS #loadNone + (whether to load payloads or not)
    • +
    • USDImporter.StageMask : Array of Strings (stage mask paths to use)
    • +
    • USDImporter.SetDefaults() -> Resets to these default options :
    • +
        +
      • TimeCode = undefined
      • +
      • InitialLoadSet = #loadAll
      • +
      • StageMask = "/" (imports everything)
      • +
      +
    • Options set via USDImporter.XYZ are not reflected in the UI, nor should they be + affected by imports going through the UI.
    • +
    +
  • +
  • Export object Transforms: +
      +
    • USDExporter.BakeObjectOffsetTransform : Option to bake the object offset in the + geometry.
    • +
    • When not baking the transforms, only use the extra xform when necessary, i.e. the offset is not + the identity matrix.
    • +
    • Groups/helper object transforms are properly exported. When you filter out meshes for example, + you really only filter out the meshes - not its hierarchy.
    • +
    +
  • +
+ Fixes: +
    +
  • + Fix unused vertices crash. Do not export or import invalid faces. +
  • +
+
v0.0.4
+ What's New: +
    +
  • Adds maxscript exposure to the Export plugin - the same options as already in the UI. +
      +
    • From script, not allowed to mismatch the extension VS the output format.
    • +
    • UI / Global options state stay synchronised - only saved in memory so the max session.
    • +
    • Changes made from the UI are only applied if the Import goes through (I.e. not if you cancel or + close from the export window).
    • +
    +
  • +
  • Normals support - Default behavior is exporting normals if specified OR smoothing groups exist.
  • +
+
v0.0.3
+ What's New: +
    +
  • Added export of Photometric Lights to USD Lights, with a limited set of attributes. Supported + Photometric Light shapes include Point, Line, Rectangle, Disc, Sphere and Cylinder.
  • +
  • Added export of Standard Cameras to USD Cameras, with a limited set of attributes.
  • +
  • Added option to import USD content from a specific time code via a slider on the Import dialog. +
  • +
  • Added options to the Export dialog, allowing: +
      +
    • Export of USD content in ASCII (USDA) or binary format (USDC).
    • +
    • Selecting the up axis of the exported USD Stage.
    • +
    • Export of meshes, lights and/or cameras.
    • +
    +
  • +
+
v0.0.2
+ What's New: +
    +
  • Support exporting USD content via the File > Export > Export... menu. +
  • +
  • Added some USD diagnostic information when displaying the USD import dialog. This should help + identifying potential issues when importing content – thanks for reporting any issues!
  • +
  • Added limited import of USD Light attributes. Supported attributes for SphereLight, + RectLight, DiskLight and CylinderLight include color, + enableColorTemperature, colorTemperature, intensity, + shadow:enable, shadow:color, radius, width, + height, length and shaping:ies:file.
  • +
  • Added limited import of USD Camera attributes. Supported attributes include projection, + clippingRange, focalLength and horizontalAperture
  • +
+
v0.0.1
+ What's New: +
    +
  • Initial release! 🎉
  • +
  • Support importing USD content via the File > Import > Import... menu. +
  • +
+