Начинать знакомство с MAXScript проще всего через инструмент Macro Recorder. Он записывает действия пользователя как команды скрипта и выводит их в верхнюю (розовую) область окна MAXScript Listener. Включить Macro Recorder можно из падающего меню MAXScript/Macro Recorder или через меню MacroRecorder в окне MAXScript Listener (нажмите F11, чтобы его открыть). Включите Recorder, откройте Listener, создайте несколько объектов, изменяйте выделение, параметры объектов и смотрите, как происходит запись. К сожалению, далеко не все действия пользователя можно записать, поэтому данный инструмент используется в основном для общего ознакомления с MAXScript или когда в хелпе не нашлось подсказки и есть надежда, что Recorder подскажет нужную команду. Надежда эта сбывается крайне редко, так что отключите Macro Recorder и продолжим.

В нижней (белой) области Listener можно построчно вводить свои собственные команды и выполнять их, т.е. получается как бы Recorder наоборот. Чтобы выполнить текущую строку – поместите курсор в конец строки и нажмите Enter. Чтобы выполнить несколько строк – выделите их и нажмите Shift+Enter. 3ds max будет печатать в Listener результаты выполнения скриптов синим цветом и сообщения об ошибках красным. Если потребуется стереть все содержимое белой или розовой области MAXScript Listener, щелкните на ней и нажмите Ctrl+D. Ну вот, научились работать с Listener, самое время учиться писать в нем простейшие скрипты.

Создание ящика (вообще говоря по-русски этот объект называется прямоугольный параллелепипед, ну да ладно :-D)
Геометрический объект ящик создается командой box(). Пустые скобки означают, что параметры объекта будут устанавливаться по умолчанию. Чтобы потом легче было обратиться к этому объекту, лучше сразу записать его в переменную: mybox=box()
Если нужно задать свои параметры - скобки не нужны, а писать нужно так: mybox=box length:20 width:20 height:20
Чтобы изменить любое свойство объекта, в том числе и параметры, необходимо обратиться к его переменной. Например, к высоте: mybox.height=50

Изменение параметров ящика
СвойствоОписаниеПримеры
nameимя объектаmybox.name=”BlueBox”
wireColorцвет объектаmybox.wireColor=blue
  mybox.wireColor=(color 255 0 255)
posкоординаты X,Y,Zmybox.pos=[0,-75,0]
scaleмасштабmybox.scale=[0.5,0.5,0.5] --УМЕНЬШИТЬ НАПОЛОВИНУ ОТ ИСХОДНОГО МАСШТАБА ПО ВСЕМ ОСЯМ
  mybox.scale=[1,3,2] --ИСХОДНЫЙ МАСШТАБ ПО ОСИ X, ПО Y УВЕЛИЧЕННЫЙ В ТРИ РАЗА, ПО Z В ДВА
lengthдлинаmybox.length=50
widthширинаmybox.width=50
heightвысотаmybox.height=50
   
 число сегментов: 
lengthsegsпо длинеmybox.lengthsegs=10
widthsegsпо ширинеmybox.widthsegs=20
heightsegsпо высотеmybox.heightsegs=30
   
mapCoordsпроекционные координатыmybox.mapCoords=true --ВКЛЮЧИТЬ
  mybox.mapCoords=false --ВЫКЛЮЧИТЬ

Масштаб и размеры объекта – свойства неодинаковые, и когда вы меняете масштаб, размеры остаются прежними и наоборот. При помощи функции showСlass() можно узнать все параметры любого объекта. Например, для ящика showСlass “box.* --ВЫВЕСТИ ПАРАМЕТРЫ КЛАССА box

Стандартные трансформации
ТрансформацияОписаниеПримеры
moveперемещениеmove mybox [10,0,0] --СДВИНУТЬ НА 10 ВДОЛЬ ОСИ X
rotateповоротrot_box=eulerangles 0 30 0
  rotate mybox rot_box --ПОВЕРНУТЬ НА 30° ВОКРУГ ЛОКАЛЬНОЙ ОСИ Y
scaleмасштабированиеscale mybox [10,20,30] --УВЕЛИЧИТЬ ТЕКУЩИЙ МАСШТАБ ПО ОСИ X В 10, ПО Y В 20, А ПО Z В 30 РАЗ

Назначение и изменение модификаторов
Модификаторы назначаются командой addModifier. Пример для модификатора Twist (Скрутка): addModifier mybox (twist angle:30)
Изменение параметров модификаторов происходит аналогично изменениям свойств объектов: mybox.twist.angle=60


Анимация ящика
Простейшая анимация по двум ключевым кадрам формируется так:
animate on
(
at time 0 (mybox.pos=[-100,0,0]; mybox.scale=[1,1,0.25])
at time 100 (mybox.pos=[100,0,0]; mybox.scale=[1,1,3])
)

Формат времениЕдиницы измерения времени
2.5s2.5 секунды
20f20 кадров
4800t4800 тиков = 1 секунда
1m3s5f1 минута, 3 секунды, 5 кадров
1:15:5SMPTE: 1 минута, 15 секунд, 5 кадров

Если формат времени не задан (как в предыдущем примере с анимацией), оно измеряется в кадрах. Любой формат времени при анимации всегда переводится в кадры.