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!
- 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)
Lack of PYTHONPATH support impacts existent production pipelines 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 184.108.40.206/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)
- 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
- 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”.
- 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 220.127.116.11.
- 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 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 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.
- 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 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.
- 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.
- 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
- 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. MAXX-53004
- 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. MAXX-64434
- Fixed issue where user could not add Tracks to Track Sets. MAXX-606670
- 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. MAXX-62470
- 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.
- 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.
- 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. MAXX-59336
Fixed Perspective Match handles behavior. MAXX-63003
Animation keeps playing while the view is moving/panning/orbiting. MAXX-63031
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. MAXX-56425
Preferences saving issue with V-Ray installed MAXX-63353
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. MAXX-62703
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. MAXX-63459
Fixed command panel rollouts not expanding or retracting MAXX-63409
Solved issue with .psd files locked in Photoshop. MAXX-61825
PBR Importer rules can now recognize spaces in texture names. MAXX-63382
Fixed a bug that prevented maxscript from writing to the listener window when called from python. MAXX-63391
Fixed the save of sequences from Make Preview when Multi Pass is enabled. MAXX-53168
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. MAXX-62018
- 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.
- 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.
- 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 18.104.22.168 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
- 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)
- 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 22.214.171.124.
- 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 126.96.36.199. (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)
- 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
- 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.
- 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
- 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 188.8.131.52
- 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
- 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
- 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
- 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
- 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.
- 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.