Создание эффекта горячего выхлопа

Материал из Blender3D.

Перейти к: навигация, поиск

Создание эффекта горячего выхлопа с использованием Смещающего нода

Содержание

Введение

Время от времени на форумах возникают вопросы о нестандартных эффектах в 3д приложениях: Как имитировать перемещение горячих воздушных масс? Мы все видели это в жизни - волнистый воздух как в Формуле 1, выхлоп реактивных двигателей и воздух над огнями туристического лагеря. Несмотря на это, следуя теме этого номера, мы будем использовать эффект в космической сцене.

Рендеринг фона

Вход displace нода достаточно прост: нужна картинка, которая будет деформировать и смещающий фактор в форме вектора. В этом примере я буду использовать генератор частиц для каждого двигателя, который будет генерировать серию черных и белых картинок для использования их в качестве смещающего фактора для нода. Непонятно? Следуйте за шагами и все станет ясно. Для простоты и скорости, это статичная сцена(For reasons of simplicity and speed, this is a static scene). Космический корабль разогревает свои двигатели и готовится к запуску. Частицы единственный движущийся элемент. Загрузите файл engine_warmup_start. Сцена настроена и освещена, поэтому идите вперед и нажмите кнопку Render. Имейте ввиду что сцена тяжеловесна полигонами и освещением, рендеринг может занять некоторое время. От качества этой картинки будет зависеть качество конечного результата. Так что идите сделайте кофе, а когда картинка будет готова сохраните ее как Viper.png. Вы можете указать что элементы в сцене находятся на первых трех слоях, поэтому только эти слои являются отображаемыми.

Render layers

Создание Частиц

Предполагается что каждый двигатель создает горячую волну, поэтому мы создадим для каждого генератор частиц. Добавим плоскость, назовем ее Particle_emitter_1, нажмем Alt+R для того чтобы стереть ее вращение, после вращайте ее так чтобы она была в вертикальной позиции, и разместите ее внутри левого двигателя, только позади голубых огней, которые освещают фюзеляж.

Размещение первого эмиттера

Сейчас нажмите F7 дважды для вызова окна эффектов, и настройте систему частиц с такими опциями (они были получены путем эксперимента, так что их можно изменить при желании). Amount: 8520 (нам их нужно совсем немного) Start frame: -100 (мы хотим создать впечатление того что двигатели уже запущены в начале анимации) End frame: 100 (для тех кто хочет создать длительную анимацию) Настройте чтобы частицы испускались вершинами(Verticles) и гранями (Faces), имели исходную Normal скорость 0,44 и фактор Random 0,05. Запомните, колебание всегда обязательно (это будет причиной того, что частицы будут распространятся от фюзеляжа, подобно настоящим газовым массам).

Опции частиц

Как обычно следующим шагом будет настройка материала. Нажмите F5, после этого нажмите Halo над разделом Render Pipeline. Настройте Halo size 0,180 (этот размер важен и я его объясню далее), а сейчас установите Halo color чисто белым. Вы также должны указать что sky color в настройках world является черным. Нам нужен контраст, чтобы получить визуализированную картинку частиц для смещающего (displace) нода для получения правильного эффекта. Пока вы на первом кадре нажмите I и вставьте Alpha key. Перейдите на кадр 25 и установите Alpha равное 0 и добавьте другой кадр (key). Мы делаем это для того чтобы частицы постепенно исчезали по мере удаления от эмиттера. Настройте кривые анимации если считаете это необходимым. Сейчас мы имеем полностью готовый генератор частиц. Выделите его, нажмите M и переместите его на 4-й слой. Сейчас нам нужно еще два генератора для двух других двигателей. Дублируйте (Shift+D) эмиттер частиц дважды и разместите новые генераторы частиц в соответствии с положением двигателей. Не создавайте связанный дубликат (Alt+D), потому что будет неплохо настроить систему частиц для каждого двигателя индивидуально (со смещенными стартовыми значениями), таким образом будет создано уникальное поведение каждой группы частиц для любого кадра. Настройте значение start для второго эмиттера -104 и -110 для третьего. Если все настроено корректно, вы должны увидеть в кадре 1 нечто похожее на это (только слои 3 и 4 видимые).

Все эмиттеры в действии

Нажмите Alt+A для просмотра анимации. Частицы отдаляются от корабля с достаточной скоростью и колебанием, теперь мы готовы к их рендерингу. Нажмите F10 и выставите End frame 100. Это даст нам 4 секунды анимации, достаточно хорошо демонстрирующей этот эффект. Однако, помните что мы хотим рендериндить только частицы, без других частей сцены. Перейди к Render Layers, нажми только на 4-ом слое. После нажмите кнопку Anim. Хотя эти сто картинок нам необходимы, они будут визуализироваться значительно быстрее, чем фоновая картинка - это всего лишь частицы. Как только они будут готовы мы можем приступить к реально крутым вещам.

Render layers  для частиц

Совмещение

Сейчас у вас должна быть картинка "Viper.png" и серия 100 картинок названных типа 0001.png, 0002.png и так далее вероятно в папке /tmp (С:\tmp для Windows) или там куда вы настроили. Нажмите Ctrl+X для очистки сцены и начинайте монтаж композиции. Прежде всего, настройте размер 800*450. После этого настройте конечный кадр 100, и нажмите кнопку 'Do Composite' и выберите формат avi и кодек для финального рендера. Переключите окно на редактор нодов, и нажмите правую маленькую кнопку на заголовке, которая переключит вас на окно композитного нода (composite node). После этого удалите нод результата (render result node), так как мы будем работать только с нашими визуализированными картинками. Добавьте нод Input-Image и загрузите картинку "Viper.png". Добавьте нод Distort-Displace и соедините выход из image нода с входом displace нода, после соедините результат displace нода с нодом composite. Добавте другой image-нод и на этот раз выберите первую картинку с частицами, 0001.png. Это будет первая картинка из последовательности. Нажмите маленькую серую иконку с лицом справа внизу Image-нода и выберите Sequence. Сейчас Blender будет использовать различные картинки частиц для каждого кадра. Внимание: У вас вручную определено количество картинок в последовательности, в этом выборе 100. Соедините выход входом vector нода displace ,измените X и Y значения на 7 (ничего слишком экстремального, рельеф должен быть едва различимый). Значения белых частиц будут умножаться с X и Y значениями, что даст нам смещение.

Первичные настройки нода

Будет более эффектно, если мы не будем ограничиваться одним фактором displacement, таким как последовательность частиц, которая может прекрасно выглядеть. К счастью, мы можем сделать это без труда. Мы будем использовать ту же последовательность частиц только с легким смещением, для добавления некоторой 'глубины' смещению для того чтобы скрыть возможные 'дыры'. Поэтому добавляем еще один displace и еще один image нод, и настраиваем их как здесь. Внимание: второй нод не должен иметь перемещений в двух последних кадрах, поэтому нажмите кнопку 'Cyclic' что даст возможность использовать кадры циклически.

Вторичные настройки нода

Важно что второе смещение имеет multiply values равные 3, в отличии от 7, так как это всего-лишь 'вспомогательный эффект'. Также, мы не чтобы уравновешивался эффект с первым нодом. Сейчас все готово чтобы нажать ANIM еще раз. Когда видео будет готово вы можете настроить свой медиаплеер на циклическое проигрывание файла. Движение частиц является случайным в любом случае, поэтому вы не заметите где видео начинается, а где заканчивается.

Важные факты

Как я сказал ранее, величина белого на картинке, которая используется как вход для displace нода (или точнее сказать, величина яркости) это то, что определяет насколько фактически будет смещение на картинке. Однако более важным значением для нашего эффекта является постоянное изменение цветовых значений в любой части картинок частиц. Не достаточно иметь белую область на картинке на протяжении всей анимации. На анимации это будет выглядеть так, как будто смещения нет совсем! Что реально нужно - это постоянное изменение смещения. Именно поэтому нам нужно было сравнительно малое количество частиц, чтобы белый постоянно сменялся черным, или промежуточным значением, создающим мерцающий эффект на картинке. Следующий пример сделает данный факт более понятным. Картинка слева показывает наши текущие частицы с размером size 0,180 (кнопки material). На правой они визуализированы с size 0,280. На областях отмеченных красным, белый цвет находится на всей последовательности, поэтому это не даст желаемого результата.

Вывод

Имейте ввиду, что displace ноды могут также использовать геометрию как вход, не только картинки, что расширяет возможности по его использованию. Практическое применение этого может быть создание эффекта "невидимый человек", или что-то другое. Используйте свое воображение, и удачного блендинга!

Спасибо людям из BlenderGalactica.com за хорошую модель Viper и ее окружение.


Kostis Karvouniaris

Личные инструменты