Толкаем вверх, тянем вниз

Здесь вы увидите несколько строк программы, которые определяют динамику выброса огня. Мы не будем менять эти сложные выражения, а просто кое-что добавим в самом их начале. Наше добавление изменит интенсивность испускания огня до нуля, когда тор погрузится ниже линии горизонта (когда значение его атрибута Translate Y (Значение перемещения по оси Y) будет меньше нуля).

Для записи новых строчек вам нужно знать полные имена для значений перемещения по оси Y и интенсивности испускания. Значение перемещения по оси Y объекта nurbsTorusl – nurbsTorusl.translateY. Полное имя для интенсивности испускания вы можете найти в первой строке уже существующего выражения; это emitter!.rate.

  1. Добавьте следующие три строки перед уже существующими выражениями (рис. 20.10). Не забудьте о точке с запятой:

if (nurbsTorusl.translateY < 0)

emitterl.rate = 0;

else.

[vedastore.net]

Рис. 20.10. Три новые строки программного кода в окне Expression Editor (Редактор Выражений) погасят пламя тора, когда тот опустится ниже линии горизонта. Когда он снова поднимется, введенные строки уже не будут к нему применяться, и пламя зажжется снова

  1. С этого места выражение продолжится исходным кодом. Введите изменения, нажав кнопку Edit (Редактирование).

В примерном переводе эти строки означают для MAYA следующее: "Если значение атрибута Translate Y (значение перемещения по оси Y) меньше нуля, убавьте интенсивность испускания до нуля; в противном случае делайте то, что вы обычно делаете".

Теперь, при воспроизведении анимации, хвост пламени оторвется от тора, как только тор опускается слишком низко, и появится снова, как только тор поднимается над горизонтом (рис. 20.11).

[vedastore.net]

Рис. 20.11. Пылающий хвост отрывается от тора, как только тор опускается слишком низко. Слева – изображение, полученное в результате рендеринга с помощью полупрозрачной Checkerboard (Шахматная доска), служащей поверхностью горизонта

А теперь кое-что новенькое. Приходилось ли вам выделять камеру, используя меню View (Вид)?