Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CompGraphicsRGUIT.doc
Скачиваний:
72
Добавлен:
21.04.2014
Размер:
2.03 Mб
Скачать

Анимация с помощью контроллеров положения

  1. Открыть файл World_Position.max с р

    Рис. 38. Настройка инструмента Circle.

    абочего диска.

  2. Включить привязку к координатной сетке.

  3. Раскрыть вкладкуShapesпанелиCreateи выбрать инструментCircle. Настроить инструмент так, как показано на рис. 38, чтобы построение происходило от центра окружности.

  4. В видовом окне Topпостроить окружность с центром в точке (0,0,0) и радиусом 120 единиц. Присвоить имяOrbit1.

  5. Ввидовом окнеTopпостроить окружность с центром в точке (120,0,0) и радиусом 50 единиц. Присвоить имяOrbit2.

  6. На командной панели раскрыть вкладку Motion.

  7. Выделить объект Earth.

  8. В свитке Assign Controller раскрыть список Transform: Position/Rotation/Scale и выделить строку Position: Position XYZ.

  9. Нажать на кнопку Assign Controller .

  10. В появившемся диалоговом окне Assign Position Controller выделить строку Path Constraint. Нажать на кнопку OK.

  11. Нажать на кнопку Add Pathна контрольной панели, затем щелкнуть мышкой по объекту Orbit1.

Таким образом назначают путь (орбиту) Orbit1объектуEarth.

  1. Выделить объект Moonи назначить ему путь (орбиту)Orbit2, используя те же приемы.

  2. Воспроизвести анимацию. При правильном выполнении упражнения Земля и Луна будут двигаться каждая по своей орбите.

  3. Остановить воспроизведение анимации и поставить движок анимации на нулевой кадр.

  4. Сохранить сцену на рабочем диске.

  5. Выделить объект Orbit2. Нажать на кнопкуAssign Controller. В появившемся диалоговом окне Assign Position Controller выделить строку Position Constraint.

  6. Нажать на кнопку Add Position Targetна контрольной панели, затем щелкнуть мышкой по объектуEarth.

Таким образом связывают движущийся объект Earth с орбитой Луны.

  1. Воспроизвести анимацию. При правильном выполнении упражнения Земля будет двигаться вокруг Солнца, а Луна – вокруг Земли.

  2. Сохранить сцену на рабочем диске.

Недостатком полученной анимационной сцены является то, что угловые скорости Земли и Луны одинаковы, поэтому движение получается неестественным. В качестве упражнения попытайтесь увеличить угловую скорость Луны, клонируя имеющиеся ключевые кадры и расставляя их в промежуточные позиции панели Track bar.

Описание анимационных эффектов в виде математических выражений

  1. Открыть файл World_Expression.max с рабочего диска.

  2. Открыть окно параметров анимации . Установить количество кадров (Frame Count) = 30.

  3. На командной панели раскрыть вкладку Motion.

  4. Выделить объект Earth.

  5. В свитке Assign Controller раскрыть список Transform: Position/Rotation/Scale и выделить строку Position: Position XYZ.

  6. Нажать на кнопку Assign Controller.

  7. В появившемся диалоговом окне Assign Position Controller выделить строку Position Expression. Нажать на кнопку OK.

  8. В правом верхнем поле ввода окна Expression Controllerдолжно быть векторное выражение, описывающее текущее расположение Земли:

[ 120, 0, 0 ]

Эти числа соответствуют координатам объекта по осям OX,OY и OZ соответственно.

  1. Заменить это выражение следующим:

[ 130, 0, 0 ]

и нажать на кнопку Evaluate. Сфера (модель Земли) должна переместиться на 10 единиц вправо.

Отсюда видно, что можно описывать расположение объекта в пространстве, вводя числа, или функции и нажимая на кнопку Evaluate.

  1. Еще раз изменить выражение, описывающее положение объекта:

[ 120*cos(NT*360), 120*sin(NT*360), 0 ]

  1. Включить воспроизведение анимации и наблюдать движение Земли вокруг Солнца.

  2. Закрыть окно Expression Controller.

  3. Выделить объект Moon и назначить ему контроллер выражения, как описано в пп.4 – 6.

Для привязки орбиты Луны к объекту Earth понадобится векторная переменная, связанная с этим объектом.

  1. В

    Рис. 39. Создание векторной переменной.

    окно ввода, помеченное Name, ввести имя новой переменной: epos, как показано на рисунке 39. Отметить положение переключателя Vector. Нажать на кнопку Create.

  2. Рис. 40. Список объектов

    Нажать на кнопку Assign to Controller. В появившемся диалоговом окне раскрыть список Objects (см. рис. 40) и выделить строку Earth. Нажать на кнопку OK.

  3. Заменить выражение, описывающее положение объекта, следующим:

[ epos.x+50*cos(360*NT), epos.y+50*sin(360*NT), 0 ]

и нажать на кнопку Evaluate

  1. Включить воспроизведение анимации и наблюдать движение Земли вокруг Солнца и Луны вокруг Земли.

Угловые скорости небесных тел получились одинаковыми, поэтому движение кажется неестественным.

  1. Для увеличения угловой скорости объекта в 4 раза добавить соответствующие множители:

[ epos.x+50*cos(360*NT*4), epos.y+50*sin(360*NT*4), 0 ]

  1. Нажать на кнопку Evaluate и воспроизвести анимацию.

  2. Вытянуть орбиту вдоль оси OX, изменив выражение:

[ epos.x+60*cos(360*NT*4), epos.y+50*sin(360*NT*4), 0 ]

  1. Нажать на кнопку Evaluate и воспроизвести анимацию.

  2. Сохранить сцену на рабочем диске.