The following page will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 2016. For details on each feature, please follow the links to the respective documentation pages.
The new Physical : camera object provides an advanced camera exposing physical lens controls, film width controls and presets, and built-in exposure gain controls.
The new iray_Section : helper can be used to produce sections of the scene geometry at render time.
The new Crease : Modifier can be used to define edge creases on geometry objects.
The new CreaseSet : Modifier can be used to manage sets of edge creases.
The new OpenSubdiv : Modifier implements the Pixar OpenSubdiv libraries in 3ds Max.
The new Alembic_Export : ExporterPlugin can be used to export scene objects to the Alembic .ABC file format.
The new Alembic_Import : ImporterPlugin can be used to import objects from Alembic .ABC files into the scene.
The new AlembicCamera : Camera class implements the Camera object imported from an Alembic .ABC file.
The new AlembicContainer : GeometryClass object is used by the Alembic Importer to represent the root for grouping object imported from the same file.
The new AlembicObject : GeometryClass object is used to represent a geometry entity imported from an Alembic .ABC file.
The new AlembicXform : Matrix3Controller is used to load the object transformation animation data from an Alembic .ABC file.
The new simpleMeshMod Scripted Plug-in class allows the processing of the incoming TriMesh on the stack and is used by the Max Creation Graph system to implement procedural modifiers.
The new ATF_Alias_importer : ImporterPlugin exposes the Autodesk Translation Framework Alias file format Importer to MAXScript.
The new ATF_CATIA_V4_importer : ImporterPlugin exposes the Autodesk Translation Framework CATIA v4 file format importer to MAXScript.
The new ATF_CATIA_V5_importer : ImporterPlugin exposes the Autodesk Translation Framework CATIA v5 file format importer to MAXScript.
The new ATF_IGES_importer : ImporterPlugin exposes the Autodesk Translation Framework IGES file format importer to MAXScript.
The new ATF_JT_importer : ImporterPlugin exposes the Autodesk Translation Framework JT file format importer to MAXScript.
The new ATF_ProE_importer : ImporterPlugin exposes the Autodesk Translation Framework ProE file format importer to MAXScript.
The new ATF_Solidworks_importer : ImporterPlugin exposes the Autodesk Translation Framework Solidworks file format importer to MAXScript.
The new ATF_STEP_importer : ImporterPlugin exposes the Autodesk Translation Framework STEP file format importer to MAXScript.
The new ATF_UG_NX_importer : ImporterPlugin exposes the Autodesk Translation Framework UG-NX file format importer to MAXScript.
The new Revit_importer : ImporterPlugin exposes the Autodesk Revit file format inporter to MAXScript.
The new A360_Cloud_Rendering exposes the A360 Cloud renderer to MAXScript.
The new Multi_Sub_Object : Material exposes the empty multi-sub Material to MAXScript. It provides no properties or methods.
The new builtin_displace_mdl : textureMap implements a displace shader using the NVIDIA Material Definition Language (MDL).
The new builtin_function_mdl : textureMap implements a function shader using the NVIDIA Material Definition Language (MDL).
The new builtin_mdl_multiply_scalar : textureMap implements a multiply by scalar shader using the NVIDIA Material Definition Language (MDL).
The new max_physical_camera_lens : textureMap represents the mental ray shader implementation of the new Physical : camera object.
The new Float_XRef_Controller : FloatController is used to expose Float parameters of XRef objects.
The new Point3_XRef_Controller : Point3Controller is used to expose Point3 parameters of XRef objects.
The new iray__Alpha : RenderElement can be used to output transparency information from the iRay renderer.
The new iray__Irradiance : RenderElement can be used to output irradiance information from the iRay renderer.
The new iray__normal : RenderElement can be used to output surface normals information from the iRay renderer.
The new iray__Matte_Environment : textureMap can be used to output matte information from the iRay renderer.
The new mr_Ambient_Occlusion : RenderElement can be used to output ambient information from the iRay renderer.
The new Physical_Camera_Exposure_Control : ToneOperator exposes the Physical Camera Exposure Control to MAXScript.
The new Interface: Autodesk360 provides methods related to initializing the web services, logging in and out, and querying login info from the Autodesk 360 service.
The new Interface: CreaseSetManager provides methods to create and manage CreaseSets.
The new Interface: CreaseExplorerManager provides methods to manage the Crease Explorer window including programmatically opening and closing it, as well as loading and saving its configuration to disk.
The new Interface: RevitImportWorkflow exposes no properties or methods.
The new Interface: paramPublishMgr exposes methods to initiate the parameter publishing and to add a parameter by its index.
In the existing Chamfer : Modifier, several new properties have been added: .limiteffect
, .useminangle
, .usemaxangle
, .minangle
, .maxangle
, and .smoothtoadjacent
.
In the existing DirectX_9_Shader : Material, a new property has been added: .shaderfxgraph
.
In the existing Edit_Poly : Modifier, several new properties have been added: .dataChannel
, .dataValue
, .hardedgedisplay
, and .hardedgedisplaycolor
.
In the existing Editable_Poly : GeometryClass, several new properties have been added: .hardedgedisplay
and .hardedgedisplaycolor
.
In the existing Interface: EditablePoly, several new methods have been added: .makeHardEdges()
, .makeSmoothEdges()
, .selectHardEdges()
, and .selectSmoothEdges()
.
In the existing iRay_Renderer : RendererClass, several new properties have been added: .displacementDisplaceMethod
, .displacementParametricSubdivisionLevel
, .textureCompressionEnabled
, and .textureCompressionMinResolution
.
In the existing max_base_GBuffer_lens : textureMap, several new properties have been added: .pauseEventLow
, .pauseEventHigh
, .pauseEventLow_connected
, .pauseEventLow_shader
, .pauseEventLow_paramName
, .pauseEventHigh_connected
, .pauseEventHigh_shader
, and .pauseEventHigh_paramName
.
In the existing renderers struct, three new properties have been added: .renderDialogMode
, .renderButtonText
, and .target
.
In the existing max_rtt_output : textureMap, a new property has been added: .elementIndex
.
In the existing mental_ray_renderer : RendererClass, several new properties have been added: .Displace_Method
, .EnableLIS
, and .LISQuality
.
In the existing Normalize_Spl : Modifier, a new .Accuracy
property has been added.
In the existing Skin : Modifier, a new property has been added: .enableDQ
.
In the existing XRefObject : Node, a new property has been added to the IXRefProxy Interface: .useLocal
.
In the existing XRef_Controller : Matrix3Controller, a new property has been added: .xrefCtrlStatus
.
In the existing Interface : objXRefMgr, two new properties have been added: .includeAll
and .enableUseLocalProxySettings
.
In the existing XRef_Material : Material, two new properties have been added: .enableOverride
and .overrideMaterial
.
In the existing LayerProperties MixinInterface, three new methods have been added: canDelete()
, getNumNodes()
, and hasSceneXRefNodesInHierarchy()
.
In the existing Interface: AssetManager, the new method AssetManager.RemoveMissingAssets()
has been added.
In the existing Interface: maxOps, the new property maxOps.isRenderActive
has been added.
In the existing Interface: PlacementTool, the two new methods PlacementTools.ShowOptionDialog()
and PlacementTool.GetCommandMode()
have been added.
In the existing Interface: SteeringWheelOps, the new property SteeringWheel.loadOptions()
has been added.
In the existing Interface: ViewCubeOps, the new property ViewCubeOps.loadOptions()
has been added.
Several properties have been removed from the existing mental_ray_renderer : RendererClass: .FinalGatherMinRadius
, .FinalGatherMinRadius_View
, .FinalGatherOnly
, .FinalGatherPreview
, .FinalGatherRadius
, .FinalGatherRadius_View
, .FinalGatherUseRadiusInterpolation
, .FinalGatherView
, .UseFinalGatherMinRadius
, .UseFinalGatherRadius
, and .view
.
In the existing Egg : Shape, the existing properties have been changed from float to worldUnits type: .egg_length
, .egg_thickness
, and .egg_width
.
In the existing Ellipse : Shape, the existing properties have been changed from float to worldUnits type: .ellipse_thickness
, .length
, and .width
.
In the existing Interface: EPolyManipGrip, the new enum #VertexCrease
has been added to the two existing methods: EPolyManipGrip.SetManipulateGrip()
and EPolyManipGrip.GetManipulateGrip()
.
In the existing Interface: AssetManager, the new enum #MaxCreationGraph
has been added to the assetType argument of the two existing methods: AssetManager.GetAssetId()
and AssetManager.GetAsset()
.
In the existing Interface: FileResolutionManager, the new enum #MaxCreationGraph
has been added to the assetType argument of the two existing methods: FileResolutionManager.GetFullFilePath()
and FileResolutionManager.GetAssetTypeString()
.
In the existing Interface: maxOps, the existing read-only property maxOps.productAppID
can only contain #max
and the exiting read-only property maxOps.productID
can only contain #3dsMax
in 3ds Max 2016 due to the retiring of 3ds Max Design.
In the existing Interface: pop, the enums list of the existing property pop.DisplayType
has been changed to remove the #Segmented
option.
A new LayerManager.doesLayerHierarchyContainNodes()
method has been added to the existing Interface: LayerManager.
A new LayerManager.deleteLayerHierarchy()
method has been added to the existing Interface: LayerManager.
A new LayerManager.getDuplicateLayerWithoutSameHierarchyOnMerge()
method has been added to the existing Interface: LayerManager.
A new LayerManager.setDuplicateLayerWithoutSameHierarchyOnMerge()
method has been added to the existing Interface: LayerManager.
In the existing methods .SaveViewGraph()
, .LoadViewGraph()
, .UnloadViewGraph()
, .SetViewShadeFragment()
, and .ResetViewShadeFragment()
of the NitrousGraphicsManager Interface, the existing viewIndex
argument type has been changed from <integer>
to <index>
.
A new .GetFixedViewportPipeline()
method has been added to the NitrousGraphicsManager Interface.