The following pages will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 7. For details on each feature, please follow the links to the respective documentation pages.
New properties added to the Editable_Poly geometry class providing access to the Paint Soft Selections and Paint Deformations functionality.
New methods added to the EditablePoly Interface, providing access to Bridge, MakePlanarIn and Relax functionality.
Editable_Mesh : GeometryClass and TriMesh : Value
New mesh: construction parameter added to the mesh constructor to allow creation of Editable_Mesh objects from existing TriMesh values.
Added access to the following parameters: #angle, #renderable, #mapCoords, #thickness, #sides, #viewport_thickness, #viewport_sides, #viewport_angle, #displayRenderMesh, #useViewportSettings, #displayRenderSettings
This new Helper can be used to extract position and rotation data from any scene nodes to be used as input for scripted controllers, wire controllers etc. It simplifies significantly the creation of custom animation rigs.
The new Edit_Poly modifier implements the Editable Poly modeling tools in a modifier that can be added to the stack and allow for non-destructive editing and animation.
Replaces the previous implementation of the EmptyModifier which is now EmptyModifier_Old. Can be used as an Custom Attributes holder.
New properties controlling the Soft Selection Painting added to the existing modifier.
Project_Mapping_Holder : Modifier
Project_Mapping : ReferenceTarget
The new Projection modifiers provide means to copy UVW coordinates between high-resolution meshes and low-resolution meshes necessary for Normal Map baking.
The new Renderable_Splinemodifier provides a procedural way to turn a spline into a mesh in the renderer and the viewports. It is also used when transferring data between 3ds Max and other Autodesk products.
The new Skin_Morph modifier...
The new Skin_Wrap modifier....
The new Skin_Wrap_Patch modifier...
The new TurboSmooth modifier is an optimized and very fast subdivision modifier.
The new Unwrap_UVWInterface provides additional methods to control the Unwrap_UVW modifier, including Open Edges display in the Editor and the Viewports, Flatten Map By Material IDs, access to geometry and UVW Area calculations for selected faces, Relative/Absolute type-in mode, and adding maps to the maps list of the Editor.
New .radiosityOption property added to the existing modifier.
New properties .isPB2Based, . isMSPluginClass and .isMSCustAttribClass added to the Custom Attributes definition class.
custAttributes.GetOwner_method
The new custAttributes.getOwner method returns the object the Custom Attribute is applied to.
Interface: custAttribCollapseManager
This new interface controls whether Custom Attributes will survive collapsing the modifier stack or not.
Camera_Map_Per_Pixel : textureMap
The new per-pixel camera mapping texture map yields precise results on any geometry at any viewing angle.
New properties .lightDir, .k_a, .k_d, .k_s, .n added to the existing DirectX_9_Shader material. Some obsolete properties were retired from the material.
New methods added to the existing DirectX_9_Shader material.
ViewportManagerCustAttrib : CustAttrib
New properties and methods controlling the DirectX Standard Material shader and saving of FX files added to the existing ViewportManagerCustAttrib class and its interface.
The new Normal_Bump texture map is used as the host for baked normal maps.
The new HeightMapBakeElement can be used to bake geometry into Height Maps textures.
Two new properties added to the existing BakeElement: . useHeightAsAlpha and . useNormalBump .
mental_ray_Shadow_Map : Shadow
New properties added to the existing shader which is now officially supported in 3ds Max 7.
mental_ray_renderer : RendererClass
New properties added to the existing renderer class, some obsolete properties removed.
Sub-Surface Scattering - mental ray Shaders
New shaders implementing both physically-correct and fast Sub-Surface Scattering (SSS) added. Note that these classes are not officially supported in MAXScript.
Object_Display_Culling : UtilityPlugin
New Utility Plug-in to maintain user-defined frame rates in the viewports through view-dependent objects culling.Removed again in 3ds Max 2009 - the Adaptive Degradation system completely replaced its functionality.
This new callback is sent when a scene node name is set or changed. It is more reliable to use this callback type than the #nodeRenamed callback. callbacks.notificationParam() will return a 3 element array for this callback type, containing the old name, the new name, and the node.
#filePreOpen and #filePostOpen
callbacks.notificationParam() will now return an integer value of 2 if a Render Presets file is being opened, undefined otherwise.
New methods for registering and managing trackbar key filter functions added.
Exploring the Trackbar Filter Callback Functions
TrackbarFilter Callback Function Examples
discuss the functionality and possible custom filter functions.
The new FrameTagManager Interface provides access to the Time Tags feature. See also
The new ParamCollectorOps Interface provides access to the Parameter Collector dialog.
The new reactionMgr Interface provides access to the Reaction Manager dialog.
The new walkThroughOps Interface provides access to the Walkthrough viewport navigation mode.
Interface: INodeBakeProjProperties
The new INodeBakeProjProperties Interface implements the projection mapping process using the new Projection : Modifier and Project_Mapping_Holder : Modifier modifiers.
Interface : thePainterInterface
New .hitNode method added to the existing Interface.
New properties . dragStrLimitMin and . dragStrLimitMax added to the existing Interface.
New .closeDialog and .isDialogOpen methods added to the existing Interface.
New .closeDialog and .isChecked methods added to the existing Interface.
New .paintSelBrushSize property controlling the size of the new Paint Selection Brush option added to the existing Interface.
New deleteSelectedAnimation() methodadded to the existing Interface.
New SuspendEditing and ResumeEditing methods added.
The syntax of SetCommandPanelTaskMode was modified so that the panel name to switch to can either be specified as the mode keyword argument, or simply as the argument to the method.
Accessing Active Viewport Info, Type, and Transforms
New method viewport.isWire() added.
New methods viewport.GetRenderLevel(), viewport.SetRenderLevel() added.
New methods viewport.GetShowEdgeFaces(), viewport.SetShowEdgeFaces() added.
New methods viewport.GetTransparencyLevel(), viewport.SetTransparencyLevel() added.
New method viewport.GetFOV() added.
New method viewport.GetScreenScaleFactor() added.
New method viewport.IsEnabled() added.
Many new properties added to the existing Struct, providing full access to Snap options and results.
New preferences.spinnerPrecision, preferences.spinnerSnap and preferences.useSpinnerSnap system globals corresponding to the controls in the Customize > Preferences > General > Spinner group added.
New optional filter_function and new optional keyword options: added to the existing TrackView.pickTrackDlg function.
New labelOnTop keyword option in EditText UI controls. If true , the caption is placed above the edit text box. If false or not specified, the caption is placed to the left of the edit text box.
New readOnly keyword option in ListBoxUI controls. If true , theuser cannot pick items from the list. NOT exposed as a property.
New autoDisplay keyword option in Pickbutton UI controls. If true , the name of the picked object will be placed on the button automatically.
The .object property has been fixed to accept undefined as a valid value assignment.
.height and . width are now exposed as read/write properties of the these UI controls.
For ComboBox, DropdownList, and ListBox, these properties get/set the height/width of the list window in pixels.
For ComboBox and Dropdownlist, the height property does not include the height of the edit-text box. For ComboBox, the minimum height setting is clamped at 0 pixels, for DropdownListat1 pixel.
Two new methods to get and set the dialog's background bitmap added.
closeDialogs MacroScript handler
This new macroScript handler allows the implementation of macroScript toggling on and off in conjunction with the isChecked handler. When the isChecked handler returns true and the button is pressed again, the closeDialogs handler will be called instead of the on execute handler.
New on getDisplayMesh handler lets the developer replace the default viewport display mesh of the delegate with a custom viewport mesh.
ListBox user interface controls are now supported as a valid association with type: #integer parameters in scripted plugins.
New superclass 'SoundClass' added. The default sound object class belongs to this superclass. Explicit declaration of 'Default_Sound'class added.
This new method returns true if the property is animatable, false if the property is not found or is not animatable.
This new method returns an array of all instances of specified class that exist in the scene.
This new method prints in the Listener all installed macroscripts including ID, name, category and source path.
Value Common Properties, Operators, and Methods
New methods isMSCustAttrib(), isMSCustAttribClass(), isMSPlugin(), isMSPluginClass() for checking whether a value is a scripted plugin or custom attribute class or instance.
MAXWrapper Common Properties, Operators, and Methods
New method isValidObj returns true if the argument points to a MAXWrapper that has not been deleted.
New method getClassName returns the class name of the MAXWrapper as a string.
New optional explicitNames keyword added to the existing ExprForMaxObject method.
New immediateOnly keyword added to refs.dependents method. If true, only the immediate dependents of the specified object are returned.
New refs.dependencyLoopTest method added to the existing refs struct.
Indexed Access to Animatable Properties in 3ds Max Objects
New. name read-only property added to SubAnim class.
New optional asString keyword added to the existing getSubAnimName method.
This new method returns the position of the 3ds Max window in relation to the upper left corner of the desktop.
MAXScript Extensions in character studio
Character Studio is now part of 3ds Max 7.
Added documentation of the Character Studio Motion Mixer properties and methods.
Biped Animation Manipulation and Clearing
Additional methods to clear animation in single body parts or whole bipeds.
Setting and Resetting Biped IK Keys
Additional methods related to IK access.
Additional general Biped-related methods.
The Biped Load and Save function have been extended to specify objects and subAnim tracks to be loaded and saved.