Often it is hard to get the whole picture of new feature/improvement for each 3dsMax release. They are scattered around blog post, help documentation and release notes. Many users doesn’t even know many of their requests are already addressed if they have not carefully follow each update.
3dsMax team posted this time line. But, there are a lot more than what’s listed in that post.
So, I decided to compile all my Unofficial 3dsMax What’s New list here, which I have maintained since 3dsMax 2017. I have been a beta tester for 3dsMax for long time. This list is collected from from beta documentation and beta forum thread.
This list has 2 purposes. 1) To show how 3ds Max development really has progressed, 2) help you to find if any specific feature has been added or bug has been fixed. If so, when.
This list is divided by each release year and have all features/improvement/fixes from previous year release. For example, 3dsMax 2017 list means anything done between 3dsMax 2016 initial release and 3dsMax 2017. So, it will have all updates of PU or SP for 3dsMax 2016.
!!! From 2022.1, I’ll update this list for each PU(Product Update). I’m also adding my related video link.
Be prepare for long list!
Boolean Modifier Improvements
- New caching mechanism – Boolean modifier will cache the result and save in the scene file to reduce loading time and improve stability. But, this means you can’t load 3dsMax 2024.1 max file with cache in 3dsMax 2024.To get around this problem, you can turn off the caching(SaveFinalResult) through this MaxScript command “BooleanModifierInterface.SaveFinalResult=false”. This will cause all Boolean modifiers in the scene to save WITHOUT the final result cache. Such files will load properly into any version of Boolean modifier.
- Normal support – Now fully supports smoothing groups, specified normals, and explicit normals that can exist on input boolean operands. When a mixture of smoothing groups, specified normals and explicit normals is used, all of the data in the boolean operation is converted to explicit normals.
- The UI will now display an “!” on any operands that are detected as not being watertight. Non-water tight operands in a Boolean operation have a higher degree chance of causing failures with its operand, or subsequent boolean operands.
- Support “hollow” objects.
- Resolved an issue with picking a group as an operand. It was not keeing transform correctly.
- Resolved an issue where the results of the Boolean could generate physically small elements that also had a small number of faces. This could create an issue with subsequent Boolean operations or modifiers. They are automatically removed now.
- Resolved a crash that could occur in the Boolean Modifier if the user deleted all of the operands from the Operands List.
- Resolved a crash that could occur in the Undo/Redo stack when removing operands from the Operands List in the Boolean Modifier.
- Resolved an issue the output could be incorrect when a Folder is used for OpenVDB mode.
- Fixed an issue where operand objects with animation data or animated parameters could cause 3ds Max to lockup when using the Boolean Modifiers OpenVDB mode.
- When extracting an operand from the Boolean modifier, the extracted object will now be correctly shaded as a solid object, instead of transparent.
Array Modifier Updates
- New Array by Element parameters
- First, Middle, Last – the First and Last elements specified are used only once at the beginning and the end, while the remaining elements are repeated throughout the distribution. Artists can specify the First, Middle, and Last through the element arrangement in X, Y, or Z space, or through the Clone ID of the element.
- Ordered – the cloning of elements in the array is performed in the same repeating pattern for how the elements are arranged in the mesh data, through X, Y, or Z position on the initial mesh data, or through the Clone ID of the element.
- New Phyllotaxis Distribution method parameters
- Angle Variation enables the location of each successive clone to be slightly offset along the rotation distribution.
- Seed controls the randomness at which the variation is applied to clones.
- Center By in the Arrange by Elements options is supported for Surface distribution
- Resolved an issue when using the Array Modifier’s Spline distribution type where Arrange by Elements > Random type would not randomize elements across Y and Z values.
- Connect open knots – When manipulating a spline that has more than one open element, you can now use Automatic Welding and Insert mode to quickly draw/continue from an open knot of one element to an open knot of another element. This workflow results in two elements that are correctly welded and connected together as one continuous element.
- Close Spline prompt – A Close Spline prompt no longer appears when using operations found in the Edit Spline modifier or Editable Spline object, or when using Automatic Weld to close an open spline element. This update lets you continue your spline creation workflow without interruption.
- New vertices respect neighboring knot types – When inserting new vertices on a spline, the knot type of the new vertex is based on the knot types of its neighboring vertices.
- If both neighboring vertices are the same knot type, like Corner, the new vertex inherits the Corner type.
- If the neighboring vertices are not the same knot type, for example one is Bezier and one is Corner, the new vertex inherits the Bezier type.
- This update affects the Edit Spline modifier and Editable Spline’s Refine, CrossInsert, and Divide operations as well as Shape Booleans, Chamfer/Fillet modifier, and the Boolean modifier.
- New Vertex Type parameter is now respected – When working with Editable Splines or the Edit Spline modifier, creating a new vertex in Create Line and Insert modes respects the selected New Vertex Type parameter (Geometry rollout)
- Improved Normalize Spline modifier so that it will better respect the incoming spline curve data as it rebuilds the spline. This fix has been versioned so that it will only apply to new applications of the Normalize Spline and not affect scenes that already utilize the modifier.
- Smart Extrude
- When Smart Extrude, the faces that are not planar to previously existing geometry, will be automatically smoothed if they are within 30 degrees of tolerance from one another.
- When performing a Smart Extrude with Editable Poly objects. 3ds Max will attempt to utilize the existing normals of neighboring faces when the extrusion is co-planar.
- Explicit normal
- Explicit normal preservation – Turn to Poly, Vol. Select, Mesh Select, MaterialByElement, UVW Mapping Clear, UVW Mapping Add and Select By Channel modifiers on a Mesh class object.
- Explicit Normals are now supported on a Mesh class object when using the Maxscript call modifiersEdit_Normals.EditNormalsMod.MakeExplicit ()
- A bug with MNFace::Insert was fixed which could affect Specified Normals when you are adding normals due to a topology change.
- Path Deform
- If the Path Deform spline path is smaller than the size of the Object that is being deformed, the object was disappearing. This is fixed.
- Volume Select
- Fixed an issue where the OSL Map that it uses would not display in the viewport if the Material Editor was not open
- Fixed an issue with making non-manifold UV data.
- VertexPaint – various optimization provide much faster performance for highres mesh painting, For example, unaltered geometry and topology channels would not be evaluated. The world space bounding box is cached while painting. Brush falloff curve now utilizes a precomputed lookup table.
- FFD 2x2x2, FFD 3x3x3, FFD 4x4x4, FFD(box), FFD(box) Space Wrap is now up to 2x faster.
- Adding keys for the Bezier controllers and the TCB Rotation controller has been optimized – All Bezier controllers are now up to 30x faster. TBC rotation controller is up to 4.5x faster.
- Set as New Default – takes the current parameter value and sets it as default. This change persists not only for the current session, but remains the default until you change or reset it. You can return to this new default value with the existing Use Default (Ctrl + right-click) that is already in the right-click menu.
- Restore to Factory Default – to return the value to what shipped with 3ds Max.
- Animation Controller
- Copy and Paste Animation in right-click menu no longer require controllers to be pre-assigned. 3ds Max now assigns the default controller automatically while copying.
- The right-click Copy/Paste menu will show the parameter name that you are copying and pasting.
- Copy, and then Paste – Copy (or Paste – Instance) directly from the parameter in the main UI to controllers in the Track View
- Assign Controller and Reset to Default Control options have been added to the right-click menu.
- Character Studio
- Resolved a crash that can occur when parenting an Biped Xtra Bone to a Biped Nub object. Xtras are now blocked from being parented to the nub objects
- Fixed a crash that could occur when animating a part of the Biped that uses an IK Target and your active time range does not start at frame 0.
- When using the Biped Dope Sheet, a crash could occur when extending or sliding a footstep past the last footstep; as well as fixed a regression where sliding, extending footsteps were causing crashes.
- Fixed an issue where when the user is driving the vertex deformation of the Skin Modifier with an animated Spline object instead of bones The object would not update properly in the viewport when the frame changes unless the object was selected and the modify command panel was active with the Skin modifier selected. It still required the listed selection workaround.
- Resolved an issue with the Morpher modifier where it was using the modifier selection instead of the channel selection. This could result in scenes created in previous versions of 3ds Max having their Morpher data not playback as expected.
- Fixed an issue with the Offset Controller where it was not updating the transform matrix caching after it was applied
- Resolved a crash that could occur when objects or controllers with note tracks in the curve editor or dope sheet were cloned and then the user attempts to undo the clone action.
- Resolved a crash when using a Link Constraint and its linkParams parameter.
- Resolved a crash that could occur when attempting to undo a “Delete Selected Animation” command that was applied to Biped objects, Bones, Link Constraints, and other 3ds Max objects.
- Fixed an issue with the Curve Editor where the Isolate Curve button was not properly updating it’s state when active.
- Sliders in the Color Selector dialog indicate values that cannot be reproduced on your display. In addition, there is a warning when the selected color is out of gamut for your display or rendering space.
- For UI colors and non-color data, the numeric columns in the Color Selector show the same values in float and integer format, rather than the scene and display values.
- Added “ConvertColor” function to the “ColorPipelineMgr” MXS interface to transform single colors (Point4)
- Added support to load OCIO archive files (ocioz extension) in the color management settings.
- MXS Bitmap creation function now takes optional “colorSpace” parameter to assign a color space to the created bitmap.
- Color Management for the viewport is disabled using legacy drivers. OCIO is still selectable but will affect only rendering.
- Color Management: Output Defaults will now filter Views based on Display as expected
- Fixed incorrect Color Management>Preference UI when loading OCIO files with long names (view transform etc…)
- OSL version has been upgraded to 220.127.116.11
Slate Material Editor
- Import multiple images at once with Drag&Drop
- Bitmaps added in SME through Drag&Drop have Color Management rules applied.
- Fixed missing triangle highlight for a material used in a scene when loading an old file
- Fixed unnecessary rendering on nodes inside a Compound each time the Compound is opened.
- New methods have been added to the NodeView interface for selecting and laying out nodes: GetSelectedSceneMaterials(), GetAllSceneMaterials(), and LayoutAll().
- Selection Brackets is off by default.
- DoF based on Physical Camera>Custom>Focus Distance is correct in the viewport.
- Fixed issue with MaxScript when setting a region with ActiveShade in the viewport.
- Rendered images and sequences saved from Quicksilver and Arnold are also correct.
- Fixed incorrect loop reset when reducing the number of materials in a Multi-Sub material applied to an object.
- Fixed a crash produced when opening a scene containing an OSL Uber Bitmap/OSL Bitmap Lookup loading a UDIM sequence.
- Fixed Color Picker sending incorrect OnCancel() notification when pressing OK
- Fixed artifacts in the viewport and rendering when using OSL. The issue can happen when using OSL nodes and Legacy Bitmap in the same material tree.
- PNG files can now be saved as 8-bit Greyscale again as expected.
- Colors shown in the color picker now match the colors shown in the UI allowing easier customization of UI colors.
- Viewport Canvas settings can be saved and loaded. Fixed MXS exception.
- MAXtoA 18.104.22.168 for Arnold 22.214.171.124
- AOV Wizard: The updated AOV manager consolidates the two existing “Wizard” functionalities into a single streamlined AOV Wizard experience. You can now set up the most useful set of AOVs with a few clicks.
- Automatic Cryptomatte setup: The required Cryptomatte AOV shader is now automatically added when you create any Cryptomatte AOV and launch a render.
- Ability to set Crypto Asset tags on objects : The Arnold Properties modifier can now set the Crypto Asset tag on one (or many!) objects, unleashing the full benefits of the crypto_asset AOV.
- Arnold RenderView Log window : The Arnold RenderView logging window is now available in MAXtoA, which gives a searchable view into the Arnold render logs.
- Supports NX 2212, SolidEdge 2023, and SolidWorks2023
- Fix crash when various file operation where path name >= 260 characters. Importing files, or doing drag and drop of files, saving bitmap files, exporting files
- Fixed issue with node name numbering when cloning nodes with a very large number (214748364765564 or greater) at the end of the node name.
- Fixed issue with loading of application packages that specify a Components type that is not one the predefined types. If the Components entry should not be handled due to SeriesMin/SeriesMax, no error message should be generated that the Components type is not recognized.
- Fixed issue where only the first UI element associated with parameters assigned the same controller were updated when the parameter value was changed.
- Now the 3ds Max Plugin Package environment variable could be appended or pre-pended to as many times as needed. Removing however is still blocked for variables already defined in a package
- Fixed a bug where custom attributes with a function that used keyword “this” would trigger a syntax error.
- When doing SaveNodes or Save Selected, the saved scene material lib will contain only the materials on those nodes and those otherwise used
- Added Maxscript method for setting/clearing current scene file name is exposed. Setting name via this method also updates title bar. setCurrentSceneFileName “hello.max” returns true and title bar is updated. if you set “”, the session will become untitled session, Save file dialog will appear when you reset or loading other files.
#neveroptions for Interval construct an interval with effectively an eternal time span, or with no time span, respectively.
- The Array, Dictionary, and DataPair values can now be compared using the deepEqual() function.
- Two new functions allow you to get and set user-defined properties on nodes using Dictionary values: getUserPropsAsDict() and setUserPropsAsDict().
- improved the performance with deep copy on some data types and added a new flag copyAllValuesAsUnique. When set to true deepcopy will use the faster legacy method. It will run faster as all values will be copied as unique and we will not check for duplicate values in a list.
- Fixed ‘fileProperties.getNumProperties #contents’ to properly handle properties added before/after saving a scene file.
- ignoreSSSEState: now defaults to false for safeExecute, safeReadValue, safeReadExpr
- CivilView Signs are now created with correct size
- CivilView – Fix .NET runtime exception when importing traffic simulation .FZP file
- CivilView traffic simulation (FZP) can now import PTV Vissim V11 files
New OCIO v2 based Color Management
- Until 2024 3ds max has assumed color spaces with sRGB primaries and provided color management via de-gamma/re-gamma workflow. That sRGB assumption removed. Also color processing pathways, including few API exposed areas were modernized to make sure color fidelity is retained throughout the system. Old gamma manager and colorcorrection manager classes are being deprecated, new ColorPipelineMgr will provide unified interface for both the legacy gamma workflow and OCIO-based modern color management workflow.
- The highest priority was not breaking the existing workflows or existing scenes while providing the brand-new workflow. Default is Gamma Workflow. Therefore, if you don’t do anything. Everything should work exactly same as before. The previous workflow is provided as an optional mode.
- “Unmanaged” mode will give you the same behavior as the “Enable Gamma/LUT Correction” unchecked.
- “Gamma Workflow” mode will give you the same behavior as the “Enable Gamma/LUT Correction” checked.
- Color Management Preferences(Previously Gamma and LUT) has two new OpenColorIO v2.2 based color management mode
- OCIO (Technology Preview) – 3ds Max Default
- OCIO (Technology Preview) – Custom Config File
- Bitmaps now have associated color spaces and GetLinearPixels() call will not only linearize the pixels but will also convert the colors into the rendering color space on the fly.
- Bitmap Image Selector, OSL Bitmaps, Arnold Image map support color spaces conversion fromOCIO config file
- Rendering color space support including ACEScg
- Display/VIew color space support for Viewport, Render Frame Window, Material Editor, Color Picker, Color Swatch, Image File Viewer and Arnold Render View
- Scene Linear Exposure and Post Display Gamma spinner in Render Frame Window and Image Viewer for investigating the image
- In the Render Frame Window’s right-click window information display has been expanded. You can see the assigned color space (also visible in the window title). Selected pixel values will now be displayed in 3 different color spaces: the image color space, the rendering color space, and the display color space.
- Render Frame Window has also received some speed boost, panning and zooming should be much smoother compared to 2023.
- Viewports are properly color managed in the DirectX mode, GPU rendering is also performed in the specified rendering color space and the result will be displayed using the selected display/view transform pair.
- Active Viewport Settings/Color Management Tab allows every viewport may have its own display/view transform or can use the default Display/View transform (Automatic).
- Image File Save supports No Conversion, Color Space Conversion and View/Display Transform from OCIO config file
- MaxToA now pass on all color management information from 3ds Max to Arnold for rendering by handing over the entire OCIO configuration for rendering.
- Improved Color Swatch displays colors in 2 different color spaces, Scene-referred linear space (Rendering space) and Display-referred space
Values are displayed in 3 different number formats, unbounded floating point, unsigned 8-bit integer (0..255), Hex web colors
- New utility called Color Converter is available in the Utilities>More list, and as a sample in the MaxSDK. This utility will showcase the Color Management API
- System for tagging color parameters for their use case (UI colors, surface colors, light colors, non-color data, etc) to exclude those colors from color management
- Full Maxscript exposure through ColorPipelineMgr interface
- Allow to lock custom OCIO mode with Maxscript. The UI will reflect the locked state through an icon.
- The Bitmap object has several new read-only attributes added as part of the new Color Management support, and the openBitmap() method has a new optional colorSpace: keyword parameter. There is are also new validateColorSpace() and SetOutputColorConversion() methods for bitmaps.
New Boolean modifier
- New MNMesh2 powered modifier-based workflow
- 7 Boolean operation types including 2 New boolean operations
- OpenVDB based volume boolean mode enables simple and easy mesh <> volume workflow. Combined with Retopology modifier, it opens a lot of new posibilities.
- Improved support for booleans across multiple elements. For example, when performing a Split or Inset operation on the Boolean Modifier, these operations will be processed one at a time on each element.
- Capture / Live Reference mode
Capture mode will embed operands into the main object.
- Operator Manipulator allows manipulating operand’s transform inside of Boolean modifier using the color-coded manipulator.
- ShIft-drag to clone operand inside of Boolean.
- Folder support
- Picking up a Group will automatically setup folders(CUrrently only works for Live Reference mode)
- Use Material – preserves material on the operand objects while boolean. This will combine all operand’s material and build a multi/sub material automatically.
- Create Object from Result – creates a new object based on the boolean result up to the selected Operand.
- Paste to new Boolean Modifier – allow to paste a cut operand into another boolean modifier.
- Create shape from seam allow to creat spline object from boolean seam.
- Disable interactive updates – When active the results of the boolean operation will only be processed when the transform operation is complete.
- Create rollout > Create Objects enables the capability to export the elements of the current state of the Boolean results as separate mesh nodes. Making it easier to produce variants for subsequent modeling workflow as well as data for simulations and other purposes while still retaining the original boolean modifier source.
- By nature, boolean is prone to generate bad topology. The boolean modifier has a lot of built-in clean-up code for input/output topology. This also allows more stable Boolean operations.
New Material Switcher material
- Allow to switch among sub materials up to 9999
- Sort by ID, Name or Material Name
- Lock button allows to Insert or Delete a sub material without changing index
New Transform List controller and List controller improvement
- Let you add multiple Transform controllers to an object as layers of blended animation data. This lets animators add unique animation data to each layer, as well as letting them control how the layers blend together.
- All list controller UI has been converted to Qt.
- New Index mode has been added all List controllers. You can easily isolate the animation the of selected sub-controller.
- By Name in Index mode allow to select a sub controller by name
Qt Slate material editor
- Slate material editor has been changed and modernized based on Qt. The look of maps/materials, and the color of elements like wires, inputs/outputs, node headers, text, etc… have been updated.
- Faster Performance
- Docking support
- SME elements are now exposed to Color Customization. Use the new SME section in Color Customization for the supported elements.
- The Instanced map/material is highlighted by the “chain” icon on the header.
- Preference option to allow nodes to be drawn on top of the connecting wires
- At least one tab will exist all the time.
New Compound material/map
- Allows the user to group and collect materials, maps, and node trees in a single collector that can be collapsed or expanded.
- Expose Input and Output maps/materials accessible from outside the Compound, that can be connected to any compatible node. Compounds and Inputs/Outputs can be renamed.
- Support nest Compounds inside Compounds.
- The Compound can be saved in a Material Library and loaded from any Max scene.
- All common SME features are supported, like moving between views, copy, delete, rename, etc.
Qt Modifier list
- Converted to Qt and provide faster performance
- Search filter
- Scroll bar size Preference option
- Resolved an issue with CAT when the Display Layer Transform Gizmo option was active that would result in the Motion Command Panel continuously redrawing, creating a flickering affect. This redraw affected viewport performance and made it almost impossible to move keys on the Time Slider.
- Resolved an issue where if a user adds a Vertex Paint modifier to the CAT Bones, paints vertex colors, and then chooses “Collapse To” from the modifier stack, 3ds Max would crash.
- Character Studio
- Resolved a crash that would occur with Biped when deleting Xtra Bones from the Biped Structure in Figure Mode, and then undo the action and attempt to restore the Xtra Bones to your Bip rig.
- Resolved a crash that would occur with Biped when attempting to Undo after deleting Xtra Bones from the Biped Structure while in Figure Mode.
- Resolved a crash that could occur when creating a Biped with a twist node when the user double-clicks on the viewport
- Motion path
- It has been updated to work with List controllers and now uses the active sub control position to display keys and tangents.
- Motion path now allow to edit keys and tangent for nested list controllers.
- Fixed a crash that can occur when baking keys with MassFX and then attempting to undo the action.
- When opening the Motion Capture utility in the command panel for the first time, if there is no motion capture controller assigned to the object, this utility will no longer pop-up an error window warning the user about needing to assign the proper controller. This message is now properly displayed in the 3ds Max status area of the UI where the user knows to look for messages.
- Fixed when copying an object with attachment constraint that has its “Align to Surface” Checkbox disabled, the newly cloned/copied object will now also have its “Align to Surface” in the same disabled state.
- New Phyllotaxis Distribution Method – clones in a spiral pattern, distributing clones from the center out. The resulting spiral mimics organic distribution patterns that are found in nature, like leaves on a plant or seeds in the head of a sunflower.
- New Material ID options
- Assignment methods – Ordered, First Middle Last
- N TImes – allow repeat material id assignment
- Phase animation
- New Progressive Transform option for the Radial, Spline, and Phyllotaxis distribution types enables the artist to alter the transform data to progressively change from first to last mesh distribution.
- Transform Before Projection – allow to transform the position of the clone prior to them being projected to a surface using the spline distribution. The typical use case is that of a set of fence posts on uneven terrain. The customer wants to be able to randomize the position of the post while still ensuring that they are set into the ground and don’t move off of the terrain.
- Create Objects now keeps hidden edges for mesh source.
- The improved triangular algorithm which was introduced in 2023.1 has been improved further. Now also used in Edit Poly modifier. This will results that minimizes concavity when performed on non-planar topology.
- The following Editable Poly/Edit Poly operations now use the new triangulation algorithm to produce better geometric results
Face splitting by insertion of edges, Slice, Cut, Bridge, Vertex extrusion, Edge extrusion, Cap, Smart Extrude.
- Cap Holesmodifier is using this new algorithm
- Material modifier
- Now preserves explicit normals when it is applied to Mesh
- It would not convert spline to mesh when applying to a spline
- allow to set material id on spline
- Spline improvement
- Automatic weld would snap to target instead of the midpoint
- Segment auto weld will weld each vertex, each knot to the nearest one as expected
- When you close Insert on spline, it will correctly snap to target end point
- Fixed Optimize spline breaks Mat Id
- Reform 14.0.1 – fixes some previous failure cases, and improves the quad topology in some others.
- Fixed a data loss issue when you navigate under the Retopology modifier in the stack, make some sort of geometric or topological change, and then save without recomputing retopology. Previously, this would “lose” the remeshed and retopologized meshes in the saved file; now, they are properly retained.
- Selected Edges Auto Edge constraint previously was not honored when the Preprocess Mesh option was active; now, this is correctly handled.
- Symmetry modifier default axis changed to X.
- Normalize Spline Modifier will preserve MatID
- Fixed an issue with the UVW Map modifier where it was incorrectly clearing the explicit normals of a Mesh.
- Custom Attributes on rootScene are now removed when loading new file. This should prevent day1refCA is spreading when you open scene files in the contaminated session.
- For startup performance debugging, each GlobalUtilityPlugin class instance is logged as it is started
- FIxed the issue of Param wire dialog not showing controllers
- Select By Name dialog now properly restores screen position and size on open.
- XREF Objects now support Point2 animatable parameters.
- STL Import – more than 1000 times faster
- STL Checker – more than 1000 times faster
- The Mesh and MNMesh classes have been refactored to have internal data organized into channel objects. This provides improved stack performance, stabilit,y and a ton of code cleanup and modernization.
- Improved the performance of Autosmooth on Editable Mesh objects and Edit Mesh modified objects by up to 10%
- Complete MXS exposure for CreatePreview()
- instead of initializing preset/visualstyle/edgedface/textures options hard-coded (e.g., High-Quality for preset), init them using the active viewport’s options (e.g., use UserDefined preset if the current viewport use a customized preset)
- add missing maxscript exposure – dspCamViewName:true autoPlay:true vpPreset:#userdefined vpStyle:#defaultshading vpEdgedFaces:true vpTextures:false
- Allow controller argument to setPropertyController to be ‘undefined’ for removing controller, ditto setting property via <object>.<property>.controller.
- The EmptyModifier no longer converts the incoming object to a mesh on the stack.
- You can now specify whether to display a running script that encounters an error in the Scripting Editor. This setting is exposed as preferences.displayScriptEditorOnError and scriptEditor.displayOnError, and on the Preferences > MAXScript dialog as Display Editor On Error.
- The new scriptEditor struct exposes two other properties: hwnd and isVisible.
- Two settings for displaying warnings are now exposed as system globals: preferences.displayTopoMessage
- The following options are added to MergeMaxFile:
- #mergeChildren which will flag that any max node asked to be merged will automatically merge its children.
- #mergeByHandles when set to to true the user can replace the nameList with a list of handle IDs.
- New maxscript function, getMaxFileObjects similar to getMaxFileObjectNames. This function now returns an array for each node with the following information.
- 1 Node name
- 2 Node hierarchy level
- 3 Node handle
- 4 Node Parent handl
- objXRefMgr.AddXRefItemsFromFile now has objHandles:<int64 array> and refOptions:#mergeChildren option.
- Scripted plug-ins have two new event handlers for when they are added or removed as custom attributes on objects: on refAdded and on refDeleted.
- The <WindowStream> value has a new property .hwnd, which contains the windows handle for its associated Script Editor window.
- The windows struct has several new functions: windows.isWindow(), windows.isWindowVisible(),windows.showWindow(), windows.getWindowPlacement(), windows.setWindowPlacement(), windows.setFocus(), windows.setForegroundWindow(), windorootscene
- ws.getWindowLong(), and windows.setWindowLong().
- All windows struct functions that take a HWND argument for the window to operate on now can take a RolloutFloater, Rollout, or the main 3ds Max window (specified by the name #max), making it easier to operate on these types of windows without having to query their window handle first.
- The new errTracebackDisabled system global specifies whether to disable error tracebacks in the listener window. Intended for testing / internal use only.
- The <ChangeHandler> value has a new .enabled property that allows you specify whether the handler is enabled. This allows you to disable handlers without having to de-register or delete them.
- The spinner UI control has a new property autoscale:<boolean>, and these existing creation keyword parameters are now exposed as properties that can be accessed at runtime: scale and type.
- Read-only ‘superClassID’ property to MAXSuperClass has been added.
- Added system global: errTracebackDisabled – bool Setting errTracebackDisabled immediately before running an expression that throws a runtime error controls whether an error traceback is sent to listener. This is primarily used when writing unit tests.
- Fixed issue that rollouts that are defined as structure members can now access other members of the structure instance. Rollouts that are defined as local variables in functions defined in a structure still cannot access other members of the structure instance.
- Added protection when recursively enumerating the SubAnims of objects to prevent infinite recursion due to a SubAnim under a node pointing to the parent node of the node.
- Fixed issue where memory corruption could occur in a certain case when updating scripted plugins using new plugin definition.
- Fixed issue that non-persistent callbacks were not executed if In Preference Settings dialog, MAXScript tab, ensure ‘Load/Save Scene Scripts’ was disabled
- Tighened MAXScript number parsing so that commands like “.” as integer and “f” as integer are not considered numbers
- The qtmax python module now exposes LoadMaxMultiResIcon
- fixed a problem of “callability” on pymxs object (before they were all callable)
- ATF Importer now supports NX 2206.
- MAXtoA 126.96.36.199 using Arnold core 188.8.131.52.
- Support for 3ds Max 2024 Color Management
- MAXtoA now passes on all color management information from 3ds Max to Arnold for rendering by handing over the entire OCIO configuration for rendering.
- Arnold Render View supports Max 2024 Color Management:
- Arnold Image Node supports color spaces from OCIO confi
- Colorspace included in TX filename: AutoTX-generated files now include the original extension and the texture and rendering color spaces in the filename.
- Support for 3ds Max 2024 Compounds
- Support for 3ds Max 2024 Material Switcher
- Support for MaxUSD plugin version 0.4
- Faster node init/update up to 20%
- Improved rendering performance when using OCIO up to 20% reduction in rendering time especially when using multi-socket systems.
- Better autobump visibility masking – Allow to disable autobump on camera and shadow rays. This would give up to a 50% speed up, usually without changing the look
- Support up to 1024 CPU cores – AI_MAX_THREADS has been increased from 256 to 1024,
- Instancer light linking – If a light is linked to a shape and both are instanced, then the instancer now preserves this link within instances.
- polymesh.smoothing defaults to true
- Remove warning about using tiled with deep_exr
- LatLong is now the default mapping in the SkyDome light
- Physical_sky shader now also has an enable_sky parameter for disabling the sky.
- Modified directory structure: For 3ds Max 2023 and 2024, kick.exe and other Arnold executable tools are now in a “bin” subdirectory, and Arnold plugins are now in a “plugins” directory, to align with other Arnold installations.
- New distance shader that uses the distance to the nearest surface to interpolate between near and far color values.
- Changed default of ‘Re-translate scene on Frame Change” to On which guarantees that during production rendering, the Arnold scene is translated consistently every frame. This is to ensure a consistent result for things like Cryptomatte ID’s and similar
- Ability to define Auto-TX Path if the directory is not writable, in a subdirectory of the %TEMP%\TX directory.
- Improved light sampling- it in the new “Light Sampling” group in the “Arnold Renderer” tab of the Render Setup dialog.
- Improved translation of Bitmap shader
- Improved triangle intersector
- alembic.objectpath changed to an array so multiple object paths can be given to a single alembic procedural.
- Upgrade OSL to version 1.12.9: Open Shading Language (OSL) has been upgraded to version.
- MaterialX displacement shaders
- Arnold shader metadata in the Sdr registry
- AutoTX environment variable: HDARNOLD_auto_generate_tx can be set to override the default AutoTX behavior in the render delegate.
- Driver options in the RenderProduct primitive – allow to set the driver options in the RenderProduct primitive using attribute names prefixed with the driver name in the Arnold namespace.
- Added Context construct to the USD Exporter SDK. This allows USD Plugin developers to better control the export of their plugin data and help simplify the exporter UI for users.
- 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.
- Support for Skin to be exported to USDSkel.
- The items in the plugin configuration combobox are now checkable. Multiple elements can be selected or none of them can be selected.
- 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.
- 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).
- Updated the USD Exporter to comply with USD standards for not nesting shader nodes.
- 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”.
- 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.
- Updated the USD Exporter to fall back to a simple USDPreviewSurface material with a diffuse color for any non-supported material types. Also added an option for PrimWriters to skip material generation.
- USD Stage Object
- Support multiple UV channels for offline USD Stage rendering using the fallback method.
- Added support for Alembic references in the USD Stage.
- Fixed defect causing unexpected evaluation of the stage while manually editing the Stage mask.
- Fixed USDStageObject.SelectRootLayerAndPrim() not returning the Payloods option. The Payloads option now returns as a boolean in the third item in the resulting array.
- USD Preview Surface Material
- Improved support for opacity in the MaxUsdPreviewSurface material.
- Fixed some transparent materials not displaying in the viewport.
New OSL maps
The new Organic Noise OSL map will allow you to create organic looking noise patterns by modulating and filtering OSL noises.
The Organic Noise map ships with 28 presets to quickly set up a variety of caustic, artistic, and abstract noises.
Abstract – Cross Contour, Abstract – Cross Contour 2, Abstract – Marbley, Abstract – Portal To Hell, Abstract – Shooting Stars, Abstract – Starry Night, Caustics – Bright, Caustics – Dark, Caustics – Fractals, Caustics – Oily, Caustics – Puddle, Cells, Cells – Mask, Defaults, Fabric – Pinholes, Fabric – Plastic Bumps, Fabric – Stretch, Membrane, Oil – Mask, Oil – Shiny, Plasma, Smoke – Gooey, Smoke – Puffs, Smoke – Rings, Splotches – Bright, Splotches – Cartoony, Splotches – Glassy, Splotches – Tearing
- UVW Randomizer 3D/2D
applies a random Scale, Offset and Rotation to UVW data. These can be driven by seed for per-object randomness for each effect.The 2d one defaults to UV Channel 1 and only does 2d rotations. The 3d one defaults to object space and does full 3d rotations.
- Poly to Mesh conversions performance has been improved across 3dsMax. Modifiers that need to convert data from Poly to Mesh can see up to a 40% speed improvement, viewport performance can benefit up to 35%, and users can see a small boost in performance when their scene data is sent to an offline renderer such as Arnold.
- Attachment constraint – It would always set a key at frame zero when using Auto Key mode. Now a key is either set at the current frame or the default animation frame if that is enabled in the preferences
- Resolved a lockup that could occur when the animator attempts to rotate the limb bones of the CAT Rig when 3ds Max Motion Paths is enabled.
- Using the maxscript command “$.TMController.CATParent” users can check if a CAT bone in their scene has a valid parent and CAT Parent bone. If the value returned is “undefined”, the CAT bone can be safely removed from the scene without breaking the CAT rig.
- ParticleFlow – When using a PFlow Birth Texture operator, Physical materials are now properly supported to work with the bitmap data of the material and not the luminance value of the shader at each pixel to determine where a particle can emit.
- 3ds Max’s Autodesk Translation Framework (ATF) importer now supports Catia V5-6R2022 and Alias 2023 models.
- Substance 2.4.9 now supports version 8 and 9 of the Corona Renderer.
- Fixed the Relax modifier issue that might introduce spikes when soft selection is used.
- Fixed the error when performing a Smart Extrude operation below an active Turbosmooth modifier on the Modifier Stack when using “Show End Result
- Fixed a crash that could occur with the UVW Map modifier when switching from Face mapping back to another mapping type when the mesh has degenerate face and edge data
- Improved memory management for the Array modifier’Fixed Radial Array loses pivot in Boolean Compound Objects
- Corrected an issue when using the Array modifiers Volume removal causing a small memory leak
- Scale transform value of the target surface object will no longer incorrectly transfer to the data distribution results
- Explicit normals transforms are now respected with the Array modifier
- Fixed RenderSetup starting with the wrong currentPage which can lead to a crash when reopening the dialog, using Corona plugin.
- Fixed the cropping of the Compact Material Editor, when resizing and/or reopening the UI.
- Solid viewport background color settings are correctly saved and reloaded
- MAXtoA 184.108.40.206 for Arnold 220.127.116.11. But, MaxtoA 18.104.22.168 using Arnold core 22.214.171.124.is available to download. This includes the following new features in MaxToA 126.96.36.199.
- Automatic generation of TX files
- Log files can be written separately per-frame
- MAXtoA now supports Visibility
- Arnold Render View by default
- Optimized translation of Physical Material
- Viewport representation for Standard Surface, 3ds Max Bitmap and 3ds Max OSL shaders
- Hair melanin and redness
- Sharp textures through reflections and refractions
- MaterialX 1.38.5
- USD Enhancements including MaterialX, Alembic references and payloads, Imager support and more
- Fixed issue with scripted controller where if evaluated early during scene file load, variables holding subAnim values where the subAnim owner does not exist would return ‘undefined’ instead of cached value.
- Fixed a crash produced when baking textures through Maxscript.
- In 2023.2, a fix was made to prevent wiring of parameters that did not have the same controller class to prevent memory corruption. But doing this prevented wiring Point3 parameters to PRS controller’s Position and Scale tracks. Now explicit handling of Position and Scale controller types to the Point3 wire controller class is added.
3dsMax USD 0.3
- USD Stage Node is now supported in 3ds Max. Reference a USD stage directly into 3ds Max to create a scene with USD assets from an existing file. Using this workflow, you can view and render USD data directly in 3ds Max.
- File > Reference > USD Stage….
Create Panel > Geometry > USD > USD Stage
- Stage Masking support
- Full access to working with in-memory stage data. You can build Python, C++ and MAXScript tools to interact with the data inside a USD Stage Object. The stage has a read-only property called CacheId that can be used to access the stage from a global USD cache. Using this you can directly manipulate and interact with USD data (moving prims, changing visibility, etc.)
- USD Stage fallback rendering mode allows rendering USD Stage even when renderers do not support accessing a USD stage directly.
- UsdPreviewSurface material support using texture transforms (UsdTransform2d) and texture wrap modes.
- Assign USD Materials button to build a Multi/Sub material for fallback rendering mode. Users can override any parameters of the material tree.
USD Export & SDK
- USD Stage Objects can now be exported as USD references.
- SDK includes all you need to build your own PrimWriter, ShaderWriter and Chasers to hook into our USD Exporter using C++ or Python
- 3ds Max USD SDK comes with a set of working (simple) samples covering ShaderWriter, PrimWriter and Chaser, written in both C++ and Python to get everyone going rapidly with the new SDK
- A brand new feature-packed Array Modifier. As a modifier, it provides a fully procedural non-destructive modeling and animation experience.
- Based on the brand new geometry processing engine, MNMesh2(MNMesh means Poly), which is built for performance, stability, flexibility, and scalability. It is the foundation for the future of 3dsMax, and Array is the first practical implementation using this technology.
- Supports Mesh, Poly, and Spline
- 4 Distribution Methods
- Grid – create clones using 1D/2D/3D cartesian coordinates.
3 modes to distribute, Total Dimension, Relative Offset, Fill
Packing for Fill mode
- Radial – create clones using full 3D cylindrical coordinates(Rows and Rings).
Stagger option for offsetting each successive ring
- Spline – creates clones along a spline.
5 modes to distribute, Count, Relative Offset, Fill, Knots, Segments
4 modes for out-of-spline clones, Continue, End, Loop, Remove
- Surface – creates clones on a surface
3 modes to distribute, Vertex, Face Center, Edge Center
- Grid – create clones using 1D/2D/3D cartesian coordinates.
- Array by Element – allows each element as an array source
- Transform – allow to control Position, Local/World Rotation, Scale per clone
Extensive options such as Incremental, Alternating, By Axis, Incremental By Axis and provide very flexible control.
Apply To option for partial randomization
- Clone ID UV data
Allow store each clone’s ID or position data in uv channel. Combined with OSL, it provides great procedural control.
Supports normalized value and additive to the existing data
- Remove – allow to remove clones by % or object volume
- Create Instances – bake to instanced individual objects
- Auto-Zoom, Interactive Update, and Sync Cursor Time states now persist between sessions
- The state of various Curve Editor menu item icons now clearly indicates if the option is active
- The Filter option buttons at the bottom of the Curve Editor now always respond to mouse clicks
- The Mini Curve Editor now frames the timeline correctly when opened
- “Filter Only For Animated Tracks” active by default.
- “Enable Auto Zoom” functionality active by default.
- “Interactive Updates” on by default.
This user requested change enables the track view to frame the active range of keys in the timeline when changing a track or channel in the Track View
- Fixed an issue with the Dope Sheet when attempting to select Scale keys in conjunction with other keys using the Time Selection tool meant that the Scale keys would not be selected.
- Resolved a crash issue that can occur when Cloning a CAT Object
- Fixed a crash that could occur when renaming CAT bones during their creation.
- Resolved a crash that could occur when adjusting a spinner value in the CAT parameters while the user is in the process of creating the CAT rig.
- CAT > Apply Max IK throws an exception when applying to CAT rig fingers
- Resolved a Maxscript exception that is thrown when the user attempts to apply an 3ds Max IK system to the fingers of a CAT rig.
- Resolved an issue where creating Bones from the command panel with a History Dependent IK Solver resulted in the first bone not being properly applied to the IK solution.
- Resolved a crash that can occur when copy and pasting the Skin modifier to other objects in your 3ds Max scene.
- Fixed an issue with the Skin modifier where the bone influence heat map of Edit Envelope was overwriting the vertex color data for the object that it was applied to.
- “The Delta Mush operator found in the Data Channel Modifier has been updated to use an improved algorithm that will provide an enhanced symmetrical result across the mesh.
- A “Use Legacy Compute” checkbox is now found on the Delta Mush UI. When loading older scene files, this checkbox will be active. When creating scenes from scratch in 2023.2 (or adding the Delta Mush operator for the first time to a new Data Channel modifier), this box will be unchecked.
- When switching the “Use Legacy Compute” checkbox, the user should do this at the “neutral” or “rest” pose time, because capturing the rest pose stores information critical to the Delta Mush functionality
Various operations within Poly have been updated to provide improved performance when checking for and processing data without bad mesh data (which can be cleaned with the Mesh Cleaner modifier). It will improve NURMS performance in Mesh Smooth, Edit and Editable Mesh, and Edit and Editable Poly
- Skipped material’s evaluation under Display Color>Shaded: Object Color mode
- Removed the baking of textures/procedurals when Viewport Configuration>Display Performance>Textures is unchecked, to greatly improve the loading time of scenes with this setting turned off.
- Physical Material to glTF conversion
The Scene Converter contains a new preset called “PhysicalToGLTF” that allows you to easily convert all physical materials in a scene to glTF materials.
Bake to Texture
- Two new callbacks are added to BakeToTexture.
- The new triangulation algorithm which was introduced in 2023.1 has been implemented in Editable Poly.
- Limit Effect output has been improved to prevent self intersections in chamfered surfaces.
- now generates improved surface normals when working with non-explicit normals. It prevents the hard edges can appear on chamfer segments and cannot be corrected with the Smoothing parameter in the Chamfer modifier.
- Resolved an issue that can occur with the Symmetry modifier where in some very extreme cases no weld threshold is found along the symmetry plane to weld to.
- Corrected an issue where the VertexPaint modifier was incorrectly removing explicit normals from Mesh type objects, such as Editable Mesh, when it was applied.
- Improved selection hit test code to provide enhanced accuracy when attempting to select and edge or face component and an obtuse or near obtuse angle
- Environment variable ADSK_3DSMAX_BUFFEREDFILE_BUFFERSIZE and 3dsmax.ini setting Performance / BufferedFileBufferSize for a file buffer size to use when loading or saving most types of bitmap files. If neither are specified, a buffer size of 256KB is used.
- In Parameter Wiring dialog, added testing to ensure selected parameters use same controller type. If not, the direction buttons are disabled and their tooltip says the parameter controllers are incompatible. If attempting to wire via maxscript, the wiring will fail.
- in some cases of scene file corruption, attempting to merge nodes from the scene would fail when the first instance of corrupted data was found. Now when the scene contains the corrupted data “Select Nodes With Corrupted Data” button will appear at the bottom right corner. User can check the problematic node with this and revert the selection to avoid merging if the objects.
Collapseinterface exposes the functionality of the Collapse Utility.
- Removed the limit of 499 characters in Render Setup>Common>Common Parameters>Frames
- Render Setup UI remembers the last used tab for the Max session.
- Fixed incorrect rendering of backfacing surfaces when using OSL and Scanline.
- Rendering in EXR format can be saved in folders with non-Latin characters.
- Added support to custom hotkey(s) to toggle Active Shade in the Viewport. The action name is “Active Shade Fragment Toggle”
- Material Editor UI will remember the state Open/Close of the rollups
- MaxtoA 188.8.131.52 based on Arnold 184.108.40.206
- Improved V-Ray scene converter – The V-Ray scene converter now has been improved and supports many new features.
- Dual-lobe phase function for standard_volume = A new phase function model has been implemented for the standard_volume shader. This provides a more realistic approximation to the physical phase function of scattering media such as clouds.
- Physically correct volume emission scaling – The standard_volume shader has been improved to support scaling of volumetric emission in a more physically correct manner (via the emission_scaling option).
- Pinned curves – A new wrap_mode parameter on curves can enable curve pinning.
- Nested instancers – Nested instancers (instancer that contains instances of instancers) now properly perform instancing
- Cameras in ASS procedurals – Cameras stored in .ass file procedurals can now be used for rendering.
- Cryptomatte 1.2.0
- Upgrade OpenImageIO 2.4.1
- Reduced missing texture overhead – The time spent handling missing textures has been reduced.
- Light profile blocks – The AiLightsPrepare() profile result has been elaborated on, with LightSampling, light_filters, and LightInitSampler profile blocks being added. This can help point out where render time is going during lighting.
- Python binding error message – When Arnold cannot be loaded by the python bindings, we now output the original exception error message instead of just the cryptic “Could not find libai”.
- USD Enhancements
- Support dataWindowNDC – when the render settings primitive defines the attribute dataWindowNDC, it now renders accordingly in both Hydra and the USD reader.
- Cryptomatte in Hydra – When rendering final frames with Hydra, the cryptomatte metadatas are set in the output image
- Render products with no productName – When AOVs are defined through a render product prim that doesn’t have any product name, they now render to the same filename as the beauty image.
- Instances optimizations in the procedural – When using instances, the usd procedural now relies on a usdStageCache to represent the instance prototypes, instead of re-loading the usd files on disk for each prototype.
- Pinned curves – Curves pinning is now supported in hydra and in the procedural
- New SHIFT+Extrude for Editable Spline and Edit Spline modifier
- In a Segment sub-object component mode, holding SHIFT+LMB (Drag) while performing a Move, Rotate, or Scale transform action will Extrude the segments based on the transform action, creating new supporting Vertex and Segments.
- SHIFT+LMB (Drag) on the start or end points of an open spline on the Vertex sub-object component will enable the user to draw new segments and further extend the spline.
- Cloning of Spline Vertices or Segments can now be performed with CTRL+SHIFT+LMB (Drag)
- When the user changes a Spline Vertex type to Smooth, Bezier, or Bezier Corner, 3ds Max will also automatically adjust the adjacent Spline Segments will also be adjusted to a Curve type (if they are not already defined this way). This change will result in a more immediate update and visual representation of the data instead of the Segments being locked as linear or straight
- New Triangulation algorithm prevents inverted or collapsed triangles, generates more regular fewer long, thin triangles and handles non-planar faces better. Chamfer and SmartExtrude utilize this new algorithm. It will eventually be deployed more broadly.
- You can also use this new algorithm for Editable Poly’s Retriangulate operation by using MXS command. $.enableEnhancedRetriangulation = true
Progress bar update
- The Progress bar progress will be displayed in the 3ds Max icon. Any feature that uses the status bar progress bar will be benefited from this update such as Create Preview or Maxscript.
- File IO operations(Load, Save, Autobackup) support progress bar.
improved data management that is performed by the Skin modifier. Users will see an improvement of roughly 30%-90% when “Edit Envelopes” is not active.
improved animation performance through numerous optimizations with threading, caching, improved explicit normals acceleration, channel management, and memory management. Users should see anywhere from a 4x to 40x improvement to their Morpher Modifier.
threading and improved memory management provides roughly 2x performance improvement
has been updated to 1.8.3. This update improves file load and read performance improvement which can provide between 25 and 65% performance gains
- Point helper
values are cached with a validity interval. It provides about 10% evaluation performance improvement.
- Viewport background playback
Improved playback speed with animated background if the source image is in sRGB or gamma 2.2. It is 2x-3x faster.
- Asset file loading
Increased buffer size when reading/writing image files from 4KB to 256KB for most image file formats. This results in improved performance when reading/writing image files over a network
- Merge dialog
Improved performance of Merge dialog when dealing with large number of nodes.
- Selecting/moving/rotating object sub-elements in Mikkt mode greatly improved
Isolate selection updates
- Zoom Extents On Isolate (ZEOI) is now persistent from session to session (in 3ds Max.ini).
- Default value of ZEOI is set to off, means do not zoom extents on isolation.
- ZEOI is now shown in the quad menus by default, below Isolate and End Isolate (Note: menu reset is needed if doing an upgrade install).
- The Isolate Selection button in the status bar is now a flyout (caret) button with two states.
- Hotkey improvements (default: Alt+Q). If in isolation mode and the key is pressed again
- If nothing is selected: end isolate (feels like a toggle)
- If selection is the same as last isolated objects: end isolate (feels like a toggle)
- Else Isolate new selection (feels like a new isolate)
- Vertex Paint modifier
A new button is available called “Capture” which copies all of the existing vertex colors that exist under the current Vertex Paint modifier into this level. This will allow you to blur and work with the existing data easier.
- Unfold3D Optimize
Active sub-object selection will be used for the Relax operation.
- Smart Extrude
Uses the improved triangulation and handles concave corners better
- Occlude Selected Crash fixed
when selecting subobjects with a “Right- >Left=>Crossing” selection option
that can be used to specify a folder where to create the temporary files used when loading and saving compressed scene files. These files hold the uncompressed content. When not specified, the folder specified by the TMP environment variable is used.
- Missing plugins dialog has been removed.
The Scene Converter provides the same missing plugin information and allow to remove them selectively, The missing plugin information is now also listed in Max.log.
- In the Save dialog for saving a material library, the ‘Save as type:’ dropdown will contain contents similar to the max scene Save dialog. It will contain entries for the current max version (unnumbered) and the previous 3 versions (numbered).
- The Object Rename tool now renumbers objects using three digits instead of two.
- SketckUp 2022 support
- glTF Exporter now supports a BitmapTexture’s tiling in exported file.
- Fixed issue with the way that specular maps and specular color maps were being exported in the glTF Exporter.
- Fixed MAXScript error when loading a glTF Material from a material library.
- Updated the Realtime Exporter to remember the file type between Max sessions (FBX or glTF)
- Fixed issue with Realtime Exporter not respecting Selection Sets
- SVG Icon Support You can now use SVG format icons for custom icons, both as individual .svg files and compiled into .rcc archives in Macro Scripts.
- Spinners are jumping when wrapping cursor (on screen border and near spinner)
Dragging spinners across the screen borders results in non linear value jumps in some situations.
- Asset Tracker Constantly Loses Previous Position/Size Fixed
issue with Asset Tracker losing previous position and size if 3ds Max was opened and then closed without the Asset Tracker dialog being displayed
- Flashing UI while executing reduceKeys fixed
MAXScript command “reduceKeys” no longer spawns MAXScript listener upon completion
- Scaled Keys Lose Curve Fidelity Corrected
an issue where the tangents for keyframes would not update properly as the keys are scaled down significantly. Now when keyframes are scaled down the curves retain their correct information with minimal distortion from the original value.
- Controllers don’t preserved the original transform information of the objects when created with Maxscript fixed
This affected the Animation > Constraints menu actions
- Fixed an issue with the names of the TCB controllers found in the Animation toolbar menu
Instead of being listed as Quaternion TCB these controllers are now descriptively (and correctly) named TCB Position, TCB Rotation, and TCB Scale
- Physical Material: Maps can be drag-and-dropped onto a slot and have a bitmap node created.
- Enabled the output selector when dragging & dropping multi-output maps directly on a Physical material map input.
- Active Shade refreshes correctly when Hide by Category is enabled/disbled
- Random index by Number/Color has been updated to provide better randomization for a small range. Also it handles integer inputs better.
- Perspective Match
improved with a new switch called “Allow Distorted View”. When ON, this switch allows the final view to be distorted, a non-uniform camera could be created in these cases. Note that some applications will not fully support non-uniformed scaled cameras.
- Back Face Lines color customization fix
This color is re-connected. So, now you can control the darker edge color. It will get 0.5 of assigned color for the darker edge. When you use the light scheme, bg color and darker edge color happen to be the same. Now you can adjust this color to solve the issue.
- The viewport setting “Improve Quality Progressively” is saved with the scene.
- support for saving material libraries to previous versions of 3ds Max.
‘saveAsVersion’ support added to saveTempMaterialLibrary, saveMaterialLibrary, sme.SaveMtlLib and sme.SaveMtlLibAs FPS methods.
- The optional skipXRefs parameter for loadMaxFile allows you to disable scene and object XRefs during scene load to speed up file loading. You can load XRefs later by selecting the reference and updating it.
- When the following render settings are changed via MAXScript : RenderWidth, RenderHeight, Image aspect ratio, Image aspect ratio lock, Pixel aspect ratio, Pixel aspect ratio lock, Aperture width. The render format is now automatically changed to “Custom”
- ‘this’ structure instance lost going through createDialog
Fixed issue that rollouts that are defined as structure members can now access other members of the structure instance. Rollouts that are defined as local variables in functions defined in a structure still cannot access other members of the structure instance.
- AssetManager Keeps Previous Scene Assets in Memory Fixed
issue with BatchRenderManager not properly releasing assets when deleted
- The File/New All command immediately removes the selection set names from the previous scene.
- PYTHONPATH support was restored (removed in 2022.2_Update, back in 2023)
Several studios commented recently that the lack of support for the PYTHONPATH env var creates disruptions in their pipelines, they have to understand how to patch their pipeline scripts.
- New glTF Material
- Exporting Static Mesh Geometry with BitmapTexture
- In BitmapTexture, the Tiling, Offset and W_Angle are exported using the KHR_texture_transform extension if Offsets or W Angle are non-zero or Tiling is non-one
- Textures are automatically packed together into proper channels once exported
- Export limited support for Physical Material
- Accurate viewport display of the glTF Material in most cases (some, like volume, require Active Shade using Arnold)
Snap Working Pivot
- Quick Pivot – align working pivot to the nearest sub-object with one key
- Place Working Pivot – When active a gizmo will be displayed to aid you in the placement of the pivot on your vertex, edge(center), or face (center)
- Selection Pivot – With an active component selection, this option will place the pivot on the center of the selection. The pivot should be oriented in the averaged direction of the selection.
- Align Working Pivot – When enabled, this mode allows the user to adjust the orientation of the working pivot. You also have the optional ability to lock a particular axis, so that the axis stays aligned to where it is currently placed, by double clicking on the circular gizmo at the end of the working pivot when this mode is active.
- Reset Working Pivot – Resets the working PivotAlign Pivot to Working Pivot Adjusts the Pivot to match the current position and orientation of the Working Pivot
- Place Pivot Bounding Box – This adds an optional bounding box that fits the object or selection. The bounding box has 24 additional points that allow the user to snap the working pivot to a selected point.
- Create Grid From Working Pivot – Create a new Grid Object aligned to the position and orientation of the Working Pivot.
- Create Point From Working Pivot – Create a new point helper in your scene aligned to position and orientation of the active Working Pivot.
- Snap Pivot Toolbar Tools – Tool > Snap Working Pivot Tools menu, toolbar and quad menu has been added.
- Turning on this option will build an intermediary Remesh state based on the target quad count using the proprietary ReForm pre-processing algorithm. This provides the following benefits.
- This evenly-sized triangle mesh makes ReForm processing significantly faster(1000%-2000% faster in my test).
- Allow you to get a really low target result. Without preprocessing, ReForm simply refuses to respect a very low target.EIther it would fail or give a lot more polygons.
- The interim remesh provides a very simulation friendly topology.
- Data Preservation
All data corresponding to the selected Auto Edge options is now propagated to both the remeshed and retopologized meshes; for instance, if you select the map seam and material ID Auto Edge options, then the select map channel and the material IDs will be propagated.
- The “Output” parameters on the Retopology modifier will now control which set of mesh data is utilized and pushed up the modifier stack. Allowing the artist to send the original mesh, the retopologized quad mesh, or the triangulated preprocessing mesh (if generated).
- Autobackup Toolbar
- Right clicking the Enable/Disable Autobackup button in the Autobackup Toolbar now opens the Files tab of the Preferences dialog so that users can easily edit the Autobackup settings
- New Autobackup Time Interval progress indicator
- Enable\disable Autobackup, Autobackup Interval progress indicator\counter, Reset Timer
- Autobackup commands can be assigned hotkeys
- Autobackup Settings
- Added option to toggle displaying the number in the toolbar (“Display Countdown Value”)
- Compress on Autobackup (disabled by default) – allows files to be saved compressed and backups to be un-compressed (for maximum speed). Also exposed to Maxscript: autosave.Compress
- Prepend Scene Name (disabled by default) – when used, helps minimize overrides of Autobackup files by simultaneous Max ssessions. Also exposed to Maxscript: autosave.prependscenename
- Handling of backup files by simultaneous Max sessions has been improved: The “number of backup files” (N) setting represents the number of total backup files given a the backup naming convention used by Max sessions. If multiple sessions use “Autobackup” as name, they will preserve existent Autobackup files until N is reached, then start replacing the oldest file. This is an improvement over Max 2022, where two simultaneous sessions would each try to backup to Autobackup01, overwriting each other’s backup. Now, session1 of Max creates Autobackup01, session2 of Max creates Autobackup02 etc. When AutobackupN+1 needs to be created, the oldest Autobackup file is replaced.
- Autobackup timer pause can happen when <20 seconds left, and it can be changed with autosave.finalCountdownInterval
- Default timer interval changed from 5 min to 15 min
- Default number of backup files changed from 3 to 10
- Autobackup does not interrupt user activity
- Autobackup timer starts only when the scene is dirty and stops if the scene is no longer dirty. To support this feature, many actions that were making the scene dirty unnecessarily have been fixed include opening RTT, toggling Export dialog.
- Autobackup will not kick in during MassFX simulation, Fluid Simulation, Cloth, Texture Baking and any actions that use the main UI progress bar.
- Animation Playback will pause the timer when 20 seconds left
- Modal dialogs prevent Autobackup. The timer will keep counting down, but it will pause at 10 seconds if a modal dialog is displayed
- Mouse down+drag, most right click menus and menus in the main toolbar or any mouse capture such as during object creation will pause the timer (when 20 seconds remaining)
- Editing in fields prevents Autobackup from kicking in (except in a few places such as MCG nodes)
- Autobackup wouldn’t steal focus from MXS editor
- Reduced the frequency with which the Bailout Manager checks if the Escape key is pressed from 0.5 seconds to 1 second
- Backup File Menu
- File > Autobackup > Autobackup Now – allows you to save a backup right away
- File > Autobackup > Open Autobackup Location – allow to open autobackup folder.
- Scripting and SDK
- Added two functions to MAXscript to allow users to save their Autobackup settings to the 3dsmax.ini file or load them from the 3dsmax.ini file.
- C++ and Scripting APIs for preventing Autobackup from kicking in. These should be used by 3rd party plugins and scripts
autosave.tempDisable = true|false
- Added two functions to MAXscript to allow users to save their Autobackup settings to the 3dsmax.ini file or load them from the 3dsmax.ini file.
Compress Save Performance
- New zstandard compression engine
- When saving a compressed file, compress the data for each entity immediately after its data is generated.
- Great performance improvement when compression is on(500% to 2500% in my test).
- Saving with compression on will only take 10-15% longer than with off in my test case. Before this improvement, turning on compression on used to be 400-600% slower than off.
- In many cases, now saving with compression on in 3dsMax 2023 is even faster than compression off in an older version.
- Occlude selection mode improvement
Further optimizations have been made to the Occlude Selected functionality. The selection performance and accuracy has been greatly improved.
- Smart Extrude Improvement
- All updates which are provided in PUs such as partial cut-through functionality are now available in the Edit Poly, too.
- Fix for “zero-length” edge welding which is sometimes corrupting results when making very small extrusions with very large, high aspect ratio faces.
- The maximum number of height and cap segments, as well as sides, has been increased for the Cylinder, Sphere, Tube, Cone, and Torus primitives. Now they support up to 3600 sides, and up to 1000 height and cap segments.
- New UV hotkeys
- Stitch (custom) (SHIFT + S)
- Pack (custom) (SHIFT + A)
- Quick Peel (CTRL + Q)
- Quick planar map (SHIFT + Q)
- TV element mode (4)
- grid visible (G)
- TV Ring select (ALT + R)
- TV Loop select (ALT + L)
- Grow (CTRL + PgUp)
- Shrink (CTRL + PgDn)
- Relax (SHIFT + X)
- Align to Edge (SHIFT + E)
- Straighten Edges (SHIFT + F)
- Align Horizontal (SHIFT + H)
- Align Vertical (SHIFT + V)
- Show map (SHIFT + M)
- Edge selection to Pelt Seam add (SHIFT + P)
- Edge selection to Pelt Seam Replace (CTRL + SHIFT + P)
- Flatten by Smoothing Group (CTRL + SHIFT + S)
- Cylindrical Mapping (SHIFT + C)
- ADSK_3DSMAX_SMART_EXTRUDE has been added to globally disable Smart Extrude from operating on the Edit Poly modifier (which might be required for file compatibility with 3ds Max 2021 versions that do not contain this Smart Extrude functionality in Edit Poly).
- When Manipulate Mode is active, 3ds Max will now only display the manipulator for the active level of the modifier stack that the user is on (instead of displaying all possible manipulators).
- The XForm modifier is now versioned to enable it to provide the same level of visual consistency when loading older 3ds Max scenes. When opening older 3ds Max scenes (scenes from 3ds Max 2020 or earlier) the XForm modifier will default the “Perserve Normals” option to be OFF, enabling the scenes to be consistent with how the modifier previously operated
- Corrected an issues where it was possible for deforming World Space Modifiers (such as FFD and Noise) could crash 3ds Max when applied over top of modifiers that compute explicit normals (such as Edit Normals or Weighted Normals)
- XForm modifier created by ResetXForm is named “ResetXForm“.
Pipeline integration v2
- Added support for simplified usage of environment variables meant to customize the 3ds Max environment, without the need to define them per 3dsmax.exe process.At run-time, 3ds Max defines two process wide environment variables:
- %ADSK_3DSMAX_MAJOR_VERSION% – represents the major version of the 3ds Max (3dsmax.exe) process. For example “2023” for 3ds Max
- %ADSK_3DSMAX_MINOR_VERSION% – represents the minor version of the 3ds Max (3dsmax.exe) process. For example “1” for 3ds Max 2023 Update1
- The above env vars can be used in the env vars that support the customization of the user environment (ADSK_3DSMAX_***_DIR).
- For example, ADSK_3DSMAX_STARTUPSCRIPT_ADDON_DIR=\\server\3dsMax\%ADSK_3DSMAX_MAJOR_VERSION%.%ADSK_3DSMAX_MINOR_VERSION%\scripts\startup
- ADSK_3DSMAX_ENVVAR_TOKEN_SUPPORT – Enables auto-tokenization of 3ds Max installation files, similar to the -envartoken command line switch.
- ADSK_3DSMAX_AUTOBACKUP_DIR – Defines the path used by Autobackup to save files.
- ADSK_3DSMAX_ROOT – An environment variable defined by the 3ds Max process that contains the directory from which the current 3dsmax.exe program is running, regardless of where 3ds Max is installed. Only defined when auto-tokenization is enabled.
- ADSK_3DSMAX_USERTOOLS_DIR – The path for reading and writing user-defined tools, as well as MCG and Scene Converter scripts.
- New Autodesk Standard Surface Compliant mode – Physical Material is now aligned with the Autodesk Standard Surface feature set when in to that mode. For this, the following 2 new features are added.
- Thin Film
- Update openEXR to version 2.5.7
- Updated OpenShadingLanguage (OSL) to v.1.11.16
- Upgrade to Arnold 220.127.116.11/MaxtoA 5.1.0
- Triplanar now with different texture on each axis
- The new and improved NVIDIA Optix 7 denoiser on GPU which allows for consistent denoising results across AOVs. This makes it possible to composite and assemble AOVs back together without any artifacts.
- Multiple optimizations and enhancements improving the experience when interactively rendering a scene. For example, interactive GPU rendering now performs better when handling heavier scenes through the implementation of a fixed minimum frame rate.
- Increased Arnold stability, especially when using multiple render sessions.
- Also MAXtoA 5.2.0 is available. It includes the new Viewport Volume Display. This feature allows volumetric objects to appear directly in the viewport while building and working on scenes.
Per-Viewport FIltering Improvement
- More MXS exposure include ViewportID property and IsNodeShown, OpenDialog|CloseDialog, ShowCategory and FilterChangeCallback.
- ViewportFIlter now supports Multi-Edit with CTRL/SHIFT.
- Enabled playback while changing Viewport Filtering settings
- Fixed – Per Viewport Filtering Icon was not visible with Safe Frame ON.
- Fixed – cannot select linked geometry with Show Renderable Only ON
- Fixed ghost when toggle filtering
- Fixed missing filtering on the group head or bone-only node
- Safe Script Execution
- enum value MaxSDK::AssetManagement::AssetType::kScript
An asset file reflecting any script file other than a pre- or post-render script file.
- enum value MAXScript::ScriptSource::Dynamic
To be used for scripts that are dynamically generated at runtime and could contain input from various sources that are interpreted as scripted commands.
- Dynamic scripts will always execute with restricted security rights, regardless of Safe Scene Script Execution settings.
- ExecuteScriptAsset function
Executes the given script file specified as an AssetUser. This function should be used for executing script files whose name is stored in the scene file.
- MAXScript::ScriptSource argument to ExecuteMAXScriptScript function
specifies the security rights of the evaluated script string.
- Added additional .net types to whitelist of types that can be created by embedded scripts. This included adding Autodesk.Max.MaxPlus.Box3, which is used by MCG modifiers.
- Safe Scene Script Execution settings now apply to the NetworkManager.Send command when called from script embedded in the scene file
- MAXScript strings executed through the OLE IMaxRenderer interface are now executed with ScriptSource::Dynamic security rights
- enum value MaxSDK::AssetManagement::AssetType::kScript
- Secure way for plugins to load binary dependencies
3ds Max will load dynamic-link libraries (DLLs) that plugins have a link-time (implicit) dependency on from the folder where the plugin resides. In other words, the DLLs the plugin depends on does not have to be installed in 3ds Max’s root folder (<maxroot>), nor does the plugin need to do extra work to load the dlls at run-time (by calling LoadLibrary() for example). Simply deploy the DLLs the plugin depends on side-by-side within the same folder where the plugin resides, and 3ds Max will be able to load the plugin
- Improved scene file load performance of Scene Converter when file contains large number of missing plugin instances
- Improved visual appearance of progress bar in main 3ds Max UI
- Removed Missing Dlls Dialog as Scene Converter Dialog already displays the same information. Scene Converter Dialog now shows by default the list of missing dlls
- The following actions are now undoble and make the scene dirty properly.
- Changing Object Color and Object Properties
- Enabling/Disabling a modifier..
- Disabling a modifier in the viewport/renders.
- Fixed not being able to do Drag and Drop of scene file onto 3ds Max if scene file size was greater than 2 GB
- Microsoft Visual Studio 2019, version 16.10.4, C++ Platform Toolset v142, and Windows Platform SDK 10.0.19041.0
- Qt 5.15.1 and PySide2 5.15.1
- .NET 4.8
- Improved FBX so now it supports the physical material and you can send to/from Maya without much loss of data.
- Scripted Bake To Texture Map plug-ins support using the CommonBakeMap and CommonBakeMapOperator classes.
- New functions for file attributes getFileAttributeNames(), getFileAttributes(), isFileAttributeSettable()
- Both meshop and polyop now have functions to return an array of vertices or faces that match a specified material ID:
meshop.getFacesByMatid <mesh> <matID>
meshop.getVertsByMatid <mesh> <matID>
polyop.getFacesByMatid <poly> <matID>
polyop.getVertsByMatid <poly> <matID>
- New “stepName” argument was added to progressUpdate() function, and New “allowCancel” was added to progressStart
- The “windows” struct contains a new member, isWindowEnabled HWND, that returns true if the specified window is enabled (able to recieve mouse and keyboard inputs). The new getFocus() function returns the HWND of the window that currently has focus.
- Fixed assigning a reference object for Symmetry and Slice modifiers through Maxscript could crash.
- Fixed argument count checks for MAXScript functions getSubTexmapSlotName, getSubMtlSlotName, getClassName, and getObjectName to allow localizedName: keyword argument to be specified.
- Fixed issue where could not specify subAnim keyword argument for type paramBlock2 parameters in scripted plugins.
- Python 3.9.7 – 3ds Max ships with the visual effects platform-recommended Python 3.9.7. which boasts performance improvements, new string functions, and improved quality that will aid Technical Directors and pipeline integration.
- C++ function called DisableMaxAcceleratorsOnFocus has been exposed in the qtmax python module. This is a helper function that disables 3ds Max accelerators on Qt widgets
Plugin Packages Improvement
- The Plugin Package description file (PackageContents.xml) now supports environment variable definitions of type string and path.
- Addition of Hotkeys specification in plugin package file – PluginPackageManager was extended to support a new component type ‘hotkey parts’. 3ds Max will load plugin sourced keyboard shortcuts from the specified location.
Volume Display API
- This new API simplifies displaying a volume in the viewport when a plugin provides the voxels data, positions and display options. 3ds Max will convert the voxels data on the GPU and display it according to the different supported viewport modes such as wireframe, shaded etc. This API proposes many options for the display such as: bounding box, wireframe, voxels, volume with a voxel color and opacity, black body, turbo gradient, or gradient custom texmaps color modes are also available. So far, it supports the volume grids of type fog and level sets. You can use a slice axis to show only a part of the volume at display time. The voxels grid data can be normalized automatically, or manually, or not normalized at all. You can use a 1D density transfer texture to remove some parts of the voxels data at display time, so a 3rd party can control how the volume looks. It also provides support for selection hit testing and wireframe display
Instance Rendering API
- This new API provides a consistent way for third party developers to provide instancing data for a Renderer. It removes the requirement of having to implement such logic in the renderer itself or in any given plugin. The API has two different clients, Producers and Consumers. Third party tools such as tyFlow and Thinking Particles can be considered Producers, they can generate data from their plugins using the new API and Renderers such as Arnold, Vray or Corona are consumers as in they use the API to retrieve the data generated by the producers
- Class RenderTimeInstancingInterface allows a renderer to access an object’s instancing information so that it can do efficient instancing at render-time. This interface is implemented by an object and called by a renderer. A renderer should not call the object’s GetRenderMesh() method if the object supports the RenderTimeInstancingInterface interface.
- Instantiating INodes and Meshes.
- Overriding the material of instances.
- Overriding the material IDs of instances.
- Linear and curved motion blur using 2 or more transform matrices.
- Deleting meshes when they are flagged as requiring deletion.
- UVW overrides
- MaxToA support this API.
Instance Display API
- This new API allows an object plugin to display many instances in the viewport without creating them all in the scene. The plugin describes the instance data based on a single object, and 3ds Max creates efficient representations of that object on the GPU. The instances can have different transforms, materials, mapping3 coordinates, and vertex colors. Examples of plugins that would benefit from using this API are particle systems, scattering tools, instancers, etc.
- To take advantage of this API, plugins should use the methods of class InstanceDisplayGeometry, which are implemented by 3ds Max. For more details, please see maxsdk\include\graphics\InstanceDisplayGeometry.h, and the sample project located in maxsdk\howto\objects\InstancedObject\ folder of the 3ds Max SDK
Max to viewport material conversion API
- Additional helper functions in MaxSDK::Graphics::MaterialConversionHelper.
- To convert from a 3ds Max material (Mtl class) into a Nitrous viewport material (BaseMaterialHandle class) with the function:
- And to create a Nitrous viewport material from a physical material preset with the function:
- Corrected an issues where it was possible for deforming World Space Modifiers (such as FFD and Noise) could crash 3ds Max when applied over top of modifiers that compute explicit normals (such as Edit Normals or Weighted Normals)
Per-Viewport Filtering – New
- You can hide/unhide objects by category or by class per each viewport. Each viewport’s settings can be set independently from one another, giving you the flexibility to display what you need in a given viewport. Per-Viewport Filtering does not affect the scene or renderer.
- Copy/Paste filter setting between viewport
- Shift+K to toggle on and off the viewport filter
- Full MXS exposure with ViewportFilter interface
- Per view settings/preference dialog is modeless and dockable now
Pipeline integration – New
- Environment Customization
Enable studios to configure the software and enable their artists to easily switch between projects that require a uniquely configured environment, script, and plug-in environment using environment variables.
- The following paths used by 3ds Max can now be configured using environment variables.
- The ADSK_3DSMAX_x64_<year> – The path to the 3ds Max install. Created by the installation process. On systems where 3ds Max was copied instead of installed, this variable needs to be defined manually.
- ADSK_3DSMAX_APPDATA_DIR – The path used by 3ds Max to read and write local user data. By default this location is C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<year> – 64bit\<lang>
- ADSK_3DSMAX_USERSETTINGS_DIR – The path for reading and writing user settings.
- ADSK_3DSMAX_PROJECT_DIR – The path for the location for project data (such as material libraries, render presets, render output, etc).
- ADSK_3DSMAX_STARTUPSCRIPTS_ADDON_DIR – 3ds Max Startup Scripts Folders.
- ADSK_3DSMAX_SCRIPTS_ADDON_DIR- 3ds Max User Scripts Folders.
- ADSK_3DSMAX_MACROS_ADDON_DIR – 3ds Max User Macro Scripts Folders.
- ADSK_3DSMAX_ICONS_ADDON_DIR – 3ds Max User Icons Folders.
- ADSK_3DSMAX_PLUGINS_ADDON_DIR – 3ds Max Plugins Folders.
ADSK_3DSMAX_ASSETS_MAPS_DIR – A list of semicolon-delimited paths, used in addition to the Xrefs paths defined in the Configure Project Paths dialog.
ADSK_3DSMAX_ASSETS_XREFS_DIR – A list of semicolon-delimited paths, used in addition to the External Files paths defined in the Configure Project Paths dialog.
- The ADSK_3DSMAX_x64_<year> – The path to the 3ds Max install. Created by the installation process. On systems where 3ds Max was copied instead of installed, this variable needs to be defined manually.
- Support for Environment Variable Tokens in Paths found in Configuration Files
This feature allows users to define or modify paths found in various 3ds Max configuration files, including 3dsmax.ini, using user defined environment variables, referred to as “environment variable tokens”.
Advanced Wood OSL shader – New
- designed to match the accurate appearance of many common wood types such as maple, walnut, and oak. Delivering a rich and vibrant result that is easy to configure, displays beautifully in the viewport and in any OSL compatible renderer.
- UVW can be modified with external shaders, and a random seed can be driven to have per-object variations.
- It is also fully supported in a ‘High Quality’ viewport and will render exactly the same on any OSL capable renderer.
SketchUp 2021 Support – New
- allowing users to successfully import SketchUp 2021 models into the software where they can continue to model and render the asset.
- Arnold 18.104.22.168.
- color_curves imager
- Intel open image denoiser imager
- EXR’s multipart parameter
- The Tonemap Imager now supports a Look-up Tables (LUT) mode to apply to a LUT file in any format supported by OCIOv2.
- Arnold lights also now have new defaults that give better first render results, along with sticky settings that allows you to create lights with the same setting as the light previously created.
- Resolved Viewport Lag from High Polling Gaming Mouse Devices issue where the viewport performance in Standard or High Quality mode would be affected by the high polling rate from gaming mouse devices.
- Further optimized the File Save system to provide an additional 20-40% percent boost in efficiency.
- Improved scene load performance when a large number of animation clips are present in the scene. For example, a provided user scene file with half a million clips opened 10 times faster.
- Occlude node – marquee(box)/paint selection support
- Smart Extrude – overlap is treated properly in multi-body cut-throughs.
- Smart Extrude – treatment to deal with when either the extruded faces or the target face were significantly non-planar. Now, under the hood we split all faces along any non-flat diagonals at the beginning of the operation, and re-merge them at the end, so arbitrarily non-planar faces now work just as well as planar faces.
- Symmetry modifier – a new “Slice Cleanup Threshold” to the “Slice Along Mirror” option has been added in 3ds Max 2022.3. This threshold will allow you to further control the cleanup of vertices that are in close proximity to one another along the cutting plane before the Symmetry action takes place.
- Unfold3D Peel/Pack – Further improvement on non-manifold map topology automatic fix
- Unfold3D Peel/Pack – Proper MXS support for Unfold3D pack. Now users can choose Unfold3D as .pack methods and use all arguments of the method.
- Chamfer modifier – “Limit Affects” functionality has been updated to generate improved results on non-planar faces and non-collinear chamfered edges.
User Experience Improvement
- Orphaned Layers – When loading or merging a scene, orphaned layers and objects with no parent layers are now automatically recovered and can be interacted with once again.
- Auto-Expand Selection in Scene Explorers is now off by default.
- Show Selection Range – Show Selection Range in the Time Slider configuration is now on by default, making it easier to quickly scale the range of a selected set of keys.
- LookAt Constraints Viewline Length – Viewline Length Absolute inLookAt Constraint is now off by default.
- Installation from Hidden Folders – Now supports being installed and launched from a hidden folder, enabling the software to be more easily deployed.
- Searching using partial material’s names in SME views enabled.
- Fixed possible freeze with long shader tree can when right-clicking on the material in SME.
Software Security Enhancements
- When Safe Scene Script Execution is enabled in 3ds Max 2022.3, scripts embedded in a scene will now prevent writing to folders where 3ds Max expects to find plug-ins and scripts.
Unfold3D Peel – New
- Unfold3D is the default algorithm used for the Peel functions now inside of 3ds Max with the Unwrap UVW modifier.
- In the Edit UV window of the Unwrap UVW modifier you will see that the Peel section has changed to reflect a new set of options. A rollout menu is now provided so that you can choose to use the old LSCM method from before, or stick with Unfold3D
- Peel, Peel Mode, and Reset Peel should all function as expected. Peel will unfold based on the UV coordinate selection as they exist. Peel Mode brings you into the interactive peel function. Reset Peel will take your selection, generate a new set of UV data and unfold them.
- The options menu has also been updated to reflect Unfold3d’s various parameters for unfolding, or to access the settings for the legacy algorithms
Unfold3D Packing – New
- Unfold3D requires clean non-manifold topology for processing. The Unwrap UVW modifier will check your UV data to and fix the problematic data such as degenerate,or non-manifold uv data or stacked & welded elements.
- By default the Unfold3D packing algorithm is also the default for all packing actions and is hooked into the same settings and options from before that are found in the Edit UV window.
- A new options menu exists where you can further refine the packing options, or switch to the other algorithms within 3ds Max that we provided before for packing.
Unfold 3D Optimize – New
- Unfold 3D Optimize is added in the Relax method dropdown.
UV Editor Performance Improvement
- Improved performance of selection and uv manipulation by multithreading and optimizing memory allocations of topology validation and selection algorithms. Also threaded and batched data gathering for uv window painting.
- Tested with 26 files ranging from 4k verts to 2.7 million verts.
- Adding unwrap_uvw modifier – 486% faster (108% – 869%)
- Opening UV editor – 175% faster (104% – 238%)
- Switching sub-object mode from verts to faces – 174% faster (107% – 245%)
- Switching sub-object mode from facesto verts – 296% faster (109% – 578%)
- Selecting sub-object mode – 174% faster (114% – 229%)
- Transforming sub-objects – I couldn’t measure this with script. But, you can see this is at least 2-300% faster from my video.
UV Editor Updates
- The UV Editor’s default size is updated to be adaptive to the screen resolution on the end user’s machine. By default the Edit UV window will open centered and at 80% of the users screen resolution size. Changes to this window’s position and size are also saved.
- A small progress bar has been added to the Peel rollout in the Edit UV window to help inform the user about the status of a Peel or Pack action that Unfold3D has been told to perform.
- Users can cancel a Peel or Pack action by pressing ESC.
- The default blackand white checker map that is used in the Edit UV window to help with UV mapping is now generated at a higher resolution (2048). A user can further adjust this resolution up to 8192 in the Unwrap Options
File Save Performance Improvement
- File save code has been greatly optimized by caching data instead of recalculating it, minimizing moving file pointers, eliminating the object creation\destruction and setting\clearing flags instead.
- Tested with 10 files which took more than a few seconds to save previously. The file save without compression is now 193% faster and 423% faster with compression on than 2021.3. So, turning on compression makes the file save 360% slower compared to 673% slower in 3dsMax 2021.3.
Smart Extrude – Multi Cut-Through & Partial Merge
- You can now drag a face through multiple surfaces, or drag a face partially through a volume of a mesh and it will cut and clean the geometry as expected.
- It has been enhanced to produce more accurate results that might occur from numerical precision on overlapping faces.
- Improved Smart Extrude stability when quickly moving the results back and forth before committing to a final position.
Pen Pressure Improvement
- More device support as long as they support Wintab32.dll. (E.g. Huion, XP-Pen)
- support the full range of pressure sensitivity that is offered by the pen tablet device by checking with the Wintab32.dll on your local Windows system. (E.g. Huion Kamvas16 support 8192 level)
- Brush pressure from pen tablet input devices is now properly captured by 3ds Max and can be utilized once again in various tools/functions within the application that supports this functionality. For best results, disable Windows Ink
- Accelerated moving verts in editpoly by not locking for every getnormal.
- Improved loading performance if SME is open and there are heavy shading trees
Improved Hide by Category
- New Qt UI
- New Show Renderable Only checkbox
- New Scene Contents to show only categories which exist in the scene.
- Supports exporting animation data such as node transform animations and vertex animation cache.
- Added basic support for exporting splines.
- Enhanced support for exporting and importing Photometric Lights.
- Enhanced support for exporting and importing cameras.
- Improved performance for exporting mesh and scene data.
- Added export option to include/exclude hidden nodes.
- Added options to control export of map channel data from meshes.
- USDView now available with required dependencies.
- Mesh conversion function available in MAXScript to create mesh from a USD Prim.
- New export option to control polygon triangulation.
- The Symmetry modifier’s welding algorithms have been updated to provide even more predictable results by finding matching pair vertices on the mirrored surface. The tolerance threshold now enables welding to solve across open gaps along the symmetry line. These enhancements will make symmetry operations faster and more accurate than before, even on open surfaced models.
- Symmetry now performs a check for non-manifold edges and vertices. It will attempt to clean incorrect mesh data when these errors are found. This will help resolve issues with vertices being accidentally welded to other vertices on other elements after using Symmetry.
- Security Settings Management -: 3ds Max now supports management of security settings by IT administrators by specifying and locking the Safe Scene Script Execution settings through the registry. This allows for all installations to use the same security settings, which helps define team or studio-wide software security policies.
- Support3ds Max now logs all Python scripts and imports. If a module is imported multiple times, it’s logged only once per 3ds Max session
- The ADSK_APPLICATION_PLUGINS environment variable can now list the folder where the PackageContents.xml file of a plugin packages is located. This allows for finer control over organizing plugin packages and providing 3ds Max with the paths to load them from.
- enableColorMap and useRGBColorMap properties added to StandardTextureOutput MAXScript exposure. Setting on any of the properties via MAXScript for StandardTextureOutput updates display in Compact Material Editor and Slate Material Editor.
- When a hyperlink control in an embedded scene script is clicked, a security warning dialog is displayed to confirm that the user trusts the target website.
- The getINISetting() function now takes an optional defaultValue keyword parameter that defines a value to return if the specified key is not found.
- The new getEncoding() function returns the character encoding of a specified text file.
- It is now possible to execute pyc files in 3ds Max.
- The Python interpreter runs with the -E switch.
- Fixed issues related to cloning of script editor tabs in MAXScript editor.
- Resolved an issue with the Symmetry modifier where it would merge vertices there were in close proximity to one another together before stitching the mirror results together.
- Fixed issue where user could not add Tracks to Track Sets.
- Fixed an issue that caused the getINISetting MAXScript function to change the encoding of the files it read to UTF-16 LE with BOM. Now the original encoding of files is always preserved when they are read using getINISetting.
Explicit Normal Performance Improvement
- Last year I have posted a tip about “3dsMax tips #3 How to make imported tree animation 15 times faster”. https://cganimator.com/3dsmax-tips-3-how-to-make-tree…/
- In that post, I hinted 3dsMax dev is working on improving the situation. Finally that effort come to fruition and released in 2022.1. Now all explicit normal computation is fully safely multithreaded. My test shows 2x to 4x “overall” performance improvement. The video I attached has 4 of 25k verts characters with explicit normals(total 100k deforming verts). It went from 9 fps to 36 fps! This was no simple task and touched the core of 3dsMax. As you can see from the last a few release, 3dsMax team is putting a lot of effort for modernizing the core and improving performance.
New Selection Filters for Editable Poly and Edit Poly modifier – Occlude mode
- Two new Optional Culling selection filters, Backface and Ignore Occluded, have been added to Editable Poly and the Selection Rollout for Edit Poly modifier.
When enabled, artists will be able to only select the components (vertices, edges, polygons) that are visible in their view. Hence, making it easier to select visible components only and preventing you from unintentionally selecting components that are occluded from view. These options replace the legacy Ignore Backfacing toggle. In addition, Target Weld and Bridge poly functions now perform better with these options enabled.
Restore Factory Settings & Startup Failure Recovery
- A new Restore to Factory Settings button has been added to the General Preferences tab to let you restore 3ds Max default settings from within the software if you experience unexpected UI behavior or performance issues. Everybody knows “Deleting ENU folder” trick to solve many odd issues. But, you also lose user macros and script by doing so. Also you have to remember those hidden folder location. Bow, 3dsMax will reset only needed setting for you with a button. Also it will give you one click shorcut to access the folder.
- On launch, if 3ds Max detects that initialization has been corrupted in a way that prevents it from launching, a Startup Failure Detection window now appears. (You can ignore the dialog and continue without restoring. If 3ds Max continues to fail at startup, the option will still appear.)
- Smooth Modifier to Clear Explicit Normals
As a part of explicit normal handling improvement, Smooth modifier now clears explicit normal interface completely for Poly object. You can see the technical details at the above my tutorial link.
- Vertex Paint Improvements
Sub-object component selections can now be passed up the modifier stack to the Vertex Paint modifier. This will enable artists to utilize the component selection as a mask to control where you can paint. Vertices of hidden faces are no longer selectable with your mouse when using Vertex Paint.
- Smart Extrude Performance Improvement
This update brings significant performance enhancements(over 20x) to Smart Extrude allowing you to perform Smart Extrude actions to a selection of polygons on their models faster than ever before. You can also apply these actions utilizing higher polygon counts than what was previously possible.
- 3dsMax scene mesh to viewport display gpu mesh conversion has been improved.
- Noise map multi-threading handling has been improved.
The performance of the selection of objects in the viewport with SME opened has been improved.
- Fluid Loader Particle ID Exposure to Particle Interface
Now any particle system that support particle interface can directly read/update MaxFluid properly.
- No more MentalRay missing plugin error
new mechanism (came with a new SceneConverter API – AddSilentClassID ) was introduced in 2022.1 to allow to hide any missing plugin data (e.g., from MentalRay). In English, you wouldn’t see this popup anymore. It doesn’t matter if the missing plugin data is in xref or material library. The new feature will simply ignore them and will not show popups.
- Improved Support for Vertex Colors in FBX Imports
Vertex Colors are now supported in FBX imports from a broader set of sources, enabling greater collaboration opportunities across different creative tools with less compromise.
- Only 1 click necessary to work with Render Setup properties if focus is elsewhere in Max.
Fixed Perspective Match handles behavior.
Animation keeps playing while the view is moving/panning/orbiting.
Resolved an issue where Xform modifier gixmo was always displaying in the viewport, even when the object it was applied to was not selected and it was not the active modifier on the stack.
Preferences saving issue with V-Ray installed
Weighted edges that are set as 0 in Editable Poly or the Edit Poly modifier Chamfer by weight will now produce proper results when using Chamfer and “By Weight”. Any Chamfer modifier applied within 3ds Max 2022.1 Update will now utilize this new code to handle edge weights when chamfering.
Fixed issue introduced in 3ds Max 2022 where strings used as initialization values for structures, scripted plugins and scripted rollouts were not properly handled, resulting in code that could change the content of the actual string literal.
Fixed command panel rollouts not expanding or retracting
Solved issue with .psd files locked in Photoshop.
PBR Importer rules can now recognize spaces in texture names.
Fixed a bug that prevented maxscript from writing to the listener window when called from python.
Fixed the save of sequences from Make Preview when Multi Pass is enabled.
Anim Layers were not being removed when the the controlling node was deleted. Now when a node is deleted any anim layers referencing that node are also deleted. Also on file open/merge anim layers that are orphaned are deleted.
- and more
- Smart Extrude Cut-through
removes geometric data when the smart extrude passes to the other side of faces.
- Smart Extrude Bridge
perform union operations and join non neighboring polygons together from complete intersections.
- EditPoly support for Smart Extrude
- PU2 – Smart Extrude
Adjacent faces are completely rebuilt and stitched together, matching the final visual output. No more need for time-consuming repairs on hidden faces or other geometric data resulting from extrusions.
- PU1 – Interactive Extrusion and Inset(AKA Shift Extrude/Scale)
Users can now utilize a Shift+Drag (left mouse button) with the Move transform tool to extrude polygon component selections when using an Editable Poly or an Edit Poly modifier.
Shift+Drag with the Scale transform tool now performs a polygonal inset action on selected polygon component selections when using an Editable Poly or an Edit Poly modifier
Clone/Copy actions are now performed with Ctrl+Shift+Drag when using the Move transform tool on the polygon component on and Editable Poly or an Edit Poly modifier.
Revamped Slice/Symmetry modifier
- Multiple axis slice planes with Planar slicing/symmetry.
This allows you to slice/symmetry on X, Y and Z axis at the same time. You can flip any of the individual axis to get the desired result.
- Radial slicing
Radial slicing along one plane (z by default). You have control over the two angles up to 180 degrees.
- Radial symmetry
enables a new symmetry function to quickly duplicate and repeat your geometry around the gizmo center to rapidly create new variations and empower your workflow. You can use as rasial array, too.
- Mirror option for Radial Symmetry
Mirrors each radial symmetry part to create seamless connection between each part.
- Pick Face option for Planar slicing/symmetry
allows you to quickly align the slice plane to any face of the object that the modifier is applied to.
- Pick Object
picking a different object in the scene to drive the transform of the slice/symmetry. Gizmo transform. This makes it much easier to animate the gizmo. Almost like having a local and world space modifier in one.
- Improved Performance. 2x faster than the original slice modifier.
- Smarter Weld Seam
modifier actually knows what vertices are split from one another and welds them back based on the slice plane instead of blankly weld by distance threshold. The edges not being sliced (generating new vertices) aren’t considered. It allows to weld vertices from different elements of a mesh in a smarter way
open holes created by the Slice operation can now be capped along its boundary edges.
- Set Cap Material(Slice)
- Automatic selection for capped faces(Slice)
- Automatic Operation mode(Slice)
Slice modifier will use the same data type coming from stack by default.
Improved Relax modifier
- Fullt multithreaded for better performance. A test shows 3.5x improvement over 1.1mil verts and 2.2mil tris
- Preserve volume option
Improved Extrude modifier
- Optimized capping provides significant performance improvement for complex shape with a lot of elements. A test on a spline with 220 spline and 523,176 points was 130 times faster than before(3576 second vs 27.7 second).
- Capped geometry is cached. Therefore, the extrude updates instantly when the amount value is changed.
- A brand new Retopology modifier
3 automatic retopology algorithm. Reform, QuadriFlow, InstantMesh
the proprietary retopology algorithm, reconstructs problematic polygonal mesh data as clean quad-based topology with uncompromising accuracy.
- QuadriFlow and InstantMesh for quick retopology.
- Various hard edge preservation options.
Material ID, UV, Boolean Seams, Specified Normals, Selected Edges, Angle
Improved Subdivide modifier(PU3)
- 3 new algorithms for remeshing
- All three algorithms can preserve existing mesh data include UV on the output result
- The pre/post processing was threaded, and some obvious sources of inefficiency were fixed.
New Path Deform modifier(PU3)
- Completely rebuilt while retaining backwards compatibility with older scenes.
- Fully multi-threaded average 400% faster. 1 million verts test showed 1700% improvement.
- Support for per element path deform, control the pivot for each element and whether the elements are deformed individually or as a group
- Utilize nodes with multiple curve elements to transition the path deform from one shape to another
- Preserve form by element – The objects form is now maintained when moving along the path
- Texture coordinates are properly transferred from the path to the object (and will no longer crash 3ds Max)
- Preserve form by Group – Grouped object positions are now
Improved Push modifier(PU2)
- Fully multi-threaded average 300% faster.
- Vertex normals are now cached, maintaining their input normals when a push operation is applied to them. This provides an added performance for animation.
Safe Scene Script Execution
- 3dsMax will block the execution of scripted commands found in the scene that could be used for malicious purposes. The same commands found in script files (*.ms, *.mse, *.mcr, *.py, etc) will not be blocked. Safe Scene Script Execution (SSSE) is enabled by default
- The Safe Scene Script Execution settings can be found in the Security tab of the Preferences dialog The commands being blocked fall into these categories:
1) Maxscript system commands: these are commands that allow access to resources outside the 3ds Max scene, such as file system, process execution, network and internet. Examples include DosCommand, ShellLaunch, createOLEObject, LoadDllsFromDir,
2) Python commands: these are commands that allow for executing python code from Maxscript. Basically the methods of the Python Maxscript interface are all off limits.
3) 3rd part .NET code: instancing of .NET types that 3ds Max does not use are disallowed from scripts embedded in a scene file.
- User friendly notifications on blocked scripted commands
When a scripted command is blocked, a message is displayed in our new modeless Security Message window, and it’s displayed in orange to indicate that it’s new (hasn’t been read yet). the blocked command icon in the status bar will increment the count of blocked messages and turn orange for a little while the plugin\feature that owns the script containing the blocked command will pop open. The message that displays the name of the blocked command, also displays the parameters passed to the command
- Security Tools integrated into Security preferences
You can enable\disable the Security Tools from the Security preferences tab – see the “Malware Removal” section.
- Unsafe dragAndDrop FPS methods are blocked by the Safe Scene Script Execution feature
- 3dsmax.exe (3dsmaxio.exe), 3dsmaxbatch.exe and 3dsmaxcmd.exe all support the command line options and env vars for controlling Safe Scene Script Execution.
command-line option for all flavors of 3ds Max : ‘- safescene [on|off]’
environment variable ‘ADSK_3DSMAX_SAFE_SCENE’ (with ‘[1|0]’ values)
The order in which the settings are read and applied (the last valid in list is the one retained): 3ds Max ini file, environment variable, command-line
- Evaluating macroscript definitions and running macros.new or macros.load are blocked when called from embedded script and Safe Scene Script Execution is enabled.
- The dotnet.loadAssembly <assembly_dll_string> method is blocked when called from embedded script, Safe Scene Script Execution is enabled, and SSSE execution of .Net is disabled
- Unsafe dragAndDrop FPS methods are blocked by the Safe Scene Script Execution feature
- The Malware Removal functionality also has an option to notify the user of updates available to the Security Tools on Autodesk App Store.
- Accelerated Auto Smooth.algorithm
EditableMesh and EditablePoly AutoSmooth command, EditMesh and EditPoly Autosmooth command, Smooth modifier and Renderable Spline with Autosmooth on. The performance gains are significant. One of the test models took 2.8 second compared to 6664 second before. 3000 times faster!
- Faster EditPoly Remove Edges and to a lesser extent, Remove Vertices
EditPoly Remove edges (with ctrl on) and Remove vertices in various places (including EditablePoly). A test which removed 238,800 verts from 318402 verts showed 2,533 times improvement. 2021.3 took 4276.9 second, and 2022 took 1.688 second. This change break backward compatibility. This means you will not see improvements when loading old files. Only the newly added Edit Poly modifier will use this improvement.
- Accelerated mesh clusters.
A test model with Bevel Faces and Chamfer Edges processed in 4 second compare to 1 minute 25 second before.
- Accelerate an internal controller data structure “TempStore”
This optimization improves key creation speed. this can improve file loading of scenes with a bazillion keys (since you have to “create” all those keys on file load). And it may improve performance of operations that destroy/create many keys at once (for example reduce key). It also comes with a tiny (very tiny) bump in speed for most controllers
- Update geometry library to conform to c++11 object creation/destruction
3dsMax geometry library has been modernized to help performance and stability. it could improve modifiers that work with geometry a lot (and use standard containers & algorithms). We also made our matrices safer (they could read corrupted memory, causing crashes or bad values)
- Optimized Attachment controller
added math optimizations and the ability to cache the data so that playback speeds are improved after the data has been loaded and played the first,
- PU3 – The initial MAXScript heap size allocation is increased from 15 MB to 100 MB, which can improve performance when the Ribbon is open.
- PU2 – Faster loading scenes with many deep OSL shading trees.
- PU2 – Improved import skin weight for high poly meshes.
Tests showed 120x improvement in the example scene we were given!
- PU2 – perform enhanced explicit comparisons between the cached mesh and input mesh passed to determine if topology changes to faces or vertices should invalidate Unwrap UVW data above the stack.
- PU2 – The Mesh commands of RemoveDegenerateFaces() and Mesh::RemoveIllegalFaces() have been updated to support multiple threads, enabling these actions to be performed much quicker on more dense data sets.
- PU2 – MAXX-57473 : Accelerate panning in trackview
- PU2 – MAXX-48640 – Playback performance improved when TrackView is open.
- PU1 – Corrected mesh validation issue affecting FBX import speeds when the file contains invalid data.
- PU1 – Improvements to the mesh selection algorithms should speed up performance for machines that have 4 cores/threads or less.
- PU1 – The intersectRay MAXScript function will now perform with increased accuracy and consistency with both mesh and MNMesh type objects when dealing with faces by performing improved bounding box tests.
- PU1 – Anim Layers were not being removed when the controlling node was deleted.
Now when a node is deleted, any anim layers referencing that node are also deleted. Also on file open/merge anim layers that are orphaned are deleted.
- PU1 – Improved file loading, saving, and/or merging when dealing with Motion Clips
we now cull out orphaned motion clips that are unreferenced. ParamBlock2 post load callback speed has also been improved.
- PU1 – Added Track View action item called ‘Delete Selected Custom Attributes’ to delete any selected custom attributes in the active Track View and help reduce file bloat issues. It is only enabled when a Custom Attribute is selected.
- Common Maps
extend bake elements that users can pick to quickly achieve desired results. – The following maps are supported in 2022.
Beauty, Color, Metalness, Roughness, Vertex Color, Emissive, MaterialID, Material Input, Opacity, Normal, Ambient Occlusion, Rounded Corners.
Any renderer can “hook” into those Common Maps to define how they want to best bake that common map. Common Maps are MaxScript based for 3rdparty to support easily. If a Common Map is not supported by a renderer yet, it will display as unsupported (barred teapot icon at the beginning of the line).
- Gamma settings are now exposed in Bake to Texture for non-data maps, which will bake at a 1.0 setting
- Baking normal maps with scanline no longer produces specular artifacts. MAXX-59733
- Baking multiple UV tiles no longer bakes the same time repeatedly. MAXX-59240
- Baking self projected normal maps no longer produces artifacts and noise. MAXX-59075
- Baking with Arnold no longer applies an unexpected filtering, resulting in a blurred result.
- The Enter key no longer commits unexpected changes in the Bake to Texture window.
- Save to previous function no longer triggers unexpected warnings when scene contains Bake to Texture data.
- PU2 – Enable batch rendering of baked maps from Bake to Texture
- PU1 – User can decide to skip or overwrite existing maps from the Existing File(s) Found dialog in Bake to Texture
- PU1 – The Output-To Material in Bake to Texture loads the resulting image sequences if animated maps are baked
- PU1 – Baked UDIM tiles are automatically loaded in the baked material using Multi-Tiles maps.
- PU1 – Animated map outputs support as well as multiple animated frames
- PU1 – Multiple line editing of the Output-To column for Objects and Maps MAXX-56156
- PU1 – Improved performance when dealing with large numbers of objects with bake maps defined.
- PU1 – Add multiple maps to multiple objects to the Bake to Texture list in a single MaxScript command.
- PU1 – Output-To settings are now exposed to MAXScript.
- PU1 – Enabling the MacroRecorder no longer has a significant performance impact on the Bake to Texture performance.
- PU1 – Map order in Bake to Texture is now preserved after loading an existing scene.
- PU1 – When baking a map using Map Override with Scanline, the map is now shown in the Bake to Texture window if the scene is closed and re-opened.
- PU1 – Bake to Texture Output-To state lo longer resets to File Only and loses settings when switching Output-To options.
- PU3 – Preference > Viewports > Selection Pixel Radius setting for easier selection on HiDPI monitor.
- PU3 – Spline Chamfer modifier improvements
Enhanced functionality controls what knots are influenced through minimum angle parameters. The calculation of knot positions after fillet/chamfer operations has also been improved to provide optimal results.
- PU3 – Improved hit detection for selections
Implemented improved methods to handle pick selection when there are multiple components under the users cursor. This includes finding near or neighboring selection options to the cursor and comparing screen (z) depth to be more deterministic.
- PU3 – Depth cycling issues for selection have been fixed.
When you try and cycle through verts/edges/faces that are directly in front of or behind other verts/edges/faces, it no longer makes a selection of the different components when in Edit/able Poly.
- PU3 – Updated the Bridge operation to provide improved mesh stability to look for and remove dead vertices to make the mesh safe once it has completed its action. Other poly actions in 3ds Max have also been enhanced to look for this same problem as well.
- PU2 – Selection Improvements
Loop and ring selection is now more intuitive at various component levels.
Hold Ctrl and double click to add loops and limited loops.
Hold Alt and double click to remove loops and limited loops.
- PU2 – Spline Chamfer Modifier
Procedural chamfer on spline as a modifier
Use Stack Selection, Limit Effect options
- PU1 – Explicit Normals Preservation for Mesh
Applying an Edit Mesh modifier no longer invalidates explicit normals, nor do the following actions: Attach, Detach to Object, Detach to Element, Clone to Object, Clone to Element, Detach as Clone to Element.
- PU1 – Resolved an issue where a reset command was issued and the bind pose on Skin Wrap was not properly updating. We have also exposed a new Maxscript command called fullReset to call this reset action as well.
- PU1 – add skinops.getVertexBoneIDsAndWeights add skinops.getVertexBoneIDsAndWeights to correspond with skinops.setvertexweights <#(<vertex_boneId_array>, <weight_array>)>skinOps.getVertexBoneIDsAndWeights <Skin> <vertex_integer> [node:<node>]
- Faster Qt Render dialog
- Classic Material Editor default slot materials are all set to simple gray Physical material for faster loading.
- PU3 – PBR Importer
Enables the quick automatic creation of PBR or Physical Materials by loading a range of PBR texture files.
- PU3 – ActiveShade viewport resolution multiplier
You can now render in the ActiveShade viewport with 1/8, 1/4, 1/3 or 1/2 resolution to increase render speed, especially when working with high resolution monitors.
- PU3 – Hide Unused Nodes now correctly hides unused input and output slots.
- PU3 – RenderMap() now supports 32bits (EXR)
- PU3 – Fixed Tabbing Between Views in SME with “Ctrl+Tab”
- PU3 – Updated default settings to 20 for the Create Preview Animation tool
- PU2 – Adaptive Degradation is Off by default
3dsmax.ini > [performance] > adaptiveDegradation key stores the last value so that it’s remembered across max sessions.
- PU2 – A warning is displayed when collecting more than 10 materials from the scene in SME. You can change the default number using the “Warn on Get All Scene Materials” flag in the SME.ini file, or set it to 0 to restore the legacy behavior.
- PU2 – Render Message window
QT interface with a new color scheme
Copy and paste is easier
Enable / Disable Render Message window auto-scroll.
Added checkbox for Open on warning
- PU1 – SME: In single-click mode, the maps and materials are automatically selected on creating, copying and picking from object.
- PU1 – PBR material support displacement
- PU1 – Faster Slate Material Editor
The Slate Material Editor now pans and zooms smoother and faster when using a 4k monitor
- PU1 – Improved Slate Material Editor Search field
perform global search through all materials and maps in the editor. For example, if you were searching for the Advanced Wood map and typed “wood,” the old search would not find it but now it will.
- PU1 – Optimized OpenImageIO cache setting to improve performance for evaluation of OSL shaders. Increased the memory limit from 2 GB to 16 GB before swapping textures.
- PU1- New Render output size default to HDTV resolution of 1280 x 720
- PU1 – Render Preset UI is now HiDPI compatible
- PU1 – When adding a node in the Slate Material Editor, it now shows in the viewport (shaded mode) as the Show Shaded material in Viewport is now on by default.
You can change the default behavior in 3dsmax.ini: 0 = Show Shaded Material in Viewport OFF, 1 = Show Shaded Material in Viewport ON.
- PU1 – MAXX-56763 Materials added only in Compact Material Editor will update their properties in real-time in the viewport.
- PU1 – Quicksilver will no longer use Time to render in the Slate Material Editor, so you will no longer be locked out of 3ds Max.
- PU1 – “Rendering in the Cloud” and “Open A360 Gallery” have been removed, and the “Quick-Render” button in the main toolbar now has an additional fly-off to setup a A360 Cloud-rendering.
- PU2 – New – Bitmap Random Tiling OSL Map
Looks up a bitmap from UV coordinates and modifies each repetition so tiling is not evident. The shader has a mode to properly transform normal maps. It outputs the modified UV so it can be hooked up to other Bitmap Lookup shaders so you can apply the identical randomness, in addition, it outputs the Random Index itself to drive downstream synchronized modifications.
- PU2 – New – PBR Mixer OSL Map
Mixes all parameters for two sets of PBR materials.
- PU2 – New – 1 of N (filename) OSL Map
Picks one of the numerous inputs.
- PU2 – New – Scale (color) / Scale (vector) OSL Map
Multiplies a color/vector by a float
- PU2 – New – MultiMixer (color)/Mix (color) / Mix (vector) OSL Map
Mixes many pairs of color inputs driven by a single Mix input.
- PU2 – New – Wireframe
Creates a wireframe with a fixed width relative to rendered pixels, with a square every 1×1 unit square in UV space.
- PU2 – Random By Index(Color) OSL Map
New Randomize Per component option
- PU2 – Curve OSL Map
New UV input mode option
- Presentation Mode
Borderless floating viewport.
- PU3 – Viewport Bloom
Reproduce the illusion of a very bright light overwhelming the camera capturing the scene, creating a glow.
Bloom can be applied on background or on specific objects.
Settings include quality and radius, strength, tint, threshold & smoothing, and Dirt map.
- PU3 – Viewport shader compilation feedback
- PU3 – Point cloud display enhancements
Point cloud data has been enhanced by integrating a new color/spectrum ramp and a new shader for intensity and elevation. This aligns how point clouds display in the viewports with how ReCap displays this information.
- PU2 – Improved zoom extents behavior for perspective viewports
- PU1 – Support OSL string in viewport.
You can play animated sequences in viewport when you use OSL bitmap.MAXX-56995
- PU1 – UDIM display via OSL bitmap.
- PU1 – Depth of field now affects the environment map,
It can be disabled by editing 3dsmax.ini, and set DisableDOFForBackground=1 in the [Nitrous] section.
- PU1 – the vignetting scale is now the same value as defined in the camera
- PU1 – Matte/Shadows materials now work in the viewport
- PU1 – Each viewport can now have their own exposure, white-balance and vignette settings.
- PU1 – 3ds Max now starts properly when 10 GPUs are present. MAXX-50053
- PU1 – Fluid loader is exposed to particle interface. You can directly render MaxFluid with VRayInstancer and such.
- PU1 – The Velocity channel now reports correct information when not using meters as your default scene scale. This fix will enable motion blur in your renderer
- PU1 – PRT now supports signed and unsigned integer values (via .ini change).
- PU1 – PRT export of uv and id for Fluid has been fixed.
User Defined Defaults(PU1)
- PU1 – Allows you to set your own default values for ParamBlock2 supported spinner, radial, checkbox, or input field through MAXScript calls.
- Improved ATSOps interface – allowing repathing of scene assets via MAXScript
- Dock toolbars with correct height Dockwidgets created via MaxScript maintain the correct/initial size
- PU3 – The callbacks.show() function now indicates when a callback definition is loaded from a scene file with SceneFileEmebedded:true|false
- PU2 – New executeScriptFile() function provides a way to execute a script file and return any error messages it might generate
- PU1 – New functions allow you to enable or disable some callback types: Time change callback, Viewport redraw callbacks, Selection filter callbacks, Display filter callbacks
- PU1 – MAXScript time and key functions operating on object hierarchies such as deleteTime, addNewKey, and addEaseCurve, now operate once on instanced controllers. MAXX-36508
- PU1 – The new “PostSamplingKeyReducer” option for the FBX Importer controls whether animation keys are reduced post-conversion.
- PU1 – The setFocus() function can now take a rollout’s HWND property.
- PU1 – A new setForegroundWindow() function is similar to setFocus(), but also brings the specified UI component to the foreground.
- PU1 – Added useMPCamEffect:<bool> to MAXScript createPreview method. MAXX-56186
- PU1 – Changes to the expression of a script controller are now undoable. MAXX-56055
- PU1 – Math functions have improved accuracy for large integer, integer64, and integerptr values (those that cannot be accurately represented as float values). MAXX-53250
- PU1 – Fixed MAXScript ‘apropos’ command to properly handle ‘ ‘ as terminating character in pattern. MAXX-52844
- PU1 – Fixed issue that ‘[‘ in MAXScript node path names was handled as the beginning of a regex set in some cases. Disabled regex set handling when dealing with node names in MAXScript. MAXX-50783
- PU1 – Can now set row of bigMatrix using array of float, and can now coerce row of bigMatrix to array. MAXX-45013
- PU1- Added asBox3:<bool> to methods returning bounding boxes, added Box3Value::operator + that performs union of Box3Value values, added read-only ‘boundingBox’ property to classes such as ObjectSet that have Point3 min/max properties, property returns a Box3Value.
- Updated the showInterfaces MAXScript function so that it displays the signatures of MAXScript functions with a format that is easier to understand.
- PU1 – Changed the default font of the MAXScript Editor, MAXScript Listener, Macro Recorder and newScript() windows to Consolas, which is a monospaced font.
- PU3 – The Python version can now be set using the ADSK_3DSMAX_PYTHON_VERSION environment variable for 3dsmaxcmd.exe MAXX-60073
- PU1 – Switched from an embedded Python 3.7 to a standard Python 3.7, which is more suitable to be used for developing Python scripts., meaning all standard modules are available (including venv and ensurepip)
- PU1 – Improved Python exception traceback information to also display the information from the first call level. MAXX-56107
- PU1 – Fixed assigning a new value to a SubAnim (an animatable property of a scene object accessed by index instead of by name) through Python. It is now possible to assign a new controller to a SubAnim in Python.MAXX-56019
- PU1 – ‘MAXClass’ MAXScript types can now be compared in Python without exception being thrown and logged, which were interrupting Python script execution, and resulted in 3dsMax Batch reporting errors in tasks that executed such Python code. MAXX-55982
- PU1 – Deleting an item using Python from a MAXScript collection now removes it from the collection as opposed to setting it to None. MAXX-53295
- PU1 – Fixed issue where MAXScript values created when calling MAXScript function from Python were not properly protected from garbage collection. Also improved memory stack handing when passing large argument lists.
- 3dsMax can now be started from a virtualenv and a venv
- SolidWorks 2021 support
- PU2 – Mirrored or copied linked models are now imported through direct Revit import or Link Revit import.
- PU1 – Shared Views – Shared Views now supports Physical material.
- PU1 – SketchUp 2020 models are now supported.
- PU1 – SketchUp model importation – There is improved handling of internal edge visibility, improving the imported mesh quality, and Fixed edge visibility in the new ATF-based Sketchup importer.
- PU1 – A new UI export option has been added to support data cleanup when exporting alembic files.
- Updated SecurityTools to handle ALC alpha variant
- In an effort to allow for auditing software security issues such as malware attacks, we are now logging all maxscripts 3ds Max loads.
- Added a new environment variable (ADSK_3DSMAX_SESSION_LOG) that users can use to specify the name and location of a session log file.
- PU3 – To enhance system security, startup scripts with hidden or system file attributes are now blocked.
- PU3 – Scripts in a hidden or system folder (other than ‘%LocalAppData%’ and ‘%ProgramData%”) are also blocked.
- PU3 – If a script is blocked for these reasons, it is logged to the system log with the script path and name, the file attributes, and “Action: not loaded.” In addition, all other scripts are logged, which can help you diagnose issues caused by scripts in general, as well as to audit potential security incidents.
- PU3 – 3ds Max Security Tools 1.3 is included in this version, which detects and removes malicious code known as “PhysxPluginMfx.”
- CAT Preset Files now stored in this folder: C:\Users[User}\Autodesk\3ds Max [year]\User Settings\CAT.
- Particle Flow Presets now stored in this location: C:\Users\<username>\Autodesk\3ds Max 2022\UserSettings\Particle Flow .
- Updated to Qt 5.15
- Updated to PySide2 version 5.15.1 (matching Qt) MAXX:Core
- Updated to OpenSSL version 1.1.1i
- Updated to libJPEGTurbo library 2.0.5 MAXX:Core,
- Updated to openexr library 2.5.3 MAXX:Core,
- Updated to OpenImageIO library 22.214.171.124 MAXX:Core,
- Updated to OpenShadingLanguage(OSL) library 1.10.13 MAXX:Core, MAXX:Rendering
- Updated to Boost 1.73.0 MAXX:Core, MAXX:USD
- Updated to the latest version of FBX
- To make it easier to know which plugins packages are loaded into 3ds Max, the Plugin Manager now displays the author and version number for each plugin package in addition to its description and location.
- Resolved an issue with the Edit Poly modifier, introduced in 2021.1, where animated vertex component data would not play back properly.
- Solved an error with how Vray handled materials, causing 3ds Max to crash when you opened the Edit UV window of the Unwrap UVW modifier.
- Cloning keys over existing keys in the curve editor, timeline, mini curve editor, key info floaters, motion panel and dope sheet no longer creates incorrect tangents.
- MAXX-58984 Fixed a defect in the Skin modifier that permitted adding duplicate entries of the same bone into the system. This will prevent the problem in the future. Current scenes affected by this must still be manually cleaned.
- Fixed a crash in a CAT Parent object when pressing the time warp button. MAXX-57295
- Fixed the buttons to open Curve Editors for a CAT Layer displaying empty curve editors (no keys or curves).
- Improved warning message when rendering an animation sequence without an output file being specified, and added the ability to silence the warning for the current 3ds Max session.
- Fixed Flight Studio so it doesn’t evaluate nodes at time 0 on scene file load, now it evaluates nodes at the beginning animation time.
* No SDK Break – Plugins compiled for Max 2020 are supported in Max 2021
Full MikkT Space Support for Normal Map
- Baking -Scanline Renderer can output normal map in MikkT sapce
- Rendering – Normal map in MikkT space can be rendered in Scanline Renderer
- Viewport – Physical Material supports MIkkt space normal map in viewport
- API – Normal bump mode is now exposed as a part of 3dsMax API
BakeToTexture – New
- Brand new tool for baking maps and surfaces offers streamlined workflow with full queue control
- Extensive renderer support including Arnold
- Error validation and compatible map filtering
- Faster performance
- MikkT normal map baking
- Override map
- Extensive renderer support including OSL and Blended Box Map
- Bake element viewing in VFB while baking
- No bake size limitation
New Simplifed PBR Material
- Two simplified frontends to Physical Material has been added, that are intended to mimic shading models commonly used in game engines
- PBR Material (Rough/Metal)
- PBR Material (Spec/Gloss)
- Drag and drop downloaded PBR maps straight from Windows Explorer into the Material/Maps Browser.
- Advanced User Interface
- Metadata-driven UI
Additional metadata can be used to make more complex UIs such as “null”, “connectable”, “worldunits”.
- Row Packing
the metadata packName decides which parmeters to “pack” into the same row. Any two or more parameters that have the same “packName” will show up on the same row, with that “packName” as the row header. To additionally size the columns as needed, the metadata widgetWidth allows some amount of adjustment of the relative size of the widgets, to keep the layout looking balanced
- Custom Widgets
Two custom widgets are supported, max:ramp0 and max:actionButton
- Dynamic UI
With the help of the “max:actionButton” shown above, a few helper scripts have been introduced that makes shaders dynamic – as in – the shader is actually modifying its own sourcecode!
- Qt based custom ui support
it now also has the ability to load a .ui file that completely defines the user interface of an OSL shader.
The default layout engine was improved to right-justify parameter headings and have some more user control of the layout.
- Extended parameter support
The new “semi-types” vector2, vector4, color2, color4 and matrix33 can now be used. These types are not built-in OSL types, but defined in header files. Including these header files and using these types is now supported (see the section about include files).
Also, parameters of type array are supported in certain cases (see the ramp widget).
- Support was added for adding OSL shaders from a 3ds Max “Package”. This is the preferred method to distribute sets of OSL shaders.
- New HDRI Environment map – Environment shader with exposure adjustments, ground projection mode, and separation between Background and Environment.
- New HDRI Lights – Allows using a set of HDR photos of light sources as an environment map.
- New Environment/Background Switcher
- New Camera/Object/Spherical Projection map
- New Curve(Color), Curve(Float) map – Transform an input using a arbitrary curves. Can be used for gradients or as a color correction tool. Each color channel is mapped individually by the curve.
- New Uber Noise map – Combines many noise functions in one. Can do classic Perlin, Fractal, Cell as well as fBm noise and multiple flavors of Worley noise.
- New Color Correction map
- New Wireframe map
- New 4-Point Gradient map
- New Spect/Gross to Physical map
- FBX export will embed OSL code
- “Version” metadata support
- Proper UDIM support for AssetTracker
- Paths in OSL shaders can be edited in Asset Tracker
- OSL compilation at startup runs on separate thread
- Fixed OIIO file lock. Bitmap files used in an OSL map can now be edited outside of 3ds Max, as the file no longer locks (PU3)
Physical Material and Arnold as Default
- Physical Material and Arnold as Default
- Previous defaults is still available by MAX.Legacy market default
- Physical material for imported model
- FBX now supports the Physical Material. Internally to FBX it is saved as an Arnold Standard Surface. On import to other DDCs it is seen as an Arnold node. When importing to 3ds Max it is seen as the Physical
Material. Basic FBX materials are now also converted to the Physical Material
- Support PBR Wavefront MTL extention from Exocortex for Obj import
- API support for 3rd party for new default
- VRayMaterial to Physical Material support
- CoronaMaterial to Physical Material support
- New “HDAO” mode – gives a “tighter” AO apperance revealing smaller details.
- AO (when enabled) is always on, and does not disappear while navigation
- New Progressive Skylight viewport menu option can turn on/off the progressive mode (really same as the old “Skylight as Ambient” but with the opposite polarity of the switch and a better name)
- New Progressive Skylight visible option in the Per-View Presets viewport menu dialog
- New slider for the fading factor in the Per-View Presets dialog
- Physical Material Coating support in the viewport
- Custom Per-View Settings
- Synchronize with Display Mode (PU2)
- Image-based lighting (IBL) is now automatic when an environment is added to the scene. This saves time as there is no need to add a skylight to the scene to have to enable this feature
- Roughness for physical materials is now supported in the viewport in “Realistic” mode (PU2)
- improved shadows supported in “Default” lighting mode (PU2)
- Floating viewports (PU1)
Float up to 3 viewport windows
Provides more flexibility in how you work by leveraging your multiple-monitor setup
Floating viewports are fully functional and can be configured separately
- Substance plugin
- QT re-write of Physical Material UI to increase performance.
- New 2K UV template image(color/Grayscale)
- Single click map select in Slate Material Editor
- Python 3.7 integration(3.7.5,)
- Python 3 is the default. Command line is -pythonver <2|3>, and env var is ADSK_3DSMAX_PYTHON_VERSION=<2|3>
- 3rd party Python module compilerd with different version of compiler support
- Both Python 2.7( 2.7.17) and Python 3.7 interpreters are supported.Python 2.7 can be enabled through a command line switch or environment variable.
- PySide2 was updated to 5.12.5 for both Python2 and Python3
- qtmax helpers – GetQApplication() returns PySide2.QtWidgets.QApplication, GetQMaxMainWindow() returns PySide2.QtWidgets.QMainWindow
- Connect VS Code to Max’s python and debug scripts
- Virtual Environment support
- Startup script support with package entry-points
- MAXScript global variables can be created from Python through pymxs.
- New items can be added to MAXScript arrays and dictionaries directly from Python.
- improved handling of passing parameters (arguments) by reference (as opposed to by value) to pymxs APIs
- ability to pass functions to callbacks.addScript() as opposed to passing their names as a string
- Python 3 Alert Mode (PU2)
Will assist in preparing for the Python 2.7 to 3 transition. With mode enabled, users will be informed of exactly which scripts needs to be updated. Both users and automated tool are easily detected as warnings are logged to the MAXScript Listener, the 3ds Max system log file (Max.log) and the console when running 3ds Max Batch.”
New Weighted Normal Modifier
- Improves the shading of models by altering the vertex normals to be perpendicular to larger flat polygon and generates explicit normals for meshes better and faster than ever
- Area/Angle/Largest Face based
- Full control over smoothing and blending values.
- Hard edge detection by smoothing group/UV/edge angle
- Snap to Largest Face (face aligned normals) – allows for coplanar faces contribute to the weighting. When active it will snap the normal to the face with the highest weight, among the faces sharing that particular normal vector based upon the detected hard edges. This option can be used in combination with Area and Angle weighting
- Using the existing UV seams (and channel) – as an additional hard edge detection option to generate smoothing results for weighted normals.
- Supports online and offline installation. Simpler and faster.
- Material Library installation is optional
Explicit Normal Preservation
- Editable Poly – Detach to Clone, Detach to Element, Detach to Element as clone, Clone to Object, Clone to element, Attach
- Edit Poly – Detach to Clone, Detach to Element, Detach to Element as Clone, Clone to Object, Clone to element, Attach
- Editable Mesh – Detach to Object, Detach to Element, Clone to Object, Clone to Element
- Edit Mesh -Detach to Object
- XForm modifier Preserve Normals option – ensures that normals are maintained when the XForm has a negative scale.
- Accelerated the data structure for AnimHandles
speed up on Max loading, scripts that deal with large scenes, interacting/loading large scenes, working with many animatable things, etc
- Modernization of TrackView utilizing new AnimHandle data structure. Faster and more stable TrackView
- Speed up selection of object while TV open by caching all animatables of a scene
- Improved multithreading of asset resolution on scene file load, implemented multithreading of asset resolution on scene file save, and disabled asset resolution on hold and autobackup
- Improved selection performance with many instances
- Intersectray has been reworked. Subsequent raycasts are now multithreaded and can be up to ~3x faster (depending on CPU)
- Deleting helpers with many object selected faster (PU3)
- Further optimization of duplicate message (PU3)
The new improvements accelerate all message propagation in Max, which should improve overall interactive and playback speeds. This optimization gives us many small gains (roughly 20% of message costs), so results will vary. Should be noticeable on bigger or very complex scenes
- Optimization of duplicate message (PU2)
3ds Max now avoids sending duplicate messages to plug-ins using the 3ds Max referencing system. This improves performance in many areas of the software, including: Creating keys, Trackview, Slate UI, File Reset
- List controller evaluation is now 15X faster with average weight on or off (PU2)
- Better handling of REFMSG_CHANGE for TrackView to prevent unnecessary TrackView update caused by non-scene object (PU1)
- Improved hit detection when using Swift Loop
- improved the distribution of Vertex Paint, improved the efficiency of the calculation, and apply blending between approaches when a brush overlaps only some of the vertices of a particular face. This should now allow vertex painting to be applied more consistently to an object
- Bitmap sampling for the Edit UV window has been multi-threaded to help improve bitmap file loading times
- Fixed performance issue with Snap in scenes with Body Objects
- Fixed TextPlus performance with lots of text
- Improvements to selection when using backface culling, which make it easier to select what you need and avoid accidental selections (PU2)
- Editable Poly Command panel display further speed up (PU1)
- Doubleclick element selection (PU1)
faces, vertices, segments, etc. Supports Editable Poly, Editable Spline, EditSpline and EditPoly modifiers, Unwrap UVW Editor. It also supports modifier hotkeys to add/subtract selection and works in Maya Interaction mode
- Nearest Preview Selection (PU1)
When SubObj preview selection is enabled in EditPoly, the nearest edge/vertex will be highlighted and selected when clicking. When shaded – only the front facing/visible items will be highlighted and selected. This also disables ‘ctrl’ paint selection behavior to avoid changing hotkey behavior in preview mode
- The triangulation of the chamfer output has been updated to produce better non-concave results when applied to faces with concave/co-linear vertices.
- 0 segment Chamfer
- Supports new Chamfer features in Edit Poly
- Data Channel modifier support for Vertex weight channel(PU3)
- Supports new Chamfer features in Editable Poly (PU2)
- Vertex Chamfering (PU2)
- Patch and Radial mitering (PU2)
- By Weight chamfer amount type (PU1)
allows you apply an absolute weight to an edge rather than interpolating between vertices
- Chamfer Depth (PU1)
can be set on a per-edge basis
- Radius Bias (PU1)
blends the chamfer size to the radius amount to help handle sharp corners
- Data Channel modifier support for Edge Weight and Edge Depth (PU1)
- ProSound now supports 24-bit wav files.
- Fixed ProSound issue causing audio to play at 50% volume after frame 100.
- Removed 100 audio clip limit with ProSound.
- Removed ProSound popup dialog when changing animation range.
ATF Import (PU3)
- JT 10.5
- CATIA V4 files created from CATIA V5-6R2019
ketchUp Importer – New
- Preserve Layers
- Import Hidden Objects
- ATF based new importer allows any version of SketchUp files to be imported into 3ds Max, whereas the legacy importer can only import files up to SketchUp 2014 (PU2)
- Able to maintain compatibility with future versions (PU2)
Hot Key Editor and Hot Key (PU1) – New
- New Hotkey Editor tool replaces the Keyboard tab in the Customize User Interface dialog
- Search for action by keywords or by current hotkey assignments
- Clear current assignments and conflicts with undo history
- Filter actions by current customization status, and by groups
- Migrate legacy keyboard shortcut files without missing out on updates to the defaults
- User hotkey settings are saved separately from defaults in a dedicated and accessible User Settings folder
- Configuration selector allows easy and quick switching between hotkey sets
- OSL and AMG shaders will now also be loaded from the directory C:\ProgramData\Autodesk\ApplicationPlugins
- All message boxes pause auto-backup, real-time animation playback, and viewport refresh until dismissed, bringing consistency and predictability to the user experience (PU2)
- Decimal separator improvement (PU2)
Users from various geographic locations (geos), can now trust 3ds Max to use the decimal separator symbol specified in their Windows regional settings when displaying floating point numbers in the user interface.
- standardized file extensions (PU1)
file extension will be always lower case unless user specified
- Main menu bar contents no longer appear white and inconsistent with dark UI styling.
- PU3 Upgrade Qt component version to 5.12.4
- PU3 Restore Dialog on off desktop space in main window
- PU2 Lock UI fix
- PU2 Fixed spinners jumping when wrapping screen borders
- PU1 Command panel multi column speed up include Editable Poly
- Added ability to modify scripted attribute definitions during scene file load
- Fixed MaxScript accessess python modules with wrongly capitalized identifiers (PU3)
- Maxscript edittext support multiline (PU1)
- Autocomplete for MAXScript (PU1)
Autocomplete is now on by default in the MAXScript editor. The new generateAPIList<stringstream> MAXScript API makes it easier for users to enable autocomplete for MAXScript in 3rd party editors.
- Maxscript edittext support multiline (PU1)
- More predefined messgebox, retryCancelBox, okCancelBox retryIgnoreAbortBox, cancelTryContinueBox (PU1)
- Update to Arnold 126.96.36.199.
- Help isolating materials with void or invalid connected textures
- Improve the material editor preview performances
- MaterialX operator updated to support material assignments
- New USD procedural
- New string_replace operator
- Supporting the physical camera’s tilt correction and lens distortion
- Controllable auto-instancing on ASS procedurals
- Faster procedural initialization
- Reduced noise on smooth transmissive thin-walled surfaces
- Autodesk analytics program available for Windows
- OpenEXR updated to version 2.4.
- Better animation support UI for procedural and volume
- Support normal maps space and orientation parameters
- Use the Arnold’s viewport API for procedural display
- Arnold GPU
- New AOV and Light Groups interface
- Extend the Arnold Properties modifier for cameras
- OSL version of the physical sun and sky shader
- Export/Import materials as .ass/.mtlx files
- Expose aov_write_vector.
- Arnold core 188.8.131.52. (PU3)
- Arnold procedural and alembic objects now have a viewport representation (PU3)
- Arnold alembic object supports layer information (PU3)
- You can change render settings while in ActiveShade (PU3)
- shader_override node (PU3)
- Baking normal and height maps is now supported (PU3)
- Exposed the clip_geo shader (PU2)
- Arnold lights viewport support (PU2)
- Initial OSL OpenVDB support on GPU (PU2)
- Most lights supported on GPU except IES (PU2)
- Option for MaxFluid PRT UV data type for better comparability with Thinkbox product.
[Fluids] section in the 3dsmax.ini file. When PRTUVFormat is set to 3, the particle UVs will be exported as U/V/W values. When PRTUVFormat is set to 2 or is not present, the UVs will be written as U/V values.
- FBX Importer Reduces Animation Keys Without Option Fixed.
User can disable the post-rotation filter by using one of the following commands: FBXImporterSetParam “PostSamplingKeyReducer” false or FBXImporterSetParam “Import|IncludeGrp|Animation|SamplingPanel|PostSamplingKeyReducer” false
- Physical cameras will no longer look in different directions when file opened MAXX-53022
- 3dsMax 2021 – 84 Fixes
- 3dsMax 2020.3 – 59 Fixes
- 3dsMax 2020.2 -59 Fixes
- 3dsMax 2020.1 – 48 Fixes
- The new Fixed Weight Chamfer keeps a consistent chamfer width.
- Weighted chamfer allow chamfer to be controlled on a per-edge basis with crease weights.
- New presets allow to save favorite or set default settings.
- Added Inset adds edge rings to chamfers for users who cannot use smoothing
- groups, such as models for game engines.
- End Point Bias: Edges that don’t end at a corner terminate on the next parallel edge can
- bias between the near and far vertex.
- Added Depth allows the profile of the chamfer to go from a depth of 1 (a sharp edge) to 0 (a straight edge), to -0.5 (an inverted curve)
- 14 New Shaders
- Color Key
- Math/Color/ColorSpace (convert colors between, rgb, hsv, YIQ etc.)
- Halftone (screen space dot pattern)
- UVW/UVW MatCap (get MatCap mapping UV coordinates)
- Scene/Normal (get the normal vector)
- Switchers/Random Index by Number/Color
- Simple Gradient
- Simple Tiles
- Toon Width
- Waveform (Animated)
- Bitmap Lookup / UberBitmap : Support UDIM lookup
- Composite: Add “Blending Mode”
- Tweak renamed to Tweak/Levels and added a Midtones setting to better match Photoshop “Levels”
- OSL updated to 1.10.2 / OpenImageIO updated to 1.8.16
- OSL to HLSL viewport shader auto-conversion supports most shipping/3rd party OSL shader display in viewport
- OSL animated map performance improvement
- OSL API for 3rd party renderer dev include OSL trace() function call
- OSL improved bump map support (PU3)
- OSL Editor colors configurable in the Customize UI dialog (PU3)
- OSL Editor improved bracket highlighting, syntax highlighting, and better docking ability (PU3)
- OSL Editor highlights matching bracket, line number (PU2)
- OSL Editor improvement – font customization, Bracket Matching , indentation (PU1)
- OSL performance improvement especially with Scanline renderer (PU1)
- Much faster. 1.5 – 3x faster creation on local drives
- Capture size greater than viewport dimensions supported
- “Quality” setting accessible from Preview UI (Nitrous only)
- Default preview filename based on current scene filename
- 100% output resolution on by default
- MXS snippet can be executed per frame for custom strings
- Filename and MXS snippet values can be specified from MXS command line of CreatePreview()
- After executing the preview, the time slider is returned to the original starting frame
- “Play when done” accessible from Preview UI
- If running from MXS command line, avoid dialog boxes, output to listener instead
- Allows AVI codec selection.
- Getter/Setter added to Interface Class (SDK enhancement).
- Getter/Setter Preview property added to MaxScript commands.
- Animation controller validity intervals optimization
not evaluating curves that don’t change. improving playback speeds – up to 500% faster rig evaluation.
- Optimizations have been made when interacting with the viewport and lots of grouped objects
- The SetNormals MaxScript function is now up to 10x faster
- Autobackup is more responsive when you want to interrupt it by pressing ESC
- The framerate (FPS) displayed in the viewport has been adjusted to be more accurate
- Some Mesh conversion optimizations
- ParamBlock2 id to index mapping – The performance of looking up a parameter index based on its id has been improved
- Flatten mapping is an order of magnitude faster when working with many uv islands and pixel snap settings now save and reload.
- Collapse Utility performance improvement – up to x200 times faster (PU1)
- custom attributes on non-geometry such as locators and dummies are exported
- improved triangulation on concave ngons
- Performance mode fix
- Custom Attribute per object support via .userProperties and .arbGeomParam (PU3)
- Alembic Transform controller performance improvement more than 2x faster (PU3)
- Maya Multi UV and Vertex Color supprot (PU3)
- Relative path fix (PU3)
- Alembic Performance mode caches only animation range (PU3)
- Instance support (PU2)
- Alembic library 1.7.5 (PU2)
- Unicode support (PU2)
- Fix high speed rotation warps objects (PU2)
- 3ds Max Object Properties and Custom Attributes support (PU2)
- Alembic Inspector (PU2)
- Re-sizable Alembic Container Icon (PU1)
- Duplicate name handling (PU1)
- Proper NURBS support (PU1)
- Combine By options allows you to combine by material more selectively by choosing:
- Combine by Revit Category and Revit Material
- Combine by Revit Family Type and Revit Material
- Filter dialogue now displays the number of nodes that will be created in the scene’s category or family type.
- Import Revit 2017, 2018, and 2019 files into 2020 without the need to upgrade
- Revit Compatibility pack (for each supported version) needs to be installed on your machine for functionality.
IES lights imported from Revit are converted more accurately.
- Daylight System Update; We removed reliance on Mental Ray, resulting in a better translation. We now leverage the physical sun and sky, where the translation is done automatically without interruption.
- Importing Autodesk Revit files is now twice as fast as before (PU3)
- Proper lights import(via FBX/RVT) (PU3)
- Improved Import dialog (PU3)
- Fluid Loader (PU2)
make it easy to load and manipulate cached simulation data. You can individually transform each object, offset their playback, assign materials and render or hide any number in the completed simulation.
- Enable/Disable checkbox for all object list (PU2)
- Rendering fluids data channels such as Vorticity, Density, Age, etc. with Arnold (PU2)
- Alow to copy display and render settings (PU2)
- Channel Field (PU1)
lets you manipulate specific properties within your simulation, and the boundary controls and Volume helper,
Interactive ActiveShade Viewport (PU3)
- With the new improvements to ActiveShade, you can now interact and render simultaneously in the same viewport.
- The ActiveShade viewport mode extends your rendering workflow so you can now see the final result of your adjustments as you make them.
3ds Max Security Tools (PU2)
- 3ds Max Security Tools can safely remove corruption-causing scripts from your system, including any infected scene files. The cleaning process is non-destructive, and does not affect any scene data
- 3ds Max Security Tools scan for and remove the following corruption-causing scripts
ALC, ALC2, CRP, ADSL
- MaxScript method maxops.CollapseNodeTo() ignores quiet mode with Xref Object
- Allow change color of MAXScript listener window
- extraFlags in messagebox for more control
- Methods for listing callbacks registered by registertimecallback (PU3)
- Alembic inspector (PU2)
- LayerManager option to add multiple nodes (PU2)
- Expose ‘owner’ property for custom attribute container (PU2)
- MaxScript operations on the Skin Modifier no longer require objects to be selected (PU2)
- Support for compress on save. setCompressSceneFileOnSave <bool>compress writeInCfgFile:<bool> (PU1)
- Archive support (PU1)
- Improve behavior of setUserProp/getUserProp (PU1)
- PySide2 missing module support QtConcurrent, QtMuluseredia, QtMuluserediaW, QtOpenGL, QtScriptTools, QtWinExtras
- Python dictionaries using Maxscript values as keys (PU1)
- Converting a large object set from MaxScript (pymxs.runtime.objects) to a Python list is now instantaneous (PU1)
- Editable Poly UI speed improvement (PU3)
- Windowed TrackView/Scene Explorer/State Sets (PU2)
- New Project toolbar (PU1)
- Enable/disable the project automated swtiching (PU1)
- Export Autodesk materials and V-Ray Materials with textures (PU2)
- Support all butmap types (PU1)
- Render and upload most procedural textures (PU1)
- the ability to resize textures on upload (PU1)
- Support for Shell material and arbitrary UV channels (limited to 1) (PU1)
- Expanded PointCould format support e57 and PLY file formats
- Copy+Pasted modifiers maintain their custom names
- StateSet – Arnold AOV support
- Scene file compression now supports large data sets (greater than 2GB) (PU1)
- FBX animation only export (PU1)
- Vault integration now supports the check-in and checkout of large files, and auto-login (PU1)
- GPU rendering (BETA): you can now switch between CPU and GPU render devices interactively and expect visually similar results. NVIDIA® GPUs from Turing™ to Maxwell™ architectures are supported, and Arnold will take advantage of multiple GPUs, NVLink™ and NVIDIA® RTX™ hardware accelerated raytracing if available.
- Improved adaptive sampling
- Improved skydome sampling
- Visible lights
- Microfacet multiple scattering
- Improved random-walk SSS
- Anisotropy controls forcoat in standard_surface
- Smart opaque
- Operator connection on procedurals
- New include_graph operator
- Improved ramp_rgb shader
- New uv_projection shader
- Faster .ass file writing
- Autobump visibility now exposed in the Arnold Properties
- MaterialX export
- Operators can now be grouped together in the Operator Graph
- The Merge and Switch operators are now exposing the input ports
- Improved UI for the Set Parameter operator
- ParticleFlow Instancer
- RTT texture baking support (PU2)
- Cell Noise shader (PU2)
- Sheen function in the Standard Surface (PU2)
- Edge detection can be controlled in Toon Shader using the STRING type user data, toon_id (PU2)
- OptiX Denoiser – reduced memory consumption (PU2)
- Noice Denoiser – stability improvement (PU2)
- Adaptive sampling (PU1)
- OptiX Denoiser (PU1)
- Noice Denoiser (PU1)
- Toon shader (PU1)
- Ramp shader (PU1)
- Native Alembic procedural (PU1)
OSL – New
- Out of the box works in any renderer supporting the classic 3ds max shader API (Scanline, vRay, Corona etc.). It also means it works outside of renderers, anywhere in 3ds max where a regular map is requested, such as in the Displacement modifier, etc.
- 100+ OSL shaders included
- Switch map(1-of5/1-of-10)
- Object attribute – UserProperties/Name/NodeHandle/ObjectID/WireColor/ParticleAge
- .tx/.dpx loading support
- Pixel scene info access – position/normal/uv
- Gamma control in the map
- UVW instancing
- UVW manipulation – transform/warping
- New RandomizeBitmaps shader
- New noise shader – perlin/uperlin/simplex/cell/hash/gabor
- New pattern shader – Candy/Digits/Mandelbrot/Rivets
- New color correction shader – Tweal(Color)/Lift/Gamma/Gain
- New math shader – a lot of math operation
- OSL shader editor
Advanced Wood – New
- a new procedural map.based on the same wood texture available in Fusion 360
- Highly customizable way to generate wood textures includes presets for maple, cherry and oak.
- Designed to work closely with the Physical Material, with outputs that can be used directly in the material such as Roughness and Bump.
- Available for Arnold and Scanline renderers.
Shape Booleans – New
- let you combine splines into new shapes using Boolean operations.
- Similar UI to 3D Booleans.
- Dynamic chamfer/fillets for created vertices.
- Works on closed and open shapes.
- Option to choose what to export
- Vertex Color support
- Vertex Velocity channel support
- Per node meta data export – Object ID / Material Name / Layer Name / Custom Attribute
- MaterialID/UV channel name parsing – You can control the imported MaterialID/UV number
- Remember dialog setting
- Set Current Time to Start Frame
- Better duplicated object name handling
- Export Selected doesn’t grab unnecessary full hierarchy
- Respect Maxscript quiet option for duplicated name object handling for import
- Subsampling support in non tick mode
- Option for exporting hidden geometry
- Better error mesh handling
Custom Scene File Streams – New
- allow write and read custom data to 3ds Max scene files.
In MAXScript this functionality is exposed by methods in:
- The projects tool has been updated to allow full control over the folder structure of your projects. What’s more, you can now create “empty” projects that do not have pre-assigned folder structures, and automatically switch between projects when opening a file from a different project.
- Spline QuadCap
- New extrude option – keeping straight corners (PU4)
- Boolean – Retain Non-Planar Faces
- many new spline modifiers and improvement on existing spline modifiers
- Freehand Spline
- Spline Influence Modifier
- Spline Mirror Modifier
- Spline Morph Modifier
- Spline Overlap Modifier
- Spline Relax Modifier
- Optimize Spline Modifier
- PathDeform Modifier
- Normalize Spline Modifier
- Soft Lock Time Slider
- Solve Cache Path Override
- Final Path
- GPU Points
- Liquid Parameter Presets (PU4)
allow quickly simulate such standard fluids as milk, honey, blood, and chocolate, as well as various types of oil. You can also use these presets as a starting point for your own custom simulations.
- Initial State (PU4)
allow to start a new simulation based off of the state of an existing simulation on a particular frame.
- Truncate simulation (PU4)
allow truncate a simulation, deleting all simulation files after a specified frame. Use this feature to further fine-tune a simulation while preserving earlier results.
- With UV Projection (PU4)
allow set a map channel to project UVs directly onto the liquid volume.
- PRT Export with full channel support (PU4)
allow export .prt files for liquid and/or foam directly from the context menu of a selected solver.
- MaxFluid (PU3)
allow you to create fluid simulations directly inside 3ds Max using Bifrost technolody
Read/create BIF files for direct interoperability with Maya
Save/create presets based on viscosity, giving the illusion of different fluid types (honey, water, jelly,
Read/open VDB files
Dynamically create meshes based on the simulation, which can be processed at the same time or independently
Outputs mesh to Alembic so you can play anywhere Alembic is supported or have faster playback.
- MotionField SpaceWarps (PU3)
works with Fluids, 3ds Max’s particle systems, and deforms meshes
Combines multiple forces that would have had to be done separately previously, such as drag, wind, and gravity
Ability to turn specific components on/off as needed
3ds Max Batch (PU2)
- You can now pass string and numeric data to the executing script from the command-line using the new -mxsString and -mxsValue arguments (PU4)
- 3ds Max Batch now supports configurable verbosity levels, and logs errors to the console and log files (PU4)
- Scene files can now be loaded via the batch script, allowing for more automation options (PU4)
- Additional MAXScript commands now allow scripts to specify custom exit codes and send custom messages to the log file (PU4)
- allows you to perform MAXScript or Python automation in the background, as a standalone process or in parallel with the desktop application without consuming license (Pu2)
- 3ds Max Batch can be deployed on the cloud (PU2)
3ds Max Interactive (PU1+)
- VR editing
is now possible with the new Level Viewport VR, letting you use your VR headset to enter and edit your level in virtual reality.
- Smart Placement tool
provides you with a new and intuitive way to place objects precisely when working in the Level Viewport or editing your scene in VR.
- Live Transform Tracking
mode syncs transform controls between 3ds Max and 3ds Max Interactive.
- Photometric lights from 3ds Max are now imported as Physical Lights in 3ds Max Interactive. Any associated IES files are also imported.
- VR Desktop template can be used with either Oculus or HTC Vive systems.
- Player Start helper
- Vray materials support improvement
- Physically-based lights (PU4)
- Clear coat is now more energy conserving (PU4)
- A new shading environment property (PU4)
- Add frequently used assets or folders as favorites in the Asset Browser (PU4)
- The Capture Frames tool now supports PNG format, plus additional codecs (PU4)
- The Deployer supports bundling a project in a self-extracting zip file instead of creating an installer (PU4)
- Updated Project Manager (PU4)
- Debug a project’s Lua code from the Visual Studio Code editor (PU4)
- 3dsMax Interactive (PU1)
- Civil View is now using Physical Materials and ART/Arnold compatible objects in lieu of MR
- Inventor Appearance Overrides are now successfully translated
- ATF import performance improvement (PU2)
- lets you share your models anyone online, and receive their feedback.
- Publish an entire model or a selection directly from 3ds Max.
- Easily view and share designs in your browser.
- Collaborators use a URL, they don’t need to install software.
- Print out views that are important to you.
- Capture screenshots to use in emails and presentations.
- Match_Items_by_Distance (PU1)
- Match_Items_by_Index (PU1)
- Cycle_Index (PU1)
- Random_Transforms_on_Mesh_with_Max (PU1)
- Compatible with Fluids.
- Update to Arnold 184.108.40.206
- Polymeshes can be volume containers.
- Global AOV shaders exposed.
- Indirect AOV checkbox added to skydome light.
- RGBA (beauty) AOV now allowed.
- Indirect Sample Clamp and Indirect Specular Blue exposed in rendering options.
- Iridescence (thin film) section added to the Standard Surface shader.
- Normal Map shader exposes a strength parameter.
- Coat built-in AOVs added.
- Improved mesh light sampling.
- Shaper quad and disk light spread.
- Up to 2x faster BVH build.
- Support for point cloud objects.
- min_pixel_width added to the Arnold property modifier.
- “Skip License Check” renamed “Render with Watermarks.”
- Scene information added as metadata when exported to .ass file.
- OIO upgraded to 1.7.15.
- OSL upgraded to 1.9.0.
- New CLM license.
- 3dsMax 2019 – 159 Fixes
- 3dsMax 2018.4 – 112 Fixes
- 3dsMax 2018.3 – 3 Fixes
- 3dsMax 2018.2 -102 Fixes
- 3dsMax 2018.1 – 75 Fixes
Arnold Renderer – New
- The MAXtoA plugin includes Arnold version 5
- Volumetric effects with OpenVDB support
- Atmospheric effects
- Procedural (proxy) objects allow scene interchange with other Arnold plugins
- Extensive array of built-in Arnold professional shaders and materials
- Supports 3rd party shaders compiled for Windows and Arnold 5
- Easy Image-Based-Lighting workflow with separate Environment and Background capabilities
- Arnold Properties modifier controls rendertime effects and options per-object
- Arbitrary Output Variable (AOV) support for compositing and post-processing
- Depth-of-Field, Motion Blur and camera Shutter effects
- New VR camera
- New easier-to-use layered Standard Surface with Disney compatibility, replacing Arnold Standard Shader
- New melanin-driven Standard Hair Shader with simpler parameters and artistic controls for more natural results
- Supports Photometric lights for easy Revit interop. Full support of 3ds Max Physical material and legacy maps.
- All-in-one Arnold light supports textured area lights, mesh lights, Skydome and Distant light sources.
- New Portal mode for Quad and Skydome lights to improve sampling interior scenes.
- New Roundness and Soft Edge options for Quad and Spot lights.
- MCG packaging
No need to unpack MCG graph. This also makes sure that the MCG is using compounds from the package.Consume graphs in package form (.mcg) by simply dragging into the viewport!
- Mapped Connections
The added ability to mapping over an operator by connecting an array of values for graph simplicity.
- Live Type
Displaying computed types in the editor as you work. Seeing the data types that you are working with while you are authoring a graph should make things much more approachable.
- MCG type resolver improvements
should no longer need to add extra nodes to provide hints about the type system in MCG. (‘pairItem1’ should work on its own now.)
- Significant compiler efficiency improvements
Should be doing a better job of optimizing graph expressions particularly with functions. This means that large complex graphs with lots of function could receive a significant speed up.
- Node Properties Panel
updated to display information about the selected node, as well as links to the node’s usage in other compounds.Undo in the MCG editor
- Automatic Tool input generation
- New Color Scheme
- More artist friendly operator/compound naming and categorization
- 78 New Operators include
Generating random transforms on a mesh – Random Transforms on Mesh.
Polygons and extrusions – Mesh Polygons, Mesh Polygon Transforms, Mesh Extrude Polygons.
Sampling noise values – Noise 1, Noise 3, Fractional Brownian Motion, Fractal Cell Noise, Turbulence.
Interpolating values on a spline based on a normalized distance between each sample – Points on Spline, Points and Tangents on Spline, Transforms on Spline, Transforms on Spline with Guide.
Array summing, sliding, shuffling, grouping, and sorting – Partial Sums, Sliding Window, Shuffle Array, Group by Key, Sort by Key.
Seeded random value generation – Array of Random Integers, Array of Random Floats, Array of Random Vectors, Array of Random Booleans.
- Display the 3D path for a selected object’s position tracks
- Insert and delete keys along the path
- Change the shape of the path using transforms to move, rotate, and scale keys
- Adjust the curve of the path by moving the tangent handles attached to each key
- Use a spline object to create a motion path
- Convert a path into a spline object
- Collapse any transform controller into editable keys
- SlateSDK based UI gives you a more consistent look and functionality
- New node based render pass management
- QT5 framework with enhanced docking
- Ongoing Hi-DPI icon conversion (370 icons converted)
- Timeline tear-off
- Tear-off menus
- lets you switch quickly among any number of different interface setups. It can restore custom arrangements of toolbars, menus, viewport layout presets, and so on.
- Workspace Scene Explorers
- Chamfer modifier
quad intersections checkbox
- Unwrap UVW
- visibility track support
- Shape suffix management via maxscript
Data Channel Modifier (EXT1) – New
- a new tool for automating complex modelling operations. By piping mesh data through a series of controls known as operators, you can achieve a huge variety of effects that dynamically update as you make changes.
- Input Operators
Color Elements, Component Space, Curvature, Delta Mush, Distort, Edge Input, Face Input, Maxscript, Node Influence, Tension Deform, Transform Elements, Vector, Velocity, Vertex Input, XYZ Space
- Process Operators
Clamp, Convert to SubObject Type, Curve, Decay, GeoQuantize, Invert, Normalize, Point 3 To Float, Scale
- Output Operators
Edge Output, Face Output, Vertex Output
Blended Box Mapping (EXT1) – New
- allows you to project maps onto objects in a much simpler way than the traditional method requiring complex UV mapping
- 1/3/6 Projection
- Frame Lock
- Cube Projection
- Projection Transform Randomization
Level Sync with Autodesk Stingray (EXT1)
- link and export entire scenes built in 3ds Max directly to Stingray.
3ds Max Asset Library 1.3 (EXT1) – New
- View 3ds Max file thumbnails natively in the asset panel (#1 requested user feature).
- The Dependency Manager can re-path multiple 3ds Max file dependencies at once across many folders.
- View many types of image formats directly in the asset panel (check known issues for formats not supported)
- Deep search of 3ds Max files by stats such as face count, renderer type, version, and more! (Check the help docs linked in the app for more info.)
- Deep search of many image files by available properties such as resolution and bit depth.
- Drag and drop images directly into material editor map slots
- Security Fix (EXT2)
- Maxscript Autocomplete (EXT2)
- Autodesk Civil View update (EXT 1)
allow import the latest FZP files from VISSIM to animate and display traffic simulations.
- modernized with streamlined Qt based UI new icons.
- High DPI compatiblity
correctly applies Windows display scaling so the interface appears optimally on your high DPI monitors and laptops
Reset to default value
- 300% improvement in Deforming Mesh performance improvement with new GPU mesh builder.
- 300-500% performance improvement for navigating tens of thousands objects.
- Selecting and manipulating sub-objects is 200%-300% faster.
- Transform Cache
- Unwrap UVW can handle 10 times dense objects easily.
- DarkerEdge mode for Backfacing Wireframe
- GPU Backface Cull for Deforming Object
- Shadow cache for better/faster shadow
- New viewport navigation mode : Orbit Point of Interest
- Customizable Viewport Tooltips by preViewportTooltip callback
- Selection Outline Look Change(Thinner and Shaper)
- Per Pixel Camera Map Support for Nitrous
- Reorganized Viewport Label
- Viewport Configuration Presets
- Viewport Material Override
- Better Readable Viewport Label
- Performance Shader for Viewport
- New DX Mode
- Hidden/Frozen/Display as box object will not evaluate/load map
- Gamma corrected background playback slowdown fixed
- Viewport switching when maximized fixed
- Viewport Statistics have been realigned for larger numbers.
- Dramatic Performance improvements
- New Non-Convex Packing Algorithm
- New Peeling based on ABF
- New Freeform Mode Gizmo
- Rescale element on Multiple Object
- Move Brush
- Relax Brush
- Angle Distortion Visualization
- Area Distortion Visualization
- Sub-Object Selection Preview
- Point-to-Point Selection Preview
- Symmetrical Geometry Selection
- Mirror Axis Visualization
- New UV Template
- Rotate/Scale Transform Type In
- Alt + click to erase the seam
- SHIFT+Polygon for Loop Selection
- SHIFT+Edge for Ring Selection
- CRTL+click for sub-object mode conversion
- Double click Polygon for Element Selection
- Set/Select Material ID in UV Editor
- Display Only Selected Polygon in 3d view
- Material ID Filter Sort by ID
- Tiling settings for checker texture
- Pack Edge Padding
Boolean – New
- Brand new Boolean compound object based of CARVE library
- Double precision algorithm
- Boolean Explorer
- Nested Boolean
- New Local Aligned Coordinate – new axis alignment method that uses the coordinate system of the selected object to calculate X and Y axes in addition to Z
- Working Pivot – Direct Access Working Pivot from Place Pivot Surface Quadmenu
- Allowing the right-click menu in the modifier stack even if empty (paste to groups)
- Copy/Paste modifiers to multiple objects at once
- Sub-Object Selection Loop Preview in EPoly
- Point to Point Selection/Preview
- Toggle between Sub-Object Levels hotkey
- Override SubObject Pick in EPoly
- New Bevel Method for Bevel Profile Modifier
- Mesher – Particle Flow 5 million Face Limit Removed
- Fix for poly object Obj export to prevent vertex index change
- Buffer Curves Feature
facilitate change management by allowing you to keep your original curve position in a buffer
- better default layout
- sticky user defined trackview (persistent between sessions and open close of TV)
- Button to enable/disable TV Autozoom behavior – in the menu
- New Zoom extents mode for selected Keys
- Ability to apply horizontal and vertical zoom extents at the same time
- Double-click a track view curve to select all of the keys
- Scale Values Improvement
- SHIFT-click to remove keys in Add Key mode
- auto-key default frame can be any frame
New Key Editing Tools
- Nudge – <SHIFT> Left
- Flatten to Average Value = <SHIFT> Welds to average value and time
- Flatten = <SHIFT> flattens to the last selected key
- Ease to Next Key – Eases the value to the next key. <SHIFT> eases to the previous key.
- Split – Deletes the selected key and creates two new keys.
- Space Keys Evenly – Spaces the keys evenly in time between the first and last keys. <SHIFT> Spaces evenly in value
- Relax Keys – Relaxes keys in time and value between the first and last keys. <SHIFT> align the keys between the first and last keys.
- Loop – Copies the first key value to the last frame of the current animation range. <SHIFT> copies the first key value of the animation to the last key.
- Improved Key reduction performance for baked animation 60X improvement
- Evaluate performance using Maya’s Profiler tool
- Motion Panel
Tracks in list controller can be made active by double clicking in the controller tree view
Empty Tracks and Assigned Controllers can be reset to their default controller type
Controllers can by copied and pasted via the right click menu in the controller tree view
- Time Configuration
Rescale Time improvement: “Rescale keys to whole frames” checkbox to force quantization
- Custom Attributes Presets
Load/Save sets of CA’s whereever user can add them – via Parameter Editor
- Animation Preset (EXT1)
allow you to capture and load animations from one object to another.
- Offset Controller (EXT1)
- MCG LookAt Constraint (EXT1)
- MCG Ray to Surface Position Constraint (EXT1)
- MCG Ray to Surface Position and Orientation Constraints (EXT1)
- MCG Ray to Surface Transform Constraint (EXT1)
- MCG 1 DOF Rotation Spring Controller (EXT1)
- MCG 3 DOF Rotation Spring Controller (EXT1)
Geodesic Voxel Solver (EXT1)
Heatmap Solver (EXT1)
Holding SHIFT for Paint/Blend Weights Mode Change (EXT1)
Unlimited Morph Target (EXT1)
- New Renderer ART
a fast, physically-based renderer, ideal for design visualization workflows used in Revit®, Inventor®, Fusion 360™, and other Autodesk applications.
- Image Noise Filter
drastically reduce render times, and improve the quality of the rendering
- New Sun Positioner and Physical Sky
a replacement for the legacy Daylight System and mr Physical Sky.
Physical Material – New
- a new standard material for 3dsMax with Scanline, Art, Arnold, VRay support
- New Multi Tile Map
allows you to load UDIM texture tiles
- Render UVW Templtes Support
- Show Multitile in UV Dialog
- View in Viewport
- FBX Import/Export
- New Color Map
Solid Color map with gain and gamma adjustment feature
- New Shape Map (EXT2)
Generates texture from spline and vector data
- New Text Map (EXT2)
- New TextureObjMask Map (EXT2)
allow dynamic map generation using another object as a mask
- New framework for simple workflow to migrate rendering related features such as material, map, lights and renderer settings
- Removing missing plugins
also allow to select only selected plugins
- pymxs : Maxscript Exposure to Python
- MAXScript Editor and Listener Python Language Support
- Include All PySide libraries
- Integrate PySideUic Package
- Simplify API for QWidget Attach
- Full Native Support for Parenting/Docking Python Tools
- with Redraw/Quiet/Undo/Animate/At Level/At Time On Off
- Listener Mode Switch Accept Undo/Redo on Indicator
- MAXScript Type Marshalling(Point2, Point4, Quat, EulerAngles,AngleAxis)
- Tuple from MaxScript to Python
- Support multithread for Python’s execution on Max
- Follow Standard Python sys.path Rules
- Support Quad Poly on MaxPlus
- Support AppData Chunk API
- Performance mode support for any object
- Proper deformation export when spacewrap applied
- Vector, Float, Integer support for arbitrary channel import
- UV1 animation support
- UV2+ vertex order fix
- UV Channel ID preserved
- Material/Face ID preserved
- Topology changing mesh does not break Material ID
- Object name preserved
- Full MXS exposure – range, nth frame exposed
- Alembic container object icon
- Alembic Performance Mode Force Caching Option
- Remember visible/frozen state of nested layers when overridden by parent layer
- Child layer can not be turned on when parent layer is turned off
- Layer will always goes above objects
- Hide/Unhide All Layers button
- Freeze/Unfreeze All Layers button
- Track modifier ON/OFF in viewport and render
- Expansion of Composite view to create a new node based render pass system
- Nodes can be dragged out to more easily view your State changes
- Nodes can be created from scratch for a more direct render pass management workflow without tracking/recording
- Support for basic Render Parameters, ART, Vray, Object collections, Object Properties, Material Assignment
- Persistent Composite View (you no longer loose your work on close)
- Track Vray VFB checkbox for better render element support with Vray
- Camera Sequencer Lock Animation Parameter to allow for scaling camera animation when tracks are scaled
- Return of Record button by default (can be switched back in preferences)
- All docked dialogs now open in their own new tab by default
- MCG Shape
- Time-related Nodes
- Bullet Physics
- CSV reading and parsing
- OpenVDB Support
- Signal parameter
- New Parameter Types(Node Array, Single Array, Vector3)
- Vector4 Support
- Improved Bitmap Support
- Polygon/Element Access
- Creating Empty Arrays of Specific Types
- 100+ New Operators and Compounds
- Improved Performance
- MCG Animation Controllers
- Extension of maxscript plugin capabilities, new maxscripted controller plugins: float, point3, point4, color, position, rotation, scale, and transform controllers
- MCG controller authoring based on scripted controller classes previously mentioned. Users can use most mcg operators and graph functionality to create unique custom controllers
- MCG implicit controller transform parameter, allows users to get the Position, Rotation or Scale transforms of the current transform controller
- Ability to select and assign multiple nodes via the mcg tool UI
- MCG implicit time parameter, When the time implicit parameter operator is used, the graph is re-evaluated on each frame
- Time conversion operators, Tick->Frames->seconds
- Simulation operators based on bullet physics api, allows user to create physically based simulation controllers.
- Ability to use maxscript in custom UI tab to extend MCG graph functionality (mouse handling, sub- controller modification, assigning values to parameter blocks)
- 3 MCG authored Constraints accessible from animation menu, MCG Lookat with Billboard Constraint, MCG RaytoSurface Position/Orientation/Transform , Rotation Spring
- Manipulate Text Mode
- Values as Strings
- Advanced Bevel with Bevel Profile Editor
- Large Text Window
Stingray Live Link (EXT1)
- Monitor Connection Status
- Shader FX Update
- Master/Slave Synchronization
- Seamless Communication between 3dsMax and Stingray Editor
- Autodesk 3ds Max asset Library
- CFD (Computational Fluid Dynamics) import via MCG (EXT2)
- Send to Print Studio (EXT2)
Artists can now 3D print a design asset or creation by simply launching Print Studio directly from Autodesk 3ds Max with a single click.
- Game Exporter (EXT1)
llows users to transfer many different types of data from 3ds Max into game engines: Unity, Unreal Engine and the new Autodesk Stingray engine, using FBX interchange technology: models, animation takes, character rigs, textures, materials, LODs, lights, and cameras
- Creative Market Integration (EXT1)
online marketplace featuring high-quality 3D and 2D assets that artists can license and use in their own projects.