Как использовать кисти Paintдля создания материалов?

Семинар 12: Симуляция дыма и огонь, динамическое окрашивание

Введение

На этом семинаре мы рассмотрим создание спецэффектов. В частности, огня, дыма и взрыва.

Огонь и дым

Для того что бы создать реалистичный дым и огонь нам потребуется два объекта. Первый будет источником огня, а второй так называемым доменом – областью, где дым или огонь будет распространяться. Сразу хочу заметить, что в Blender практически нет разницы между дымом и огнём так как они создаются с помощью одного механизма. Поэтому мы будет называть эффект и огнём, и дымом.

Для практики создай сферу для источника огня и создай куб для домена, расположи куб так, чтобы сфера находилась внутри куба. Измени масштаб куба.

Теперь самое главное – нужно назначить каждому из объектов задачи: кто будет доменом, а кто источником. Для этого выбери сначала источник (Сферу) и перейди на вкладку Физики. Включи поведение Smoke. Снизу появятся настройки для дыма. Переключи на вкладку Flow. Теперь ты можешь поменять тип источника в выпадающем списке FlowType. Есть четыре варианта: Fire, Smoke, Fire+SmokeиOutflow.

Fireдобавляет в симуляцию огонь, Smoke, соответственно, добавляет дым, а Outflowнаоборот удаляет дым и огонь из симуляции.

Теперь для домена выполни все те же действия, только в настройках физики выбери Domain, а не Flow.

Если ты сейчас запустишь анимацию, то увидишь, как из источника вверх поднимается огонь и дым (или что ты там выбрал в настройках источника).Но это ещё не всё. Дым (и огонь) нужно ещё настроить.

Настройки источника дыма

Flow Type–об этом уже было сказано выше.

Flow Source – это источник огня, может быть Mesh(сам объект испускает дым) или ParticleSystem(в качестве источника используется система частиц. Используется, когда нужно управлять частицами. Например, создать взрыв.

Surface – определяет максимальную дистанцию от поверхности меша для генерации дыма

Volume – фактор определяющий генерацию дыма внутри меша. В большинстве случаев должен быть равным 0.

Initial velocity – эта опция позволяет включить начальную скорость дыма, с которой он вылетает из меша.

Flame Rate – увеличивает огонь, если он есть.

Smoke Color – задаёт цвет дыма, если он есть.

Density – задаёт плотность дыма, если он есть

Sampling – позволяет задать дополнительные кадры для анимации. Используется, когда движение дыма очень быстрое. Максимальное значение шкалы subframes – 10.

Настройки домена

Resolution – определяет разрешение дыма, чем выше, тем выше качество. Не рекомендуется ставить этот параметр выше 64, если нет особых причин.

Time – параметр определяет скорость симуляции от 0.2 до 1.5.

TemperatureиDensity – определяют,какплотность и температура влияют на движение дыма. Чемвышезначения, тембыстрееподнимаетсядым.

Vorticity – определяет турбулентность дыма, его завихрения.

Dissolveи шкала Time – определяют будет ли дым пропадать через некоторое время (задается шкалой Time). Параметр Slowзамедляет исчезновение дыма.

Smoke Adaptive Domain – эту галочку желательно включать так как в таком случае Blenderвысчитает размеры домена сам. Таким образом анимация будет в разы быстрее.

Smoke High Resolution – включает режим высокого разрешения для дыма. Рекомендуется не включать до финальной стадии рендера, так как значительно повышает расход мощностей компьютера. Параметр Resolutionопределяет разрешение дыма.


Влияние на дым

На дым можно влиять с помощью сил, которые ты изучил в недавно и с помощью объектов, у которых в настройках физики дыма выставлено Collision. Тогда дым будет сталкиваться с предметом и пытаться его обогнуть. Если ты поместишь объект без таких настроек в огонь, то он пройдёт сквозь него.

На рисунке изображено влияние на дым с помощью силы Vortex.

В настройках домена имеется раздел FieldWeights. Он полностью соответствует аналогичному разделу при настройках частиц или мягкого тела. Так что освоить тебе его не составит труда.

Настройка материала для огня

Если ты сейчас выполнишь рендер, то увидишь лишь куб-домен. Но почему!? Ведь всё так круто было на симуляции, из-за чего сейчас всё не так? А потому что нам ещё нужно настроить материалы для огня. Для этого добавь новый материал к домену и войди в режим редактирования нодов (NodEditor).

Удобно включить рабочее расположение Compositing в верхней части экрана, а в окне рабочей сцены включить отображение Rendered. Так ты сможешь сразу видеть изменения материала. В окне NodEditorне забудь включить режим UseNodesи выбрать нужный материал.

Нам не нужен нод по умолчанию, который соединен с портом Surface так как наш домен не будет иметь материала на своей поверхности, только внутри. Удали DiffuseBSDF и добавь ноды как на картинке. В поле Nameнода Attributeвпиши «density».

Теперь дым выглядит более похожим на правду, да? «Но где огонь?» — спросишь ты. Для этого нам понадобится добавить ещё несколько нодов.


 

Добавь ноды как на картинке.

ВполеName нодаAttribute впиши «flame».Нод ColorRampиспользуется для того, чтобы придать огню плавно переходящий, натуральный цвет.

Voila! Теперь твой огонь совсем как настоящий.

Как быстро создать огонь?

Все эти действия можно сделать быстрее и проще, но мы обязаны были рассмотреть, как создаётся огонь, чтобы ты понял для чего нужен домен, а для чего источник.

Просто выбери объект, который будет источником, нажми пробел и напиши «smoke». Выбери QuickSmoke. Вот и всё. Эта комбинация повторяет то, что мы сделали до этого, только быстрее.

Динамическое окрашивание

Динамическое окрашивание — это мощный инструмент в создании различных эффектов. Например, шаги на снегу, протирание запотевшего стекла или даже копчение предметов под воздействием огня.

Основные принципы

Динамическое окрашивание состоит из двух частей: кисти и холста. В качестве кисти могут выступать как объекты, так и система частиц. А холст — этотот объект, на котором будут оставаться следы воздействия. Если взять пример следов на снегу, то нога – кисть, а заснеженная поверхность – холст.

Для того, чтобы создать систему динамического окрашивания нужно выбрать объект, включить ему на вкладке физики поведение DynamicPaint. И назначить его кистью или холстом, выбрав соответствующий тип и нажав на AddCanvas/Brush.

 


Настройкикисти

AbsoluteAlpha– эта опция ограничивает влияние альфа-канала кисти. Без неё кисть добавляется на хост снова и снова каждый фрейм, повышая альфа-канал и тем самым увеличивая влияние кисти на холст. В большинстве случаев галочку лучше включать для более реалистичного поведения.

ErasePaint – кисть становится ластиком и стирает то, что нарисовали другие кисти.

Wetness – определяет на сколько «мокрая» будет кисть. Влажность влияет на другие настройки.

Окошко выбора цвета позволяет выбрать цвет кисти.

Alpha – задаёт альфа-канал кисти.

Dynamic Paint Source

Здесьможновбиратьтиписточника кисти. Что будет красить наш холст.

Естьпятьтиповкисти: Mesh Volume, Proximity, Mesh Volume + Proximity, Object Center иParticle System. Каждый из типов имеет свои настройки.

Mesh Volume – настроек не имеет. Кистью являются все точки поверхности внутри меша.

Proximity – задаёт некий ореол окрашивания вокруг объекта на некотором расстоянии от поверхности (шкала PaintDistance). Граница затухания кисти может быть гладкой, жёсткой или настроена с помощью ColorRamp. Галочка Projectвключает режим окрашивания проекцией.

Mesh Volume + Proximity – тоже самое, что и предыдущее, но с небольшими опциями. InnerProximityвключает затухание кисти внутри меша, а NegateVolume– внутри меша кисть не работает.

ObjectCenter – рисует сферой вокруг центра объекта. Самый быстрый в расчёте способ, но и наименее точный.

ParticleSystem – в качестве кисти будет использоваться система частиц объекта, если она есть.

Настройки холста

Основу холста представляют слои. Их может быть несколько и все они независимы друг от друга. Слои бывают двух типов. Изображение, и тогда нарисованное кистью сохраняется как UVизображение заданного разрешения, а может воздействовать напрямую на вершины, но для этого требуется весьма детализированный меш с большим количеством вершин.

На занятиях мы будем использовать тип Vertex.

Галочка Anti-aliasingсглаживает углы рисования. В большинстве случаев рекомендуется включать.

Стартовый и конечный фрейм задают начало и конец симуляции, так же, как и во многих других симуляциях, что мы рассматривали ранее.

А параметр Subframesсоздаёт промежуточные фреймы (от 0 до 10) для плавной анимации на высоких скоростях.

 

Dynamic Paint Advanced

Слой Vertexможет быть нескольких типов воздействия:

Ø Paint – окрашивает вершины в разные цвета. Можно использовать для различных нужд.

Ø Displace – меняет геометрию меша. Как, например, следы на снегу.

Ø Waves – пускает волны по поверхности. Меш холста должен быть очень детализирован.

Ø Weight – «рисует» вес вершинам. Может быть использовано везде, где мы использовали вес.

Некоторые параметры общие для всех типов слоёв.

Dissolve – используется чтобы поверхность возвращалась в своё первоначальное состояние со временем. Например, следы исчезали или вода высыхала.

Brush Group – использовать группу кистей для рисования на этом слое холста. Ты можешь назначить разным кистям разные группы и использовать для разных слоёв.

Настройки слоя Paint

При раскраске кистью в этом режиме слой состоит из двух частей. Цветиводянаякарта.

Водяная карта — это чёрно-белая карта, которая отражает «мокрость» кисти. Обычно используется как маска для материалов при рендеринге.

Параметр Dryаналогичен параметру Dissolve, только для Wetmap.

В области Dynamic Paint Outputможно выбрать какой режим отображать в 3Dокне и задать VertexColors, куда сохранять результаты.

Можно создать новые, а можно выбрать из списка. Создать новые цвета вершин можно там же, где ты создавал группы вершин.

Так же существует режим Vertex Paint. Он абсолютно идентичен режиму WeightPaint, только ты раскрашиваешь вершины, а не вес.

В Dynamic Paint Initial Colorможно задать стартовый цвет для холста.

Далее идут настройки эффектов динамического окрашивания DynamicPaintEffects. Их всего три. Spread – распыление, Drip – стекание и Shrink – уменьшение следа кисти.

Для того, чтобы эффект работал, нужно нажать его кнопку и включить соответствующую галочку. Все три эффекта могут работать одновременно, но, конечно, не логично одновременно использовать Spreadи Shrinkтак как они взаимоисключающие.

В настройках Shrinkи Spreadможно установить скорость эффекта, а в настройках Dripсилу воздействия на краску внешних сил.

Как использовать кисти Paintдля создания материалов?

Тут всё просто. Когда ты настраиваешь материал через NodeEditor, добавь нод Input–Attribute. Он позволяет взять произвольный атрибут объекта по имени и получить его значения. Впиши в поле имени атрибута имя VertexColor. Ты можешь использовать как выход Color, так и выход Fac. Учти, что при выходе Fac,цвет будет преобразован в оттенки серого. Чёрный будет значит 0, а белый 1.

Настройки слоя Displace

Холст со слоем Displaceпозволяет создавать вмятины на объекте. Например, мы можем теперь создать вмятину на ведре снеговика после удара снежком. Учти, что деформирующийся объект должен иметь достаточное количество полигонов в месте удара.

Из уникальных опций Displaceимеет следующие:

Галочка Incremental – деформации накладываются друг на друга.

Max Displace – устанавливает максимальную деформацию.

Displace Factor – задаёт коэффициент деформации. При отрицательных значениях поверхность будет не вдавливаться, а, наоборот, вздуваться.

Другие эффекты

Модификатор Explode

Если добавить модификатор Explosionк объекту, то его можно будет разобрать на части с помощью системы частиц.

В поле VertexGroupможно указать группу вершин, которая не будет задействована в симуляции.

Шкала Protectзадаёт степень защиты для окружающих вершин.

CutEdges – добавить порезы на полигонах для красивого отображения.

Unborn – показывает меш до разъединения.

Alive – показывает меш в процессе.

Dead – показывает меш после завершения анимации частиц.

Size – включает применение соотношения частиц к частям меша.

Данный модификатор должен быть применён только после модификатора системы частиц. Проще говоря, добавляем систему частиц, затем модификатор. Системе частиц желательно выставить в разделе Renderотображение None.


Задания

Взрыв, просто взрыв

Какой фильм обходится без взрывов? Давай научимся их создавать.

1. Создай объект сферу. Раздели её пополам. Именно она станет источником взрыва.

2. Добавь ей систему частиц. Много нам не нужно – 50 будет достаточно. Поставь время жизни 10 – 20 кадров. Так же нужно установить значение End на 5.

3. Установи начальную скорость вылета частиц на 5

4. Добавь объекту модификатор Explode. Выключи галочку Death.

5. Нажми ПРОБЕЛ. Введи в поиск «smoke» и выбери QuickSmoke.

6. Сфера станет отображаться как сетка. Верни ей вид Solidна вкладке свойств объекта.

7. Перейди в настройки физики источника огня. Выбери тип Fire.

8. Перейди в настройки физики домена. Включи Smoke Adaptive Domain.

9. Для лучшего качества можно включить SmokeHighResolutionи увеличить Divisionдо 48.

10. Добавь ещё одну полусферу. Она будет симулировать дым. Расположи её в тоже место, что и сферу для огня.

11. Добавь ей физику Fire – Flow.

12. Переместись в первый кадр. Сфера для дыма должна быть выбрана. Нажми I, С это создаст ключевой кадр по положению и масштабированию.

13. Переместись в 10 кадр. Подними сферу чуть выше, увелись масштаб. Нажми I, C.

14. Переместись в 15 кадр. Верни сферу в начальную позицию и немного уменьши масштаб. Создай ключевой кадр.

15. Первая анимация создаст «гриб» из дыма, а вторая создаст эффект дыма после взрыва.

16. Настрой материал, если это нужно.


Протирание зеркала

Создай стекло и губку. Ты уже достаточно знаешь, чтобы тебе не нужны были советы в этом деле.

1. Назначь губке симуляцию DynamicPaint – Brush, а зеркалу – Canvas. Тип слоя выбери Paint.

2. Установи кисти источник Proximity, дистанцию 0.1 – 0.2.

3. Подели полигон стекла зеркала несколько раз с помощью инструмента Subdivideв режиме редактирования.

4. Запиши анимацию, где губка движется по зеркалу.

5. Установи, если требуется, Subframesв настройках холста на 5.

6. Добавь зеркалу материал. Используй шейдер Glossyс разными значениями Roughness. Нулевой для полного отражения и 0.1 для запотевшего.

Битва снеговика с хулиганом

Хулиган не оставляет попыток напакостить нашему снеговику. Он притащил с собой самодельный огнемёт и решил растопить снеговика. Но на этот раз мы сможем дать ему отпор.

1. Для начала перемести плоскость, из которой у нас раньше шёл снег, в место между вымышленным хулиганом и снеговиком.

2. Поменяй положение рук и смени направление движения частиц в эмиттерах рук снеговика.

3. Создай ещё один эмиттер (для огня) и расположи его на отдалении от плоскости.

4. Создай там систему частиц с физикой Keyed. Целью укажи ту же плоскость.

5. Должно получиться вот так:

6. Добавь эмиттеру частиц огня соответствующую физику. Для этого воспользуйся клавишей ПРОБЕЛ – QuickSmoke.

7. В настройках источника выбери систему частиц.

8. В настройках домена установи Temp. Diff. на ноль. Это позволит огню точно следовать за частицами и не улетать вверх или вниз.

9. Запеки огонь в настройках домена. Можно рендерить!


Горящий след

1. Создай плоскость и хорошенько раздели её на части инструментом Subdivide.

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

3. Назначь модель кистью, а плоскость холстом.

4. Создай анимацию движения автомобиля.

5. Для кисти настрой Proximity так, чтобы оставался след только от шин. У меня подошло значение Distance =0.1.

6. Включи слою холста тип Weight. ИвключиAnti-aliasing. Subframesустанови 5, если видишь, что след прерывистый.

7. Включи галочку Fade, это аналог Dissolveдля режима окрашивания веса. Установи значение 70. След будет исчезать.

8. В разделе DynamicPaintOutputщёлкни по плюсику, чтобы добавить группу вершин.

9. Запусти анимацию. Если тебя всё устраивает, сохрани файл (это обязательно, иначе не будет работать запекание) и в разделе DynamicPaintCacheнажми кнопку Bake.

10. Когда запекание будет готово, можно переходить к собственно огню. Выдели плоскость, нажми ПРОБЕЛ и напиши Quick Smoke.

11. Плоскость станет прозрачной. Верни ей прежний вид на вкладке настроек объекта. (см. справа)

12. В настройках источника огня установи ей тип Fire, и группу вершин ту, что получилась в результате запекания динамического окрашивания.

13. В настройках домена обязательно включи SmokeAdaptiveDomain.

14. Подними домен так, чтобы он нижней гранью касался дороги.

15. Увеличь разрешение огня и включи SmokeHighResolution. Дома ты можешь попробовать увеличить разрешение до 128 и повысить качество, увеличив HighResolutionDivisions.

16. Самой модели автомобиля можно включить симуляцию SmokeстипомCollision. РежимAnimated. Тогда огонь не будет проходить сквозь модель.

17. Выполни запекание огня и можно рендерить!


Дата добавления: 2018-06-01; просмотров: 245; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!