
- •Теория maxScript Оглавление
- •Часть 1 2
- •Часть 1
- •Окно maxScript Listener
- •Окно maxScript Editor
- •Синтаксис
- •Управляющие конструкции
- •Пропуск проходов и принудительный выход из циклов
- •Часть 2 Функции
- •Объекты и классы в объектно-ориентированном программировании
- •Определения
- •Операции со строками
- •Операции с массивами
- •Команды 3ds max в maxScript
- •Часть 3 Создание свитков
- •События
- •Элементы интерфейса
- •Радиокнопки
- •Спиннер
- •Часть 4 Сплайны
- •Класс SplineShape
- •Методы, работающие с целым объектом Shape
- •Методы, работающие со сплайнами объекта Shape
- •Методы, работающие с сегментами сплайнов объекта Shape
- •Методы, работающие с вершинами сплайнов объекта Shape
- •Часть 5 Простейшие диалоговые окна
- •If queryBox “Хотите продолжить?” beep:false then ... Некоторые из методов работы с объектами
- •Характерные точки объектов
- •Системы координат
- •Координатные сетки
- •Определение угла между двумя векторами
- •Представление ориентации при помощи кватернионов (quaternions)
- •Создание вспомогательных объектов-пустышек Dummy
- •Изменение общих параметров анимации
- •Анимация вершин сплайнов
- •Примеры контроллеров анимации path constraint и link constraint
- •Методы print и format
Часть 5 Простейшие диалоговые окна
messageBox <message_string> [title: <window_title_string>] [beep: <boolean>]
Отображает диалоговое окно с текстом сообщения и кнопкой ОК. Параметр title определяет заголовок окна, параметр beep– звуковой сигнал (true по умолчанию).
queryBox <message_string> [title: <window_title_string>] [beep: <boolean>]
Отображает диалоговое окно с текстом сообщения и кнопками Yes и No. Эта функция возвращает true, если пользователь нажимает Yes и false – если No.
yesNoCancelBox <message_string> [title: <window_title_string>] [beep: <boolean>]
Отображает диалоговое окно с текстом сообщения и кнопками Yes и No и Cancel. Функция возвращает #yes, #no или#cancel, в зависимости от нажатой кнопки.
Примеры: messageBox “Этого делать не нужно”
If queryBox “Хотите продолжить?” beep:false then ... Некоторые из методов работы с объектами
Метод Описание
copy <node> создает объект-копию.
reference <node> создает объект-ссылку.
instance <node> создает объект-образец.
delete <node> удаляет объект.
attachObjects <node1> <node2> делает <node2> потомком <node1>. Потомок
[move: <boolean>] перемещается в позицию предка, если не задан параметр move:false.
isValidNode <var> возвращает true, если <var> является объектом (или его переменной), который не был удален. В противном случае возвращает false.
Пример: proverka=isValidNode $Box01
isShapeObject <node> возвращает true, если <node> является одним из объектов-сплайнов или false, если не является.
hide <node> скрывает объект. (unhide <node> – показывает)
clearSelection() снимает любое текущее выделение.
select <node> снимает текущее выделение и выделяет заданный объект(ы). Пример: select $box*
selectMore <node> добавляет заданные объекты к набору уже выделенных.
deselect <node> снимает выделение с заданных объектов.
deselectNode <node> снимает выделение только с одного объекта.
distance <node1> <node2> вычисляет расстояние между опорными точками двух заданных объектов.
Характерные точки объектов
<node>.pivot=<point3> опорная точка объекта (место, где находятся локальные оси координат)
<node>.center=<point3> центр габаритного контейнера объекта.
Пример: b=box(); b.pivot=[100,200,300] --перемещаем опорную точку
Системы координат
Любые изменения геометрии объектов происходят в текущей системе координат. Соответственно, в разных системах координат, они будут работать неодинаково.
Текущая система координат определяется при помощи ключевого слова coordsys:
[in] coordsys world мировая система координат (МСК).
[in] coordsys local локальная система координат объекта.
[in] coordsys parent система координат объекта-предка данного объекта.
[in] coordsys grid система координат активной в данный момент сетки.
[in] coordsys screen система координат активного окна проекции.
[in] coordsys <node> система координат определенного объекта.
[in] coordsys <matrix3> система координат, определяемая заданной матрицей.
Пример: in coordsys local selection.pos=random [-20,20,20] [20,20,20]