Burn Them All!

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

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

Поджарим их всех!

byFrançoisGrassard

Перевод Evgeny

Содержание

Введение

Создание реалистичного огня было одним из самых больших вызовов в моей жизни CG художника. За много лет я пробовал разные техники для симуляции подобного эффекта. После использования простых анимированных объектов c с похожими шейдерами, частиц, спрайтов, жидкости, и даже метаболов со специальными настройками композиции (наподобие того, что использовалось в Шреке), я наконец изобрел метод создания идеального анимированного огня.

Для начала, я должен сказать что данная техника придумана не мной. Первым, кто показал мне этот метод был великий Алан Мак Кей (Alan McKay), один из лучших художников частиц. Последний год я писал уроки для французской редакции "Computer Arts" про Ghost Rider и как симулировать огонь в 3ds Max и особенно в Particle Flow. Я пересмотрел все видео Алана, включающие одно, которое показывало как создать огонь, используя Pflow.

Анимация огня была достаточно реалистичной, но рендер все еще выглядел достаточно искусственно. Я взял мой рендер, загрузил его в After Effects и попытался подкорректировать его и добавить несколько эффектов. Наконец, я добился своего и создал самый реальный огонь из тех, что когда либо делал. Когда я дописал мой урок для журнала, я открыл для себя первую сборку патча для частиц Джакха (Jakha) на Graphicall.org. Я прочитал все логи и был действительно удивлен всеми возможностями патча. Все что нужно было для токого же эффекта это только Блендер, который является законченным инструментом для композиции, включающий различные эффекты (в частности Векторное размытие и Ноды Смещения).

выдохся
подхватил 

Ради шутки, за несколько ночей проведенных только за Блендером я полностью выбился из сил - все это я раньше я делал в 3ds Max и After Effects. Это один из множества примеров которые показывают что Блендер может быть использован для создания всех видов эффектов. Что ж, готовы к поджогу? Поехали!!!

А) Создаем эмиттер и группу вершин:

Шаг 01:

Для начала, нам нужен обьект для поджога. Добавим новый новый примитив в нашу сцену, например Сюзанну (Обезьянку).
Увеличить

Шаг 02:

Переключитесь в Edit mode используя клавишу Tab и снимите выделение со всех вершин клавиша [А].
Увеличить

Шаг 03:

Нажмите [Пробел] и выберите Select >Random. .
Увеличить

Шаг 04:

Поставьте параметр random 40% и нажмите "OK". Будут случайно выделены некоторые вершины.
Увеличить

Шаг 05:

Теперь, когда ваши вершины выделены, вы должны создать новую группу вершин (Vertex Group). Для этого, нажмите [F9] чтобы перейти к параметрам редактирования (Editing), и на панели Link and Materials нажмите кнопку "New" для того чтобы создать новую группу вершин. Назовите ее

"Emivert" а затем нажмите "Assign", которая находится ниже кнопки "New".

Увеличить

Шаг 06:

Нажмите клавишу Tab чтобы выйти из режима редактирования (Edit mode), выделите Сюзанну, и нажмите [Shift+O] чтобы добавить модификатор Sub-surf.
Увеличить

Шаг 07:

Оставьте выделенным меш Сюзанны и нажмите [F7] несколько раз, пока вы не окажитесь на панеле частиц (particle). Нажмите "Add New" для того чтобы добавить новую систему частиц (a.k.a. "Psys") к вашему объекту.
Увеличить

Шаг 08:

Сейчас вам нужно сохранить сцену где-нибудь на жестком диске, потому что Blender создаст новую директорию для кеша системы частиц там, где ваш ".blend"
Увеличить

Шаг 09:

Оставьте выделенным меш Сюзанны и перейдите на панель "Physics". Установите "Random" равный 0.5, "AccZ" = 8.0 и "Brown" = 5.0. частицы идут вверх и некоторые из них случайно дрожат в соответствии со значением "Brown".
Увеличить

Шаг 10:

На панели Particle System, настройте значение "Amount" = 3500, "End" = 150 и "Life" = 25. В "Emit From", отметьте "Random" и "Even" и переключите с "Jittered" на "Random".
Увеличить

Шаг 11:

На панели Extras, access the "Neg" drop-

down menu in the Vertex group section и выберите группу "Emivert" которую вы ранее создали. Сейчас частицы будут испускаться только из тех вершин, которые находятся в этой группе вершин!

Увеличить

Шаг 12:

Перейдите на панель Bake, которая находится рядом с панелью Particle Sys-

tem. Поставте параметр "End" = 150 и нажмите "Bake". Blender создаст новую директорию, там же где и ваш ".blend" файл на вашем жестком диске и заполнит ее пакетами файлов(один для каждого кадра анимации). Вся кешированная информация будет хранится здемь.

Увеличить

B) Генерируем связку сфер:

Шаг 01:

Содайте новую Icosphere

и поставте параметр "Subdivision" равный 3, затем нажмите клавишу Tab для того чтобы выйти из режима редактирования и нажмите [Alt+R], затем [Alt+G] для того чтобы сбросить параметры вращения и расположения. разметите Icosphere в центре координат мира (world coordinates).

Увеличить

Шаг 02:

Анимируем размер сферы во времени. Создаадим первый клычевой кадр в кадре 1 и ставим Scale по координатам X, Y и Z почти равным нулю. В кадре 10, создадим новый ключевой кадр и поставте все три параметра равными 0.2. В конце, создадим последний ключевой кадр в 30 и поставим параметр scale равным нулю. Потяните касательную кривой (в редакторе Ipo Curve)чтобы создать что-то наподобии параболы.
Увеличить

Шаг 03:

Выделите Icosphere и добавте к нему новый шейдер. На панеле матереалов, поставте "Col" (цвет) равный Hex коду D77503, и "Spe" (зеркальность)равное F7F69B. Поставте "A" (прозрачность) равное 0.2 и нажмите кнопку "ZTransp" (на панели Links and Pipeline) для того чтобы активизировать прозрачность без рейтрейсинга.
Увеличить

Шаг 04:

На панели Shaders, поставте "Spec" равное 2.0 и "Hard" равное 200. Не активируйте Raytracing (ни "Ray Mirror" ни "Ray Transp"), потому что время рендера может быть очень большим time и параметр "Depth" никогда не будет высоким для получения достаточно хорошего результата.
Увеличить

шаг 05:

Выделите ваш излучатель частиц (Сюзанну) и в параметрах частиц ,перейдите на панель Visualization. Нажмите на "Point" и измените ее на "Object". В поле "OB" тип "Sphere", относящуюся к анимированной икосфере. Нажмите на "Emitter", для того чтобы меш Сюзанны тоже визуализировался.
Увеличить

Шаг 06:

Выделите Сюзанну и додавте к ней новый шейдер, выберите черный цвет рассеивания (diffuse color) и нажмите кнопку "Shadeless". Это поможет визуализировать очертания излучателя emitter как будто огонь вычитается из него.
Увеличить

Шаг 07:

Нажмите [F6] несколько раз для того чтобы перейти на панель Texture-

tons, нажмите "World", затем "Add New", и выберите тип текстуры - "Clouds". Оставте все параметры по умолчанию и назовите ее "Turbulence".

Увеличить

Шаг 08:

Добавте новый объект Empty к нашей сцене(Spacebar>Add>Empty),выделите его и нажмите [F7] несколько раз, чтобы перейти к панеле Physics. На панеле Fields, в выпадаючем списке выберите "Texture" и введите "Turbulence" в поле "Texture". Перключите "RGB" на "Gradient" и поставте "Strength" равное 1.0.
Увеличить

Шаг 09:

Выделите Сюзанну, нажмите [Ctrl+B] и выберите "Free bake selected" затем [Ctrl+B] снова and "Bake selected" чтобы удалить и снова создать кеш (после того как мы только что вписали новое поле "Texture").
Увеличить

Шаг 10:

Добавте камеру и лампу к вашей сцене и поставте энергию лампы равную 3, затем передвинте ее вперед в зону выше и правее вашей системы частиц, между частицами и вамерой.
Увеличить

Шаг 11:

Додавте новую решетку Lattice к вашей сцене, и поставте "U" и "V" параметры равные 2, а параметр "W" равный 5.
Увеличить

Шаг 12:

Используя клавишу Tab перейдите в режим редактирования (Edit mode) и выделите все контрольные точки Lattice используя клавишу [A]. Создайте новуе группу вершин, назовите ее "Lattice_Points" и нажмите "Assign".
Увеличить

Шаг 13:

Выйдите из режима редактирования, выделите Сюзанну и добавте к ней новый модификатор Lattice. Введите имя вашей решетки (lattice) в поле "OB" и в поле "VGroup" введите "Lattice_Points", для того чтобы смещать только частицы, а не излучающий меш..
Увеличить

Шаг 14:

Выделите решетку, переключитесь в режим редактирования и переместите верхние точки в связку и из вида сверху немного перекрутить точки (чтобы пламя имело закрученный вид - прим. пер.). Когда это сделано, покиньте режим редактирования и нажмите Play используя [Alt+A], чтобы посмотреть вашу анимацию.
Увеличить

C) Рендеринг и композиция:

Шаг 01:

Сейчас, когда настроена анимация вашего огня, мы должны добавить финальный магический штрих используя инструменты композиции. Нажмите [F10] в Buttons window для того чтобы перейти к параметрам рендера. Перейдите на панель "Render Layers" и нажмите кнопку "Vec".
Увеличить

Шаг 02:

Откройте редактор нодов (Node Editor), выберите "Composite Nodes" и "Use nodes". Здесь должны быть нод RenderLayers и нод Composite. Если их нет, добавте их, используя Add>Input>RenderLayers и Add>Output>Composite.
Увеличить

Шаг 03:

Для следующего нода используйте Add>Filter>Vector

Blur , и соедините и соедините выходы "Image", "Z" и "Speed" нода Render Layer с такими же входами нода Vector Blur. Нажмите кнопку "Do Composite" на панели Anim, и запустите рендер, используя [F12] чтобы увидеть текущую композицию. Только с этой настройкой, мы уже превратили наши сгустки сфер в неплохой огонь.

Увеличить

Шаг 04:

Далее используйте Add>Distort>Scale и подключите выход "Image" нода Vector Blur к такому же входу нода Scale, затем поставте "X" и "Y" параметры равные 1.05.
Увеличить

Шаг 05:

Добавте нод Vector>Map Value, настройте параметр "Offs" равный - 0.50 и соедините выход "Image" нода Scale с входом "Value" нода Map Value.
Увеличить

Шаг 06:

Добавте Distort>Displace нод и настройте "X Scale" и "Y Scale" равными -10. Подключите выход нода Map Value node к входу "Vector" нода Displace; а сейчас выход "Image" нода Vector Blur с входом "Image" нода Displace.
Увеличить

Шаг 07:

Добавте Converter>ColorRamp нод и передвиньте черный маркер вправо, где-то на 60% позиции градиента. Подключите выход нода Displace к входу "Fac" нода ColorRamp.
Увеличить

Шаг 08:

Добавте Color>Mix нод переключитесь с режима "Mix" на "Add". Установите параметр "Fac" равное 1.0, и подключите выход нода Displace к первому входу "Image" нода Аdd и выход ColorRamp ко второму входу "Image".
Увеличить

Шаг 09:

Дублируйте нод Add используя [Shift+D] и установите "Fac" дублируемого нода 2.0. Добавте Filter>Blur нод, измените режим с "Flat" на "Gauss", а затем настройте "X" и "Y" равные 20. Подключите выход "Image" нода ColorRamp ко входу "Image" нода Blur. Подключите выход нода Blur ко вторыму входу "Image" нашего дублированного нода Add. , соедините выход оригинального нода Add в первый вход "Image" дублированного нода Add.
Увеличить

Шаг 10:

Добавте Color>RGB Curves нод, подключите выход нода Add с входом "Image" нода RGB Curves. Добавте две точки к кривой "C" измените профиль с mimic на exponential curve.
Увеличить

Шаг 11:

Добавте другуй нод Filter>Blur, и измените режим с "Flat" на "Gauss", а параметры "X" и "Y" равные 40. Добавте новый нод Color>Mix, переключитесь в режим "Add" и установите "Fac" 1.0. Соедините выход RGB Curves со входом "Image" нашего нового нода Blur и с первым входом "Image" нового Add нода. В конце, соедините выход Blur со вторым входом Image нода Add.
Увеличить

Шаг 12:

наконец, добавте Output>Viewer нод и соедините выход последнего Add нода со входами "Image" только что созданного нода Viewer, и оригинального нода Composite.
Увеличить

Шаг 13:

В Buttons window, нажмите [F10] чтобы перйти к настройкам рендера. Выберите желаемый формат (формат файла, компрессию и размещение) для вашего видео, запустите рендер для всех кадров вашей анимации нажав кнопку "Anim" или [Ctrl+F12].
Увеличить

Это огонь без дыма:

Используя новую систему частиц Блендера 2.46 (особенно "Reactor", который может генерировать систему частиц во время смерти другой), вы можете комбинировать этот урок про огонь с уроком про симуляцию дыма.

В ближайшем будущем в Блендер будет восстановлена прекрасная возможность (ранее интегрированная, но устаревшая в связи с проектом Peach), что сделает возможным редактирование всех типов частиц, а не только волосы/мех (hair/fur). С этой возможностью, вы сможете лепить контур вашего огня без использования решеток (lattice), как мы делали здесь.

Будущее системы частиц выглядит многообещающе, и Блендер не будет пристыженным своими возможностями, когда будет сравниваться с другим ПО.

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