Image courtesy of Binyan Studio
When looking for an interesting image to spiff up this post, I found the above image and struck me as especially poignant in these covid-19 times. Given that we have not been able to meet in person, it fits well. Never-the-less it's an awesome image rendered in 3ds Max by one of our awesome customers. :-) I sincerely hope you and yours have been safe during this time, and continue to be diligent to maintain safety.
Now to the gist of this post.... :-) On March 24th 3ds Max 2022 was released. 3ds Max 2022 is also available on the Forge platform through the Model Derivative service and on Design Automation. If you are an ADN member, the new release should be in your Autodesk account already. Also note that the 3ds Max Developer Center has been updated with the SDK and a few modules need for certain SDK samples. The SDK is still provided with the distribution as well, but it is not included in the product installation routine. You can find it in the <unzipped distribution>\x64\Tools\MAXSDK folder. You can install just by executing the MSI file. Additionally for ADN members we have the debug/hybrid build posted to the ADN member site.
As always, it is helpful to checkout the new features to be sure any customization you already have takes advantage of new features and are compatible. See the list of new features here. There are release notes provided here.
3ds Max SDK update
2022 is an SDK Break
- 3ds Max 2022 SDK is not backward compatible with the 3ds Max 2021 SDK
- Plugins must be rebuilt
- New SDK features support
- Modeling, Viewport, and Scripting
- Performance
- Robustness (for example, applying const correctness to existing APIs)
- Requirements:
- Microsoft Visual Studio 2017, Platform Toolset v141
- Windows SDK 10.0.17134.0
- .NET 4.8
- Qt 5.15.1
Plugin Package changes
The Plugin Package format is now the preferred way to load plugins. This allows you to maintain your plugins and resources outside of the 3d max environment. No changes are needed to any of the 3ds Max config files or environment. The only requirement is location of the plugin package. In 3ds Max 2022 these two details were added:
- SeriesMax attribute is now required
- SeriesMin and SeriesMax now support update versions specifically
MAXScript localization changes affecting the SDK
A big change to MAXScript environment includes localization features. 3ds Max 2022 eliminates the need for the dictionaries (maxscrpt.lcl files) by allowing plugins to supply both the English and non-English names of their properties. The changes include:
- New virtual methods that were added
- Non-Virtual methods whose signatures have been updated
- Virtual methods that were replaced
- Trackview and Controller property and sub-anim name support
- New reference message added
- New parameter definition tag added
Software Security
3ds Max has a new Safe Scene Script Execution feature to protect customers from being hacked. For the SDK, a few things have been chaged/added to support this feature:
- New ISceneScriptSecurityManager interface
- SecurityException thrown when an unsafe MAXScript command is blocked
- 3rd party plugin’s participation in Safe Scene Script Execution
Viewport, Rendering, Materials
- New methods to handle the new 3ds Max Presentation Mode feature
- Viewport Bloom feature settings are accessible through IViewportViewSettings2
- Support for customized material creation through the IMaterialBrowserEntryInstanceCallback interface. This allows you to register a callback that gets executed when a user creates a material or texture
Modeling
- Changes to class Matrix3 and DMatrix3
- Now initialized to identity matrix
- No longer need Matrix3::SetNotIdent()
- Changes to class TriObjectNormalXTC
- Performance boost
- Changes to class Deformer
- non-const Map() and IsThreadSafe() are deprecated
- MapNormal() has been added and is thread safe
- const Map() is now thread safe
- New functions added to the MNMesh class
- Performance improvement
- New methods to determine “dead” vertices, edges, and faces via the internal cache
- New function added to the Modifier class
- Modifier::ShouldCollapseOnSave()
- Improve sub-object picking with High DPI systems
- Picking with the mouse now properly accounts for high DPI displays
- You can now better handle High DPI with new methods
Miscellaneous Changes and Improvements
There were also number of miscellaneous changes and improvements.
3ds Max .NET API
There were no API changes to the .NET API environment. However, note that the .NET Framework was updated to 4.8. With Visual Studio, you may need to install this framework before you can update your plugin. You will need to rebuild to ensure it works properly in 3ds Max 2022. Make sure to test functionality as well!
3ds Max Python
There were some version updates for the python support. The complete history and summary is here. These are the versions of various components needed to work with 3ds Max 2022:
- Python version: 3.7.9
- Python PySide: 5.15.1
Python deprecations
- Python version 2.7 is no longer available (as announced in 2021 release)
- The MaxPlus module is now fully deprecated and no longer available (as announced in 2021 release). Use pymxs module as the python API now.
Python samples
As introduced in 3ds Max 2021, we have added a github repo for Python samples. Find all the sample here: https://github.com/ADN-DevTech/3dsMax-Python-HowTos
MAXScript
See the help docs for a complete summary of the changes to MAXScript. Find it here.