3ds Max 2008. Секреты мастерства
Шрифт:
4. Выделите звено и создайте его копию. Для этого воспользуйтесь командой главного меню Tools Snapshot (Инструменты Снимок). В открывшемся одноименном окне установите переключатель в положение Range (Диапазон) и задайте следующие значения параметрам: From (От) – 0, To (До) – 89 и Copies (Копии) – 90. В качестве метода клонирования выберите Instance (Образец) (рис. 8.69).
Рис. 8.68. Свиток Path Parameters (Параметры пути) настроек контроллера
Рис. 8.69. Настройки
ПРИМЕЧАНИЕ
Значение параметра To (До) равно 89, потому что, выполнив полный круг по замкнутой форме, объект вернется в начальное положение.
Результат клонирования одного звена представлен на рис. 8.70. Таким же образом строятся и другие статические последовательности объектов, например элементы ограждения, столбы, кнопки и даже ресницы.
Рис. 8.70. Копии звеньев, созданные с помощью инструмента Snapshot (Снимок)
Итак, приступим к анимации. Выполнить вручную анимацию такого количества объектов достаточно сложно, даже если речь идет о простом повторении нескольких операций. Все было бы просто, если бы нам пришлось настроить анимацию двух или даже десяти звеньев, но у нас их девяносто. Придется обратиться к макросценарию, который позволит автоматизировать этот процесс. Звучит пугающе, но попробуем все сложности свести к минимуму.
Сохраните и закройте выполненную сцену. Затем загрузите с прилагаемого DVD начальный файл данного упражнения trackstart.max из папки Examples\Глава 08\Track.
Программа 3ds Max обладает возможностью отслеживать и записывать почти все команды и действия, выполняемые в процессе работы. Делается это при помощи модуля MAXScript Listener (Интерпретатор MAXScript). Его окно можно открыть, выполнив команду главного меню MAXScript MAXScript Listener (MAXScript Интерпретатор MAXScript) или нажав клавишу F11. Мы используем его в качестве основного источника списка будущих макрокоманд. Но сначала рассмотрим кратко, что нам надо будет сделать для создания анимированной гусеницы.
В первую очередь нам понадобится анимировать имеющееся звено при помощи контроллера Path Constraint (Ограничение по пути). Затем, используя единственный анимированный параметр этого контроллера (процент пути, пройденный звеном гусеницы в пределах анимированного участка), привяжем к нему созданные копии этого объекта, выполнив их относительное смещение. Таким образом, мы получим один родительский объект, который позволит управлять скоростью движения всей гусеницы путем изменения времени прохождения этим объектом полного цикла. Иными словами, изменяя время, за которое одно звено гусеницы пройдет полный круг.
Начнем с настройки записи макрокоманд. Откройте окно MAXScript Listener (Интерпретатор MAXScript), для чего используйте либо одноименную команду главного меню MAXScript, либо клавишу F11. В появившемся окне выполните команду меню MacroRecoder Enable (Запись макроса Включить) для включения записи всех производимых команд (рис. 8.71).
Рис. 8.71. Настройки меню MacroRecoder (Запись макроса)
В результате окно интерпретатора разделится на две части: в верхней будут выводиться макрокоманды, соответствующие выполняемым действиям, а в нижней – отладочная информация. Одновременно нижнее окно является и полем для ввода макрокоманд. Посмотрим,
и убедитесь в том, что макрос создал копию объекта track.
Рис. 8.72. Окно редактора макрокоманд
Итак, вы написали свой первый макрос (если, конечно, не делали этого ранее) и проверили его исполнение. Дополним его необходимыми командами и напишем полный цикл создания и редактирования новых звеньев.
В первую очередь нужно анимировать движение звена по пути и получить эту часть макрокоманды для записи в код. Для этого выполните следующее.
1. В одном из окон проекций выделите звено (объект track).
2. Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку Position: Position XYZ (Положение: положение по XYZ) (рис. 8.73).
3. В этом же свитке щелкните на кнопке Assign Controller (Назначить контроллер)
и в появившемся окне Assign Position Controller (Назначить контроллер положения) выберите строку Path Constraint (Ограничение по пути) (рис. 8.74).
4. В свитке Path Parameters (Параметры пути) щелкните на кнопке Add Path (Добавить путь) и в одном из окон проекций укажите на сплайн пути track_path.
5. В этом же свитке в области Path Options (Параметры пути) установите флажки Follow (Следовать) и Allow Upside Down (Разрешить переворачиваться). В области Axis (Оси) выберите ось Y и установите флажок Flip (Обратить). Как вы видите, настройки такие же, как и для построения статических копий звена (см. рис. 8.68).
После выполнения описанных операций откройте окно MAXScript Listener (Интерпретатор MAXScript). Выделите и переместите в окно редактора макрокоманд пять последних строк, относящихся к выбору и настройке контроллера Path Constraint (Ограничение по пути) (рис. 8.75).
Если бы мы сейчас запустили на выполнение этот код, то у нас было бы создано еще одно звено, а копии звена с именем track01 был бы присвоен контроллер Path Constraint (Ограничение по пути). Но обратите внимание на то, что, когда мы выбирали сплайн пути, интерпретатор не внес соответствующую строку в список выполненных операций. В связи с этим в конец кода необходимо дописать в окно редактора следующую строку: $.pos.controller.path=$track path.
Рис. 8.73. Свиток Assign Controller (Назначить контроллер) настроек объекта track