This topic will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 2021 and updates. For details on each feature, please follow the links to the respective documentation pages.
New additions to MAXScript in
3ds Max 2021 are marked with
NEW in 3ds Max 2021:... throughout the MAXScript Reference. The word
NEW links back to this page.
New in MAXScript in 3ds Max 2021.1 Update|
Callback Management |
New functions allow you to enable or disable some callback types:
|
|
Bake To Texture |
The BakeToTexture : UtilityPlugin interface has new members to support additional features:
The BakeToTextureMap interface has new members:
The callback that can be registered with BakeToTexture.bake() is now called after every successful baked file is saved, now that the Bake To Texture feature supports formats with multiple files (such as animated maps or UDIM tiles). |
|
Default Parameter Management |
A new interface allows you to define defaults for parameters: DefaultParamInterface. |
|
Controlling UI Focus and Foreground |
The setFocus() function can now take a rollout's HWND property. A new setForegroundWindow() function is similar to setFocus(), but also brings the specified UI component to the foreground. |
|
New Assert Functions |
New assert functions are provided for debugging: assert_array_equal(), assert_matchpattern(), and assert_bitarray_equal(). The new assert_float_equal() is identical to assert_float(), but has a more meaningful name. |
|
New createPreview() option |
The createPreview() function has a new useMPCamEffect option that enables the display of multipass camera effects in the animation preview. |
|
New FBX Importer option |
The new "PostSamplingKeyReducer" option for the FBX Importer controls whether animation keys are reduced post-conversion. |
|
BigMatrix row values |
The value of a BigMatrix row can now be set directly to an array of float values. |
|
Previously Undocumented Items |
The registerDisplayFilterCallback() function is now documented under Adding Selection and Display Filters These functions for displaying registered callbacks are now documented:
The dspSpaceWarps option for the createPreview() function is now documented. |
New in MAXScript in 3ds Max 2021|
Bake to Texture Support |
The BakeToTexture : UtilityClass exposes the functionality of the new Bake to Texture feature. |
|
MAXScript Editor Python Support |
When in Python language mode, the MAXScript Editor now inserts four spaces instead of a tab character when you type Tab. This complies with PEP-0008 |
|
Plugin Package Manager Additions |
The PluginPackageManager interface has new methods to return information about Scene Converter, OSL, and AMG paths:
|
|
Callbacks Changes |
The callbacks.addScript() method can now take a function as the second parameter. Previously this had to be a String, StringStream, or filename. |
|
Weighted Normals Modifier |
The new Weighted Normals modifier is exposed in the Weighted_Normals : Modifier class. |
|
ATF-based Importers |
Autodesk Translation Framework (ATF) based importer plug-ins have some extra features exposed to MAXScript, .ImportHiddenObjects and .PreserveLayers. This applies to:
|
|
Scripted Plug-ins |
Scripted plug-in parameters can now take an optional localizedName string, which is used (instead of the parameter name) when the parameter is displayed on a UI. |
|
Rollout Visibility |
Rollouts have a new visible property that controls whether they are visible when displayed in a dialog. Two new utility functions allow you to convert parameter type name values to their corresponding enum integer representation from the C++ SDK, and vice versa: ParamTypeToTypeName() and TypeNameToParamType(). |
|
For Loop Index Variables |
The for loop now can take optional index arguments to handle filtered and unfiltered list operation. |
|
SME Material Library Methods |
Several new methods have been added to the SME interface to expose functionality for working with material libraries:
|
|
edit_poly Modifier Chamfer Enhancements |
Chamfer improvements to the edit_poly modfier are exposed in new properties:
|
|
Max Memory Heap Usage |
The new sysinfo.getMAXHeapUsed() function returns the amount of heap memory 3ds Max is using. |
|
Scripted Custom Attribute Loading Callbacks |
New functions have been added to the custAttributes struct to help manage callbacks that can now be registered to alter definitions as they are loaded from a scene file:
|
|
Documentation Changes |
The active segment normalized time literal format has not been supported for several releases, and has been removed from the Time Values and Time Literals topics. |
|
Deprecated and Removed Items |
The <ViewportViewSettingImpl>.DefaultLightsFollowCamera property is removed from the NitrousGraphicsManager interface. |
|
Previously Undocumented Items |
Functions in the custAttributes struct used to manage how scripted custom attribute definitions are managed when there is a conflict with a loaded or merged scene are now documented under Handling Scripted Custom Attribute Definition Conflicts The dspFrameNums keyword argument has been added to the createPreview() method. |