
Огонь в 3d Max. Реализация эффекта - Часть четвёрая
В операторе Shape Mark в 1 | разделе Contact Object (Объект взаимодействия) в качестве объекта взаимодействия укажите Box 01. Параметры Width (Ширина), Length (Длина) и Impact Angle Distortion (Искажение угла взаимодействия) этого оператора установите в значение 200. Выставьте переключатель Box Intersection, а в поле Box Height введите значение 0,01. Создайте новый материал и назовите его Scorch Mark. Образцу Diffuse определите черный цвет, а затем включите режим Self Illumination. Добавьте в ячейку установки прозрачности карту Mask и в обе ячейки этой карты добавьте радиальные градиенты. Для градиентной карты в ячейке Map установите образец Color 2 в цвет RGB 25, 25, 25, а образец Color 3 — в цвет RGB 65, 65, 65. Параметру Noise Amount задайте значение 0,5, а параметру Size — значение 5. Добавьте в событие оператор Material Static и создайте в этом операторе экземпляр материала Scorch Mark. Добавьте в событие критерий Spawn, выставьте переключатель Per Second (В секундах), а в поле Rate введите значение 3. Перетащите на холст оператор Shape Facing, чтобы создать новое событие, которое назовите Smoke (Дым). Свяжите выход критерия Spawn события Scorch Mark со входом нового события.

Очень сложный этап, хотя и не вызывающий затруднений с пониманием. В операторе Shape Mark выбран тип взаимодействия Box Intersection, что позволяет избежать наложения результирующей системы частиц на объект Box 01 сцены, представляющий стену, а также обжигания (благодаря правильно заданным материалам) неба и окружающей стену листвы. Параметр Angle Distortion применяется в предположении, что огонь огибает стену и создает вдоль нее обугленную полосу (в зависимости от угла попадания на нее частиц), а не однородное пятно.
В новом операторе Shape Facing установите параметр Size в значение 40, а параметр Variation — в значение 50. Добавьте оператор Force, после чего включите в его список Space Warps искривление пространства типа Wind (Ветер). Добавьте еще один оператор Force с искривлением пространства типа Gravity (Притяжение), как и прежде, включив его в список Space Warps. Параметру Influence задайте значение -30. После этого добавьте в событие операторы Material Dynamic и Delete, в качестве условия удаления в операторе Delete выберите By Particle Age с параметром Variation, установленным в значение 20. Создайте экземпляр критерия Collision из события Flames и вставьте его в текущее событие. Назовите новый материал Smoke, его параметру Diffuse задайте цвет RGB 45,45,45, включите режим Face Map, в а поле Self-Illumination введите значение 100. Добавьте в ячейку Opacity карту Mask, а в ячейку Map карты Mask — карту Gradient, указав в качестве ее типа Radial. Образцу Color 2 задайте цвет RGB 45,45, 45, а образцу Color 3 — цвет RGB 80, 80, 80. В ячейку Mask одноименной карты добавьте карту Particle Age и поменяйте местами образцы цветов Color 1 и Color 3. Образцу Color 1 назначьте цвет RGB 175,175,175, а образцу Color 2 —цвет RGB 115,115^115. Создайте экземпляр этого материала в ячейке оператора Material Dynamic события Smoke. Измените положение отражающей стены так, чтобы она располагалась внутри объекта Box 01.

Еще один длинный этап, но не менее красноречивый, чем предыдущий. Мы применяем оператор Shape Facing без указания лицевого объекта, что позволяет расположить частицы параллельно объекту, который генерирует их. Этот прием не совсем обычен, но он прекрасно срабатывает в нашем примере, поскольку нам не нужно, чтобы частицы пересекались с обгоревшим пятном на стене. Оба оператора Force призваны подкорректировать движение частиц, направив их несколько вверх (Gravity) и добавив в направление перемещения фактор произвольности (Wind). Критерий Collision предотвращает пересечение частиц со стеной. Оператор Delete настроен так, чтобы в зависимости от возраста частиц изменять карту Particle Age. Отражатель потока частиц (Deflector Wall) изменил свое положение так, чтобы частицы дыма пересекались с ним, иначе они будут рождаться за ним.
Скопируйте событие Flames или воспользуйтесь командой Paste Instanced по отношению к холсту, чтобы создать новое событие. Назовите новое событие Spray. Удалите из него операторы Rotation, Spin, Material Dynamic и Force, а также критерий Collision. Выделите операторы Birth, Speed, Shape Facing и Delete, после чего сделайте их уникальными. Перейдите к оператору Birth и установите параметр Amount в значение 5000. В операторе Speed задайте параметру Divergence значение 10. Выделите оператор Shape Facing и приравняйте его параметру Size значение 1,5, а параметру Variation значение 50. В операторе Delete параметру Life Span задайте значение 2, а параметру Variation — значение 1. Добавите в текущее событие оператор Material Static, а затем ячейке этого оператора назначьте материал Spray. Свяжите выход корневого события Flamethrower со входом текущего события. Щелкните правой кнопкой мыши на текущем событии, выберите Properties (Свойства), выставьте опцию Image Motion Blur (Размытие движения), а параметр Multiplier приравняйте значению 2.

Снова-таки, поскольку большинство настроек уже задавались нами, не стоит заниматься настройкой системы частиц «с нуля». Достаточно изменить отдельные параметры исходной системы, внеся в нее минимальные правки. Как вы можете заметить, в нескольких событиях применяются подобные настройки, например параметры оператора Position Icon, которые можно изменить в дальнейшем или адаптировать к новому фоновому изображению, если возникнет необходимость. Настройка Image Motion Blur с увеличенным значением параметра Multiplier используется для размытия окружающего пространства, а потому создания иллюзии искажения «картинки» нагретым до высокой температуры воздухом. Кроме того, она позволяет эффективнее наложить спрайты, заполняющие любые пустые промежутки в пламени.
