Главная _
Приветствую Вас Гость | RSSСреда, 20.09.2017, 23:57
Регистрация

Вход

Категории раздела
Огонь! [4]
Печет, потому что гарячо!
Все в дребезги [2]
Морской МИР [1]
море, вода, морское дно, волны

Мини-чат

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Уроки по 3ds max
Главная » Файлы » Эфекты, визуализация » Огонь!

Создание горящего факела в 3ds max методом ParticleFlow
04.07.2011, 21:55

Введение

В данном уроке мы создадим одну из наиболее востребованных симуляций в Голливуде, которая решается при помощи флюидной динамики, обычно это какой либо объект объятый пламенем (человек, хворост костра и т.д.), в нашем случаи это будет горящий факел. И прежде чем приступить к реализации задачи, нужно рассмотреть такую особенность: из-за большого количества топлива у симуляции будут такие же параметры как и при создании взрыва, а именно цвет, концентрация частиц, дым (по востребованности). В дальнейшем нам нужно будет это учесть. В нашей системе мы создадим именно такой тип эффекта при помощи специального средства 3ds Max Particle Flow.

3ds Max Particle Flow

Реализация эффекта

Путешествие в тысячу миль начинается с первого шага. 
(Лао-Цзы)

Шаг 1

Откройте файл Start_Flame.max, который специально был заготовлен для этого урока, и подтвердите изменение единиц измерения сцены, если такое сообщение появится. Если же не принять изменения может получится другой результат (данный файл был заготовлен в 3ds max 2009, т.е. версии ниже 2009 его не откроют). В данной сцене присутствует простая модель факела, в дальнейшем с которой и будем работать, камера, и Timeline настроенная на 300 кадров.

Шаг 2

3ds Max Particle Flow

В окне проекции Top создайте пространственный исказитель (Space Warp) Wind и переопределите его координаты-XYZ(0см, 0см, 0см). При выделенном Wind в меню панели Modifier в настройках Parameters установить следующие значения: Strength: 0,15, Decay:0, Turbulence:0,05, Frequency:0,01, Scale:80. Мы добавили Wind для того чтобы создать турбулентность влияющее на пламя из вне, усиливающее эффект. Wind, также будет отвечать за скорость испускаемых частиц.

Шаг 3

3ds Max Particle Flow

Теперь мы можем приступить к созданию системы частиц.
Для того чтобы открыть окно создания и редактирования систем частиц Particle View необходимо нажать клавишу "6" или на панели Create выбрать Geometry и из выпадающего списка выбрать Particle Systems и создать PF Source для того чтобы открылось окно Particle View, но придется удалить созданную по умолчанию систему частиц, поскольку мы будем создавать новую.
В окне редактора Particle View перетащите на рабочую область Empty Flow, далее нажав правой кнопкой мыши, появится контекстное меню, где необходимо выбрать Rename и введите новое название PF_Flame_Source, и при выделенном PF_Flame_Source установить для него следующие параметры: Quantity Multiplier: Viewport=10, Render=100. Для параметра Render устанавливаем Type : Phantom. Почему мы выбрали именно этот тип, поскольку геометрия пламя будет строится поверх геометрии частиц, при рендере и для удобства мы указываем именно этот тип, что и означает что первичная геометрия частиц не будет видна при визуализации.

3ds Max Particle Flow

Шаг 4

3ds Max Particle Flow

Далее необходимо добавить в рабочую область оператор Birth (рождение), данный оператор не просто так называется, поскольку именно он отвечает за порождение частиц. При выделенном операторе Birth установим следующие настройки: Emit Start=0, Emit Stop=300, Amount = 60000. Emit Start означает то с какого кадра частицы будут порождаться, Emit Stop означает именно до какого кадра они будут порождаемы, Amount представляет общее количество частиц порождаемых на промежутке времени Emit Start и Emit Stop.
После того как, мы настроили оператор Birth, теперь необходимо связать основное событие Event01 с PF_Flame_Source, после чего переименовать Event01 на Initial_Flame.
Далее добавить в Initial_Flame следующие операторы: Position Object, Shape, Force, Delete.

Шаг 5

Теперь более подробно об операторах и их настройках.
Position Object, данный оператор отвечает за то где будут находиться испускаемые частицы, иначе говоря с какого объекта они будут испускаемы. При выделенном Position Object в настройках Emitter Objects нажимаем на кнопку By List и из открывшегося окна выбора объектов Select Emitter Objects выбираем наш будущий источник частиц, который называется source и нажимаем Select. На этом работа с Position Object окончена. 
Shape, назначает форму для порождаемых частиц. Выделяем оператор Shape и настраиваем следующим образом: Shape выбираем Tetra, Size устанавливаем 1,6 см.
Force, определяет силы воздействующие на поток частиц. Настраиваем следующим образом: в Force Space Warps добавляем пространственный исказитесь Wind. Параметр Influence =610, SyncBy устанавливаем Particle Age.
Delete, отвечает за удаление частиц. Настраиваем: в Remove устанавливаем By Particle Age(Life Span= 28, Variation=7).

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 6

3ds Max Particle Flow

Далее добавляем четыре оператора KeepApart. Прежде чем приступить к их настройке мы должны скопировать PF_Flame_Source, с заданным числом копий равным 3. При копировании выбрать способ копирования Copy. Скопированные экземпляры переименовываем: PF_Large_Flame, PF_Small_Flame, PF_Turbulence.
Теперь возвращаемся к операторам KeepApart и поочереди начинаем их переименовывать так как показано на рисунке: KA_Initial_Flame, KA_Large_Flame, KA_Small_Flame, KA_Turbulence.

Шаг 7

Итак, теперь настроим первый KA_Initial_Flame : Force:-0,2, выбираем Accel Limit=2000 см, Range: устанавливаем Absolute Size, Core Radius=8см, Fallof Zone=6,5 см, в Scope устанавливаем Selected Particle Systems и выбираем в списке PF_Flame_Source.
Мы установили Force отрицательное значение, чтобы склеивать частицы, а не отталкивать их. Данный оператор объединяет частицы, которые в дальнейшем сгруппируют поток огня, при этом когда частицы будут склеиваться вместе, в результате будет образовываться дополнительная геометрия, добавляя пламени больше яркого цвета за счет специального материала, который мы создадим позже. Как уже говорилось выше, данный оператор будет склеивать сталкивающиеся частицы, за поведение частиц отвеют такие параметры как Core Radius, Fallof Zone. Именно этот оператор будет отвечать за формирование основного поведения пламени, которое будет корректироваться последующими KeepApart операторами.

Теперь поочереди настроим следующие операторы:

KA_Large_Flame: Force:-0,2, выбираем Accel Limit=2000 см, Range: устанавливаем Absolute Size, Core Radius=4см, Fallof Zone=4 см, в Scope устанавливаем Selected Particle Systems и выбираем в списке PF_Large_Flame.

KA_Small_Flame: Force:-0,4, выбираем Accel Limit=500 см, Range: устанавливаем Absolute Size, Core Radius=3см, Fallof Zone=2 см, в Scope устанавливаем Selected Particle Systems и выбираем в списке PF_Small_Flame.

KA_Turbulence: Force:0,01, выбираем Accel Limit=1000 см, Range: устанавливаем Absolute Size, Core Radius=2см, Fallof Zone=2 см, в Scope устанавливаем Selected Particle Systems и выбираем в списке PF_ Turbulence.

Каждый из операторов KeepApart имеет относительную связь взаимодействия с сторонними системами частиц (в честь которых они были названы), эти системы частиц будут отличаться уникальными операторами и дополнять основное пламя. Операторы KeepApart повлияют на движение частиц пламени путем привлечения их к системам с которыми у них определена относительная связь, заставляя поток частиц стремится к образованию новой формы. В действительности, благодаря настройкам, поток частиц будет сужаться делая пламя более реалистичным.

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 8

Приступим к созданию сторонних систем частиц которые будут дополнять пламя.
Выделим Initial_Flame, далее скопируем его, при этом указываем способ копирования Paste Instance. Скопированный образец переименовываем на Large_Flame, и далее настраиваем. Операторы Birth, Shape, Force и Delete необходимо сделать уникальными, т.е выделить эти операторы, далее нажать на них правой кнопкой мыши и выбрать из контекстного меню Make Unique.

Настройки операторов:

Birth: Emit Start=0, Emit Stop=300, Amount = 12000

Shape: Shape выбираем Tetra, Size устанавливаем 1 см.

Force: Influence =810, SyncBy устанавливаем Particle Age.

Delete: в Remove устанавливаем By Particle Age(Life Span= 32, Variation=8).

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 9

Теперь необходимо повторить такую же процедуру и с событием Large_Flame, создав образец(Paste Instance), переименовываем его на Small_Flame. Делаем уникальными следующие операторы: Birth, Shape, Force, Delete.

Настройки операторов:

Birth: Emit Start=0, Emit Stop=300, Amount = 10000

Shape: Shape выбираем Tetra, Size устанавливаем 2,1 см.

Force: Influence =720, SyncBy устанавливаем Particle Age.

Delete: в Remove устанавливаем By Particle Age(Life Span= 23, Variation=6).

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 10

Создаем образец Small_Flame переименовывая копию в Turbulence. Делаем уникальными следующие операторы: Shape, Force, Delete.

Настройки операторов:

Shape: Shape выбираем Tetra, Size устанавливаем 1,4 см.

Force: Influence =840, SyncBy устанавливаем Particle Age.

Delete: в Remove устанавливаем By Particle Age(Life Span= 32, Variation=8).

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 11

После того как мы настроили события частиц, необходимо их связать PF_Large_Flame с Large_Flame, PF_Small_Flame с Small_Flame, PF_Turbulence с Turbulence.

PF_Large_Flame создаст частицы с большей продолжительностью жизни, тем самым добавит геометрию отрывающихся лепестков пламени от основного потока.
PF_Small_Flame создаст частицы которые усилят общий эффект, увеличив плотность пламени.
PF_Turbulence создаст частицы пламени наиболее подверженные турбулентности, при том воздействуя на все последующие системы. 
Теперь все системы частиц готовы, и мы можем приступить к формированию самой геометрии пламя. На данном можете перейти на любой кадр и увидеть то, что получилось.

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 12

Вернитесь к кадру 0, и отключите autoback. На этой стадии, сцену проекта желательно сохранить. Теперь добавьте на сцену оператор BlobMesh. На панели Create выбрать Geometry и из списка выбрать CompoundObjects далее выбрать BlobMesh. Настраиваем BlobMesh: Size=2см, Tension=1. Установите Render и Viewport в Evaluation Coarseness =1 и отключите отображение во viewport установив галочку Off in Viewport. Нажмите на кнопку Pick и выберите PF_Flame_Source, PF_Large_Flame, PF_Small_Flame, PF_Turbulence.

3ds Max Particle Flow

3ds Max Particle Flow

Шаг 13

3ds Max Particle Flow

Теперь добавим к оператору BlobMesh три модификатора: Cap Holes, TurboSmooth и Relax.

Настроим их следующим образом:

Cap Holes: выбираем Smooth New Faces.

TurboSmooth: Iteration =1, Surface Paramets=Smooth Result.

Relax: Relax Value=0,5, Iterations=1. отключите Keep Boundary Pts Fixed.

Добавляем Cap Holes так как сетка BlobMesh малополигональна, в процессе анимации могут появляться случайные артефакты в виде дыр в основной геометрии пламя, в последствии что может привести к некорректной визуализации. TurboSmooth и Relax корректируют форму BlobMesh и добавляют полигонов. На этом мы закончили этап построения геометрии пламя. И теперь необходимо создать специальный материал, который будет эмитировать физические свойства огня.

Шаг 14

Откройте редактор материалов и добавьте в свободный слот материал Raytrace. Назовите материал Flames. Установите материал для Transparency белый цвет. Index of Refr=1, установите Specular Level и Glossiness = 0. Раскройте Extended Parameters и в Advanced Transparency установите флажок Fog, установите для него Start=0, End=120, Amount=3, и добавьте карту Fallof в ячейку материала, настроив его следующим образом: 1Color=R242,G178,B94, 2Color=R232, G91, B0.Теперь настройте как показано на рисунке.

Материал пламя использует настройку Fog материала Raytrace чтобы сгладить текстуру, при этом, его интенсивность будет зависеть от толщены сетки. Это подходит для нашего эффекта, чем толще геометрия тем ярче пламя, и чем тоньше геометрия тем менее интенсивно пламя. Мы устанавливаем два цвета: один для внутреннего цвета другой для внешнего. Если вам покажется, что пламя слишком яркое попробуйте изменить значение End параметра Fog.

3ds Max Particle Flow 

3ds Max Particle Flow3ds Max Particle Flow

Шаг 15

Примените созданный материал к оператору BlobMesh, и можете сделать тестовую визуализацию.

Пример моей визуализации с освещением и glow можно просмотреть:

Заключение

Реализация данного эффекта весьма интуитивна. Поскольку результат может получиться во многом отличный от моего. Основную роль в этом играют операторы KeepApart и их параметры Force, Accel Limit, Core radius, Fallof Zone. Меняя эти параметры Вы можете получить совершенно разные формы потока частиц. В редких случаях форма пламя может быть совершенно неоднородна, следствием этого являются связи с сторонними системами частиц, и изменять настройки придется только для них. Настройки BlobMesh также оказывают не малозначное влияние на формирование геометрии пламя. Изменяя такие параметры как Evaluation Coarseness Render (изменяя от 0,5 до 5) можно получить сильно раздробленное пламя при 5 (и более) и наоборот от 1 ( и менее). Также высоту пламя можно регулировать с помощью операторов Delete, сокращая и увеличивая жизнь частиц, тем самым увеличивается или уменьшается поток огня. Добавляя и удаляя источники частиц в Blob Object можно отследить, то, как именно формируется геометрия и взаимодействуют системы между собой. 
Если же Вас не устраивает получившейся результат, то пробуйте изменять, так параметры, как в вашей ситуации будет удобнее для Вас.

P.S. Три пути ведут к знанию: путь размышления - это путь самый благородный, путь подражания - это самый легкий, и путь опыта - это самый горький. 
(Конфуций)

Категория: Огонь! | Добавил: andoid | Теги: ParticleFlow, создание огня, создание горящего факела 3dsmax
Просмотров: 4329 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 4.5/2
Всего комментариев: 1
1  
smile applause good

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Топ просмотров

Друзья сайта
Info-Market - портал, новости, клипы, доска объявлений, видео, фото арт
МИР 3D моделирования - уроки, текстуры, модели, каты, чертежи 3Domen - все хорошее сбывается Бесплатный каталог сайтов "Мир сайтов", добавить сайт, увеличить ТИЦ, PR Грузоперевозки по Украине и Запорожью Info-Market - портал, новости, клипы, доска объявлений, видео, фото арт

Заработок

WMlink.ru - рекламный брокер

SEO инструмент LinksRunner.

оплата за показы


Copyright MyCorp © 2017