What was New in MAXScript in 3ds Max 8

The following pages will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 8.For details on each feature, please follow the links to the respective documentation pages.

Geometry

Geometry - Standard Objects

Geometry - Extended Objects

A new realWorldMapSize Interface has been added to most standard and extended geometry primitives to expose the new real-world map size feature.

Geometry - Doors and Windows

A new realWorldMapSize Interface has been added to all Doors and Windows primitives to expose the new real-world map size feature.

Geometry - Stairs

A new realWorldMapSize Interface has been added to all Stair primitives to expose the new real-world map size feature.

Geometry - AEC Extended Objects

A new realWorldMapSize Interface has been added to the Railing and Wall AEC Extended primitives to expose the new real-world map size feature.

NURBSSurfaceApproximation : Value

Some existing but previously unexposed properties were exposed to MAXScript, including .merge, .subdivStyle, .minLevels, .maxLevels and .maxTris .

EditablePoly Convert Selection

New methods added to Editable Poly to expose the new Ring and Loop Shift and Convert Selection To Border features.

Shapes

Shapes - Splines

New properties have been added to all shapes to expose the real-world map size and the renderable spline properties for viewport and renderer.

Shapes - Extended

New classes have been added to expose the Extended Splines Angle, Channel, Tee, Wide Flange and Walled Rectangle.

SplineShape : Shape

New properties have been added to all shapes to expose the real-world map size and the renderable spline properties for viewport and renderer.

HalfRound : Shape

Pipe:Shape

QuarterRound : Shape

New (non-creatable by MAXScript) shapes have been added to provide some built-in cross-sections for the Sweep modifier.

Modifiers

Renderable_Spline : Modifier

New properties have been added to the modifier to expose the new Rectangular cross-section, Auto Smooth and Read-World Map Size options.

Sweep : Modifier

A new modifier has been added to 3ds Max to create meshes from a base spline and a custom cross-section.

MapScaler : modifier

MapScalerSpacewarpModifier : SpacewarpModifier

A new property has been added to Map Scaler to allow for texture wrapping based on Smoothing Groups.

Edit_Poly : Modifier

Multiple new properties and methods have been added to the Edit_Poly modifier.

Poly_Select:Modifier

Two new properties have been added to the Poly_Select modifier to expose the new Edge Loop and Edge Ring selection values.

Skin: Modifier

New properties added to the Skin modifier.

Projection : Modifier

New properties added to the Projection modifier to control the visibility of reference geometry.

Unwrap_UVW : Modifier

New properties added to the modifier to expose the Edge and Grid snapping and the new Render UVW Template Tool's properties.

The new unwrap5 interface provides access to new features including Pelt Mapping.

MorpherChannelAccess

New methods added to the morpher modifier to provide access to the Progressive Morph Targets, Marker data and to allow moving and swapping channels.

Controllers

Expression Controllers

Float_Expression : FloatController

Point3_Expression : Point3Controller

Position_Expression : PositionController

Scale_Expression : ScaleController

The new implementations of the Expression controllers provide complete MAXScript access through the new IExprCtrl interface. All expression controllers listed above expose that interface.

Script Controllers

Using Script Controllers

Script controllers are now based on the same code as the new scriptable Expression controllers, providing additional features like access to time constants, the ability to define user variables and assign constants, controllers, tracks and nodes to them, a debug window showing dynamically all user variables and the controller value as the time changes, a description field and more.

Cameras

Camera Common Properties, Operators, and Methods

New properties have been added to cameras to provide access to the FOV type flyout and the current FOV value dependent on that flyout.

CameraFOV Structure

New structure has been added. It provides methods to convert FOV into MM and back and Current FOV Type to horizontal FOV and back.

Materials and Texture Maps

Architectural : Material

New MAXScript properties have been added to the Architectural material to allow inverted processing of Reflections, Refractions and Self-Illumination by Exposure Controls and to exclude the material from Exposure processing. These properties are not exposed in the User Interface!

UVGenClass : Material

New properties have been added to the StandardUVGen (accessed via the .coordinates property of texture maps) to expose the real-world scale properties of all texture maps using the StandardUVGen class, incl.Bitmaptexture, Bricks (Tiles), Checker, Combustion, Gradient, Gradient_Rampand Swirl maps.

Bitmap IO

OpenEXR : BitmapIO

NewBitmap IO provides support for the OpenEXR file format.

TIF: BitmapIO

New#color16 type added to the getType() and setType() enums.

Renderer

Controlling the Renderer

New optional keyword arguments added to the render() command to control the rendering of Multipass camera effects and Render Elements when calling the renderer from MAXScript.

Render Elements

Material_ID : RenderElement

New RenderElement allows the output of Material IDs.

Object_ID : RenderElement

New RenderElement allows the output of Object IDs.

ZRenderElement - superclass: MAXObject

New Update Property added to the RenderElement.

Bake Elements

Ambient_Occlusion : BakeElement

New Bake Element allows the Ambient Occlusion to be rendered to texture.

Radiosity

Radiosity : RadiosityEffect

New properties have been added to the Radiosity RadiosityEffect to provide controls over the new Adaptive Subdivision feature.

The documentation has been reordered to reflect the location of the respective controls in the user interface for easier navigation.

mental ray

mental_ray_renderer : RendererClass

New properties have been added to the mental_ray_renderer RenderClass to provide access to the Final Gather bounces count, the RapidShading samples count, the displacement Smoothing option, the Material Override option, the Motion Blur Shutter offset and the Frame Buffer type.

Interface: INodeMentalRayProperties

A new INode Interface has been added to provide access to local mental ray Displacement controls.

mental_ray_Shadow_Map : Shadow

Two new properties added - .Bias and . UseBias .

Interfaces

Interface: MXSDebugger

A newCore Interface has been added to provide access to the new MAXScript Debugger.

Interface: ATSOps

A newCore Interface has been added to provide access to the new Asset Tracking System.

Interface: ATSCustomDepsOps

A new Core Interface has been added to provide access to the Custom Dependencies dialog of the Asset Tracking System.

Interface: LoadSaveAnimation

A new Core Interface has been added to provide access to the new Animation Loading and Saving feature.

Interface: sceneStateMgr

A new Core Interface has been added to provide access to the new Scene State manager feature. Scene State allows you to capture the current settings of the scene and restore them later.

Interface: batchRenderMgr

A new Core Interface has been added to provide access to the new Batch Render manager feature. It will let you specify multiple cameras with various settings, optional scene states and render presets and render with a single click of a button locally or on the network.

Interface: heightManager

A new Core Interface has been added to VIZ 2006. The Interface does nothing in 3ds Max 8 since the actual functionality is implemented by Light-creating MacroScripts shipping with VIZ 2006. The interface is only used to manage values used by these MacroScripts to create Lights at pre-defined custom Z heights.

Interface: globalDXDisplayManager

A new property has been added to the existing interface to enable and disable DirectX Scene Effects.

Interface: gridPrefs

The gridPrefs interface originally introduced in Gmax has been added to 3ds Max 8 and enhanced with more properties. It can be used to access and change the Home Grid Preferences.

Interface: BrushPresetMgr

This new interface exposes the Brush Preset Manager to MAXScript.

Interface: SkinUtils

A new method for importing skin data without opening a dialog added to the existing interface.

BipWorkBench Core Interface

New methods added to the existing interface to control the Quaternion curvers display.

Interface: trackviews

New .exists() method added to the existing interface and returns true if the specified trackview exists and false if it does not. It can be used to prevent Runtime errors from the .isOpen() method in the same interface.

XRefs

Interface: objXRefMgr

A new core interface has been added to provide access to the Object XRef's source and proxy file names and item names.

XRef_Material : Material

A new class whose instances are used to XRef materials from external files.

XRefAtmosWrapper

A new non-creatable class whose instances are used to XRef atmospheric effects from external files.

XRefObject : Node

New property added to the existing XRefObject node class to expose the actual object used by the XRef.

Interface: objXRefs

New method added to the existing objXRef interface to return the number of empty XRefs.

Cloth Extension

MAXScript Extensions for Cloth

New modifiers have been added to 3ds Max to simulate Cloth - Cloth : Modifier andGarment_Maker : Modifier

Hair & Fur Extension

MAXScript Extensions for Hair & Fur

New classes have been added to 3ds Max to generate and render Hair and other advanced surface-distributed effects like grass, trees etc. -HairMod : Modifier

Miscellaneous

maxops.overrideControllerRangeDefault

New option to control the infinite/limited range of procedural controllers.

Interface: maxOps

New methods to get and set the default tangent types of new keys added to the maxOps interface.

New method to get consistent color values from integer IDs added to the maxOps interface.

BitMethods

New bit methods added to the existing bit structure to convert integers to floats, floats to integers, swap bytes and check whether a value is NaN or a finite number (not a NaN).

timeConfiguration.playbackLoop

New system global to control the state of the Loop checkbox in the Time Configuration dialog.

See Also