MAXScript Overview

The MAXScript language is specifically designed to complement 3ds Max. It has many special features and constructs such as coordinate system contexts, object primitives and materials that mirror high-level concepts in the 3ds Max user-interface. It has an animation mode with automatic keyframing and access to scene objects using hierarchical path names that match the 3ds Max object hierarchy.

The MAXScript language syntax is simple enough for non-programmers, as it includes minimal punctuation and formatting rules. Coupled with the use of the command-line Listener window, the ability to install scripts as toolbar buttons, and the recording of user actions as MAXScript commands, MAXScript can be employed casually by the user while working in the 3ds Max point-and-click user interface.

MAXScript is rich enough to enable sophisticated programming tasks, with capabilities such as 3D vector, matrix, and quaternion algebra. MAXScript is well suited to working with large collections of objects; for example, making complex procedural selections, constructing random star fields, or placing objects in numerically precise patterns.

MAXScript integrates well into the 3ds Max user interface. MAXScript allows scripts to be packaged as Utility panel rollouts, as modeless windows, and as 3ds Max Action Items that can be used as toolbar buttons, menu and QuadMenu items, or as keyboard shortcuts. MAXScript can also be used to extend or replace the user interface for objects, modifiers, materials, textures, render effects, and atmospheric effects; or to create custom mesh objects, modifiers, and render effects. This allows job-specific tools to be scripted by the technical department and made available to artists and animators through standard 3ds Max point-and-click user interfaces.

MAXScript supports formatted text as well as binary data input and output, so it is possible to produce asset reports directly from 3ds Max scene files and read files containing scene layout, naming, texture details, and so on, exported from other project management software. The built-in access to external files and directories makes MAXScript perfectly well suited to perform general data collection and analysis and generate reports about data assets, rendered files etc. and interact with other applications or scripting languages via its built-in command line and shell support.

MAXScript can also be used as a high-level scene import utility. By outputting MAXScript scripts containing object creation commands, it is possible for other programs and packages to export directly using any of the high-level 3ds Max constructs. Taking it even further, MAXScript could be even used to bridge the gap between newer and older 3ds Max versions, allowing the user to send data back from 3ds Max 7 or 6 to 3ds Max 3 for example, without resorting to 3rd party data formats.

See also

MAXScript for New and Casual Users

Learning MAXScript

Frequently Asked Questions