MAXScript – встроенный в 3ds max язык написания скриптов. Скрипт – это текстовый файл, обычно с расширениями .ms, .mcr.
    При помощи скриптов можно:
  1. Программировать множество действий пользователя, таких как моделирование, анимация, наложение материалов, визуализация (rendering) и др.
  2. Интерактивно контролировать программу из командной строки окна MAXScript Listener.
  3. Создавать для скриптов стандартный пользовательский интерфейс, размещая его элементы в свитках панели Utility, или в управляющих окнах.
  4. Создавать из скриптов макрокоманды и вставлять их в качестве кнопок на панели инструментов 3ds max.
  5. Расширять или изменять пользовательский интерфейс для объектов (objects), модификаторов (modifiers), материалов (materials), текстур (textures), эффектов визуализации (render effects) и атмосферных эффектов (atmosperic effects).
  6. Создавать дополнения для собственных объектов-сеток (mesh objects), модификаторов и эффектов визуализации.
  7. Создавать свои собственные инструменты импорта/экспорта с помощью встроенного средства ввода/вывода файлов (file I/O).
  8. Писать процедурные контроллеры и с их помощью управлять состоянием всей сцены.
  9. Создавать инструменты групповых вычислений, например, скрипты для последовательной визуализации множества сцен.
  10. Управлять внешними приложениями через механизм OLE Automation.
  11. Записывать свои действия в 3ds max, как команды MAXScript.
  12. Хранить в файлах сцен скрипты, которые будут запускаться при каждом из определенных событий, например, до и после открытия файла сцены, созданием нового файла, после и перед визуализацией, изменением выбранных объектов и т.п.
Доступ к MAXScript
    Command Panel > Utility > MAXScript
  1. Open Listener - отображает окно MAXScript Listener. Это окно также можно открыть, нажав кнопку F11.
  2. New Script - отображает окно MAXScript Editor для записи нового скрипта.
  3. Open Script - открывает диалоговое окно File Open. Выбранный скрипт отображается в новой вкладке окна MAXScript Editor (вкладки впервые появились в 3ds max 2008, до этого всякий скрипт открывался в новом окне MAXScript Editor и это было неудобно).
  4. Run Script - открывает диалоговое окно File Open. Выбранный скрипт прочитывается и выполняется. Все выходные данные печатаются в окне MAXScript Editor.
  5. Utilities - отображает список доступных программ-скриптов (утилит). Имя утилиты не появится в окне до тех пор, пока MAXScript ее не запустит.
  6. Close - Закрывает свиток MAXScript и все свитки утилит.
    MAXScript – падающее меню. Первые три пункта идентичны одноименным пунктам свитка MAXScript в разделе Utility на командной панели (см. выше)
  1. New Script - отображает окно MAXScript Editor с пустой вкладкой для записи нового скрипта.
  2. Open Script... - открывает выбранный скрипт в окне MAXScript Editor.
  3. Run Script... - запускает выбранный скрипт.
  4. MAXScript Listener... - отображает окно MAXScript Listener.
  5. MAXScript Editor... - отображает окно MAXScript Editor.
  6. Macro Recorder - включает запись действий пользователя в окно MAXScript Listener как скриптовые команды.
  7. Visual MAXScript Editor... - отображает окно для создания графических пользовательских интерфейсов.
  8. Debugger Dialog... - отображает окно отладчика скриптов.
Окно MAXScript Listener
    Свойства
  1. Чтобы выделить строку целиком, нужно подвести курсор к ее левому краю (он примет вид стрелки) и щелкнуть один раз. Если щелкнуть, не отпуская, и повести мышкой, выделяться будут сразу несколько строк.
  2. Методом drag-and-drop можно перемещать выделенный текст между частями окна Listener и между окнами Editor и Listener. Если переместить его на панель инструментов 3ds max, создаcтся макроскрипт с этим текстом.
  3. Выделенный текст автоматически загружается в поле поиска, когда пользователь выбирает из падающего меню Search пункт Find или Replace.
  4. Цветовое кодирование: вводимый пользователем текст – черный, выходной текст MAXScript – синий, текст сообщений об ошибках – красный.
  5. ? Всякий раз, когда выполняется одна или несколько команд, последний вычисленный результат, отображаемый в окне Listener сохраняется во внутренней переменной ?. Для дальнейшего использования можно присвоить его любой пользовательской переменной: x = ?
    Некоторые полезные горячие кнопки (хоткеи)
  1. CTRL+B Выделяет текст внутри скобок любого типа. Можно нажимать несколько раз, если есть еще скобки, выделение будет расширяться (В Editor тоже работает).
  2. ENTER Если курсор находится на конце последней строки, она выполняется, в окне Listener печатается выходной текст и курсор переходит на новую строку. Если курсор находится в другом месте, добавляется новая строка, начиная с его текущей позиции.
  3. Number-Pad ENTER Выполняется строка, содержащая курсор.
  4. SHIFT+ENTER То же самое, если текст не выделен. Иначе выполняется только выделенный текст.
Окно MAXScript Editor
    Некоторые полезные хоткеи
  1. File>Evaluate All, CTRL+E Выполняет весь код из окна MAXScript Editor. Также можно выделить весь текст и нажать SHIFT+ENTER.
  2. TAB, CTRL+I Смещает выделенный текст вправо на один шаг табуляции.
  3. SHIFT+TAB, SHIFT+CTRL+I Смещает выделенный текст влево на один шаг табуляции.
  4. Number-Pad ENTER Посылает выделенный текст для выполнения в окно Listener, результаты печатаются в конце текущего текста окна Listener. Если текст не выделен, в Listener для выполнения посылается строка, содержащая курсор. SHIFT+ENTER То же самое.
  5. CTRL+Right-Click Отображает меню со всеми определениями элементов, существующих в данном скрипте: utility, structure, user-interface item, function, handler, plugin, tool, Macro Script, rcmenu. Выберите любой пункт, и его определение окажется в верхней строке окна Editor. Эта возможность упрощает навигацию по большим скриптам.
  6. CTRL+B Выделяет текст внутри скобок любого типа. Можно нажимать несколько раз, если есть еще скобки, выделение будет расширяться.
  7. CTRL+D Перекрашивает текст: комментарии – зеленым, зарезервированные слова – синим, строковые переменные – красным. Изначально весь текст печатается черным (актуально для ранних версий 3ds max, начиная с 2008 цветная подсветка работает автоматом - красота).
  8. CTRL+R Помещает курсор в его предыдущую позицию (задается щелчком левой кнопки или операцией поиска). Последовательное нажатие перемещает курсор по последним восьми запомненным позициям. Эта возможность сильно сокращает количество мышиных щелканий.
  9. ESC Нажмите и не отпускайте до тех пор, пока работающий скрипт не закончит выполняться. Кнопка почти всегда останавливает выполнение любого скрипта, откуда бы его ни запустили.
Синтаксис

Если строка длинная, ее можно разбить. Исходная строка: a + b * c / d – e + f * g / h
Разбивать нужно только после любого оператора, тогда MAXScript будет искать продолжение на следующей строке.
    Так работает:
  • a + b * c / d – t +
  • f * g / h
    А так не работает:
  • a + b * c / d – t
  • + f * g / h
    Но можно разбить, добавив символ “\”:
  • a + b * c / d t \
  • + f * g / h
Несколько выражений можно записать в одной строке, разделив их символом “;”:
print "end of input data reached" to: f; close f; f = undefined

Комментарий первого типа в MAXScript начинается с символов “--” и распространяется до конца строки:
a = 5 --В ПЕРЕМЕННУЮ a ЗАПИСАНО ЧИСЛО 5

/* КОММЕНТАРИЙ ВТОРОГО ТИПА
МОЖЕТ РАСПОЛАГАТЬСЯ
НА НЕСКОЛЬКИХ СТРОКАХ */