- •Часть 1
- •Окно maxScript Listener
- •Окно maxScript Editor
- •Простейшие математические операторы и выражения
- •Пропуск проходов и принудительный выход из циклов
- •Часть 2 Функции
- •Объекты и классы в объектно-ориентированном программировании
- •Определения
- •Операции со строками
- •Операции с массивами
- •Команды 3ds max в maxScript
- •Часть 3 Создание свитков
- •События
- •Элементы интерфейса
- •Часть 4 Сплайны
- •Класс SplineShape
- •Часть 5 Простейшие диалоговые окна
- •If queryBox “Хотите продолжить?” beep:false then ... Некоторые из методов работы с объектами
- •Характерные точки объектов
- •Системы координат
- •Координатные сетки
- •Определение угла между двумя векторами
- •Представление ориентации при помощи кватернионов (quaternions)
- •Создание вспомогательных объектов-пустышек Dummy
- •Изменение общих параметров анимации
- •Анимация вершин сплайнов
- •Примеры контроллеров анимации path constraint и link constraint
- •Методы print и format
Окно maxScript Editor
Некоторые полезные команды
File>Evaluate All, CTRL+E Выполняет весь код из окна MAXScript Editor. Также можно выделить весь текст и нажать SHIFT+ENTER.
TAB, CTRL+I Смещает выделенный текст вправо на один шаг табуляции.
SHIFT+TAB, SHIFT+CTRL+I Смещает выделенный текст влево на один шаг табуляции.
Number-Pad ENTER Посылает выделенный текст для выполнения в окно Listener, результаты печатаются в конце текущего текста окна Listener. Если текст не выделен, в Listener для выполнения посылается строка, содержащая курсор.
SHIFT+ENTER То же самое.
CTRL+Right-Click Отображает меню со всеми определениями элементов, существующих в данном скрипте: utility, structure, user-interface item, function, handler, plugin, tool, Macro Script, rcmenu. Выберите любой пункт, и его определение окажется в верхней строке окна Editor. Эта возможность упрощает навигацию по большим скриптам.
CTRL+B Выделяет текст внутри скобок любого типа. Можно нажимать несколько раз, если есть еще скобки, выделение будет расширяться.
CTRL+D Перекрашивает текст: комментарии – зеленым, зарезервированные слова – синим, строковые переменные – красным. Изначально весь текст печатается черным.
CTRL+R Помещает курсор в его предыдущую позицию (задается щелчком левой кнопки или операцией поиска). Последовательное нажатие перемещает курсор по последним восьми запомненным позициям. Эта возможность сильно сокращает количество мышиных щелканий.
ESC Нажмите и не отпускайте до тех пор, пока работающий скрипт не закончит выполняться. Кнопка останавливает выполнение любого скрипта, откуда бы его ни запустили.
Синтаксис
Если строка длинная, ее можно разбить. Исходная строка: a + b * c / d – e + f * g / h
Можно разбить только после любого оператора. MAXScript будет искать продолжение на следующей строке.
Так работает: a + b * c / d – e + А так не работает: a + b * c / d – e
f * g / h + f * g / h
Можно разбить, добавив символ “\”: a + b * c / d – e \
+ f * g / h
Несколько выражений можно записать в одной строке, разделив их символом “;”:
print “End of input data reached” to: f; close f; f = undefined
Комментарий первого типа в MAXScript начинается с символов “--” и распространяется до конца строки: a = 5 -- В переменную а записано число 5
/* Комментарий второго типа
может располагаться
на нескольких строках*/
Целые (integer) и вещественные (float) числа
При выполнении простейших математических операций результат, как правило, имеет тот же тип, что и аргументы: 3 + 4 возвращает 7, 3.0 + 4.0 возвращает 7.0. Однако, если совместно используется оба типа чисел, целое понимается как вещественное: 3 + 4.0 возвращает 7.0
Переменные
variable_name = variable_value -- присвоение переменной значения
variable_name = “Текст” -- строковая переменная
local y = 2, x -- объявление локальных переменных (действуют в текущем блоке)
global bzzz -- объявление глобальных переменных (действуют всю сессию 3ds max)
Имя переменной должно начинаться с буквы или символа “_”. Ее значение – любое число, строка или выражение.
Массивы
В массиве может содержаться любое количество элементов, каждый любого типа.
a = #( ) -- пустой массив
a = #(5, “four”, pi, 11.17) -- массив с элементами
a[int] -- элемент массива, int - номер элемента (целое число, нумерация с 1)
Например: a[2] возвращает “four”
