Автор: 3ds max help
Урок по созданию водных всплесков с использованием Потока Частиц (Patricle Flow)

Начнем со сцены содержащей простой полигональный объект,  лодку, которая волнообразно анимирована(прыгает по волнам). Также в сцене использовано две плоскости для воды: WaterRender, высокополигональный объект использован для рендера, и WaterMover, скрытый низкополигональный объект использован для анимации лодки. Перед применением анимированых модификаторов Wave и Noise. лодка была анимирована  при помощи простых процедурных анимационных контроллеров (ключей). Лодка была привязана к пустышке (Dummy), в свою очередь пустышка была присоеденена к поверхности воды, и раскачивалась вверх и вниз в месте с волнами.  

для создания более реалистичной эмитации поведения частиц, вам необходимо  проверить  две вещи

- в каких местах лодка пересекает водную поверхность.

- скорость с которой она сталкивается с водной поверхностью

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

   Откройте  сценку boat_splash_start.max. эта шняга находится на третем или втором диске 3DMax ver. 6, точно не помню(у кого нет этих дисков то сами виноваты, вам придеться приготовить сценку самим или скачать отсюда -----> давить сюда).
Источник: 3dcenter.ru
Просмотрите анимацию, затем верните ползунок таймлайна на нулевой кадр. как вы успели заметить лодка качается на поверхности воды, вмести с колебаниями волн.

Установка эмитера

Активируйте видовое окно Camera, тыкните пальцем в кнопку Р для отображения перспективного вида в данном виевпорте, затем нажмите F3для отображения всей геометрии в сетчатом виде.

Скройте видимый водный объект: WaterRender>.
         На> панели Create>, из выпадающего списка выберите Patricle Systems>,  и выбирите в ниже появившейся панели кнопку PF Sourse>.
В окне перспективы, с правой стороны от лодки, создайте  иконку системы частиц, примерно 50х50 единиц (чего там у вас сантиметров или метров выберите сами).
присоедините источник(иконку) к лодке как дочерний объект.(нажмите на иконке левую кнопку мышки и перетащите на лодку)
подровняйте ваш источник частиц под размер лодки, теперь они почти одного размера и будут перемещаться тандемом, тоесть вместе, так как эмитер системы частиц был прилинкован к лодке.
Выберите иконку потока частиц, если она не выбрана, затем используйте инструмент Align, для размещения объекта  относительно центра лодки.
это делается дпотаму что,  большинство контроллеров скорости потока частиц, вырабатываются из эмитера, который является каким либо геометрическим объектом. имея источник частиц который расположен в эпицентре имитации (это наша лодка),  мы получаем более гибкий и углублённый контроль над генерацией частиц.
Теперь эмитер отцентрирован и подкоректирован в размере относительно лодки.

Работа в окне Patricle View.

Теперь наш эмитер отразмерен и отцентрирован относительно лодки, он также присоеденён к лодке как дочерний объект, далее нам необходимо открыть окно Patricle View для дальнейшей нстройки поведения частиц. В этом окне производится настройка и точный контроль потока частиц, аесли необходимо то и целой системы частиц.

нажмите кнопку 6 для открытия окна Patricle View. или  выберити иконку PF войдите в панел Modify и ткните в кнопку Patricle View.

Откроется окно Patricle View.  в этом окне вам предстоит оперирывать с активными  операторами и модификаторами потока частиц. С правой стороны находится панель параметрических данных.ещё ниже находится набор модификаторов.
По умолчанию в Patricle View,  поток частиц  представляет собой простешую диаграмму(блок схему) событий и операторов. В этой диаграмме имеется эмитер, с минимальным  количеством компонентов необходимых  для имитации потока. Если вам не будут нужны какие либо элементы этой диаграммы вы можете просто удалить их.

В блоке которые называется Event01, удалите все операнды кроме Birth и Display.(для удалиния операндов нужно ткнуть не в иконку, а в само название операнда, затем нажать кнопку Delete. будем надеятся что кнопка Delete у всех есть.)
Выберите операнд  Birth, как только вы его выберите, то тут же с правой стороны появится параметрический список, там мы можем вводить или изменять свойства генерации частиц.

по умолчанию генерация частиц составляет 200 частиц в первую секунду анимации, от 0 до 30 кадра. для этого занятия нам придётся немного изменить параметры.

выставте параметр Emit Stop =0, и параметр Amount = 300.
это увеличит количество частиц генерируемых в первую секунду анимации.

Добавление нового оператора.

Из списка модификаторов(действий), расположеного в левой нижней части окна Patricle View, выберите действие Position Object, и перетащите его в операнд Event 01. Перед тем как отпустить кнопку, дождитесь появления голубой горизонтальной полоски, между опервторов списка.это означает что действие будет вставлено между  операторов списка. (если же появляется красная линия, это значит что новый оператор заменит оператор находящийся под линией, но нам это не нужно)
Выберите новый только что присоеденённый оператор Position Object, и в параметрическом меню с права вы увидите что, это меню поделено на две части. Emiter objects и Locations.Меню Emiter objects позволит выбрать конкретный геометрический объект, как источник частиц.  Меню Lokations позволит вам выбрать откуда именно из какой части объекта будут генерироваться частицы.

В меню Emiter objects нажмите кнопку Add. и выберите объект лодку.как только вы это зделаете её имя добавится в список.
Выбор конкретного места на объекте откуда будут генерироваться частицы.

Выберите лодку если она ещё не выбрана, и премените к ней модификатор Mesh Select.

В окне перспективы поверните лодку так чтобы ва смогли свободно выбрать любую часть дна. затем на уровне подобъектов(Poligonsлодка с выбранными полигонами эмитерами.

Нажмите Shift+Zдля востановления нормального вида перспективы.

Вернитесь в окно PatricleView  и в меню Location изспискавыберитеSelect Faces.
ов. Они не остаются на борту лодке, таким образом вы определяете их источник (эмитер), но не поведение. PatricleFlow предполагает, что при использовании какого либо объекта в качастве эмитера, частицы могут оставаться на по>

В параметрическом меню Position Objects, включите фунцию Lock on Emiter.
теперь если проиграть анимацию то частицы будут оставаться на поверхности эмитера(тоесть на дне лодки)
Создание всплесков.

проверка на пресечение с водной поверхностъю.

следующий шаг, это проверка на пересечение между частицами и водной поверхностъю,  и если они пересекаются то эмитер начинает генерировать частицы.

наша сцена содержит дефлектор. который передаёт свои свойства  объекту WaterMover(эта наша поверхность воды),

Из списка действий, найдите и добавте/перетащите действие, Collision Spawn> (CS),  в нижнюю часть списка операнда Event 01.
выберите  только что добавленый опратор Collision Spawn>, вы увидите параметрическое меню редактирования в правой части окна Patricle View.Collision Spawn это своего рода гибрид, производная от двух операторов/действий, Collision и Spawn.

перед тем как начать настраивать этот оператор вам необходимо понять как он работает.

оператор Collision  Spawn,  отличается  внешне  от  остальных операторов: у него сбоку расположен   коннектор. Этот коннектор, выходное устройство,  коннектор, это является одной из продвинутых концепций управления событиями, в PF, таким образом мы можем создавать нелинейные потоки частиц..
Выходной коннектор  оператора CS

     Как  было сказано ранее,  в PF  вы  можете разрабатывать  действия, в которых  частицы существуют.  Каждое действие имеет свои  «правила поведения» для  частиц, находящихся  в этих рамках.  Когда частицы  протестированы,  те, которые соответствуют условию этого оператора , могут переходить  к  новому действию. Не забывайте , что желтый  оператор является дверью, которую можно открыть  только при  помощи  правильного «пароля».

     к примеру событие Event 01,  обрабатывает частицы, которые  генерируются и и ожидают следующего действия на поверхности лодки. И что не мало важно те частицы которые не соприкаснулись с водой, не проходят в следующее событие, в противном случае, если частица вступила в контакт с водой, она переходит под влияние следующего события, и выполняет уже его условия. И так до тех пор пока она не получит команду прекратить существование

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

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

Сначала, вам нужно определить, какую объёмную деформацию(Space warps) нужно использовать, чтобы оператор мог точно определить частицы которые необходимо модифицировать, в нашем случае это UDeflector01, он является отражателем, который пространственно привязан к сатке воды

  Ранее, последовательность выполнения действий  состояла в том, чтобы, прикрепить  частицы   к объемной деформации, но этот метод  ограничивается тем, что  все частицы  будут использовать объемную деформацию равномерно. Вместо этого, для максимальной  гибкости, PF дает вам возможность  использовать  операторы,   для того, чтобы  частицы действовали совместно с объемнуй деформацией.   Этот метод  хорош тем, что  вы можете  определить,  на какие  частицы влияет объемная деформация,  в течении кокого времени и с какой силой. Вы не привязываете  PFк  объемной  деформации  традиционным методом , а вместо этого используете  Collision test  или  Force оператор для привязки к  объемной  деформации. 

Просмотрите настройки оператора Collision Spawn, там вы найдёте список  Deflector . в этот список вы будете помещать все ефлекторы, которые вам  могут понадобиться. Изабудьте о всеё "чешуе" которую раньше нужно было делать для привязки различных дефлекторов; просто добавьте их в список, и всё. Оператор Force тот который вы использовали ранее в этом уроке, также работает по принципу описаному выше, только он не пораждает частицы, а воздействует на их поведение.

с помощью кнопки Аdd  или By List добавьте объёмную деформацию UDeflector01 в  список дефлекторов
как только вы зделаете это,  имя этого модификатора в этом действии изменяется изCollisionSpawn 01 (none) в CollisionSpawn 01 (UDeflector01). Это динамическое название функции PF, которая включает самые важные параметры и имеет определённое название в этом событии.  Вы можете переключить  эту функцию из меню Patricle view,  Options> Use Dinamic Names. Так же  вы можете изменить продолжительность действия  при помощи диаграммы частиц, растягивая её правую сторону.

Следующая  группа, Spawn Rate and Amount, там по умолчанию активирована опция Spawn On First Collision. С помощью этого модификатора частицы отреагируют с дефлектором только в первый раз. Но в этом ролике, лодка подскакивает вверх и падает вниз несколько раз, следовательно вам нужна другая функция.

В группе Spawn Rate and Amount, выберите  Spawn On Each Collision(Порождать частицы от каждого столкновения)

Таким образом параметр Until # станет доступным. Этот параметр позволит определить максимальное количество столкновений родительких частиц. Вы уеличите значение, которое стоит по умолчанию, таким образом, чтобы убедиться в том что частицы выделяются каждый раз когда лодка падает на воду.

Установите значение Until # равную 100. а также выше поставьте галочку Spawn Patriclec в меню Test True For.

Благодаря этому новорожденные частицы становятся пригодными для перехода к следующему действию сразу после их генерации. Также обратите внимание на общие параметры. Первый- Spawnable %(порождающий):   процент существующих, или родительских, частиц, которые,  в общем, и порождают частицы. Это удобно для ограничения  порождения, даже если родительские частицы сталкиваются с дефлектором.

ЗЫ.

По умолчанию Spawnable % равен 100, но  когда вы работаете  над комплексом потоков частиц и погружений системы в можете временно понижать это значение.

Установите Spawnable равным 25.0 (немного снизите эту переменную до рендера)

Следующий параметр, Ofspring #  не менее важен, он позволяет определить, как много частиц будет сгенерировано от каждой частицы. По умолчанию он установлен на 1, но  в этом случае  вам необходимо сгенерировать тестовые частицы.

Установите  значение Ofspring равным 15.

Это позволит PF сгенерировать,  15 частиц от каждой оригинальной частицы, при столкновении с Water Mover.

Ниже параметра Ofspring # есть ещё один компонент, Variation. Этот параметр отвечает за вариацию частиц, и придаёт им более реальное поведение. Для придании  всплескам более реалистичного вида, увеличивайте вариацию от 5-25 процентов, везде где этот параметр есть. В этом уроке вы мы поставим это значение равным 15, но это не обязательное значение, вы можете подобрать более лучший результат.

Установите Variation (находящийся ниже Ofspring #) равным 15.
настройка скорости порождающихся частиц

параметры группы Speed  позволяют контролировать скорость, направленное влияние частиц или. Два выпадающих меню позволят вам настроить ограничения реакции на родительские и порождённые частицы после столкновения. Это опции Continue и Bounce.  Continue продлевает реакцию с дефлектором, позволяет частицам продолжать свой путь дальше если ничего не произошло. С этой настройкой  родительские частицы  никогда не будут воссозданы реально,  поэтому настройка не эффективна, нам же нужно чтобы порождённые частицы среагировали с дефлектором, поэтому мы оставим настройку Ofspring на  функции  Bonce, то есть по-умолчанию.

Также  важно подобрать параметры Particle Bounce  в дефлекторе.  Чем выше  значение, тем  дальше будут отскакивать порождённые частицы. Это может иметь  неспланированный  эффект, когда   модификация  эмиссии (смешивания) рожденных частиц  увеличивается.

Collision Spawn позволяет вам выбрать один из двух способов контроля начальной скорости  порождённых частиц :

     In Units - это значение абсолютной скорости, при которой  частицы порождаются., не обращая внимания на  движение  родительских частиц.

      Inherited -это значение  при  котором  скорость порождённых частиц  является  процентным соотношением  родительских частиц.Другими словами, чем сильнее лодка ударяется о поверхность воды,  тем  быстрее  должны будут  двигаться частицы, возникшие в результате этого  действия. Inherited - это метод  всегда установлен по-умолчанию на 100,  мы снизим  это значение в 4 раза.

Установите   значение   Inherited%  на 25.0.

далее  вы  установите приблизительный процент для того, чтобы  симулировать натуральную случайность.

Установите Variation ( под опцией Inherited) на 15.0.

Следующая настройка,Divergence (несоответствие), такая же как  и Variation, но вместо  воздействия на  скорость, она влияет на направление. Представьте Divergence  как  уголёдопустимого разпространения. В большинстве случаев нам понадобится  сравнительно  низкие параметры в настройках случайных параметров таких как Variation, Divergence.

Установите Divergence 15
Создание второстепенного потока:

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

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

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

Перетащиет  оператор Speed  в лубую пустую область окна Patricle Flow, размещая его под существующими событиями.   
Действие не может быть активным и работать являясь отдельным компонентом, также оно не может принадлежать предидущему списку действий, так как оно отдельно от него, следовательно PF  создает  новое событие Event02, и так каждый раз  каждый  раз   когда  вы добовляете  действие к  пустой  зоне  дисплея событий.

PF  создает новое событие, которое включает в себя  операторы Speed  и Display. Оператор Display  важен потому, что он позволяет вам  контролировать то, как частицы появляются в  демонстрационном окне. Это очень полезное свойство в PF при работе с второстепенными событиями. Изменяя  оператор Display  во второстепенном  событии,

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

В новом событии , отключите оператор Speed  нажав  на его пиктограмку(слева перед названием).

Оператор  станет серым,  показывая что он отключен. Вы также можете  отключить  всю систему  частиц(точка с запятой ; на клавиатуре), вы также можете отключить событие  нажав  значок   «лампочка»  (расположена после названия события)
Это позволит вам  проверить, как   частицы   перемещаются  (в потоке)  по системе   без дополнительных процессов.

Присоедините,   выходной канал теста Collision Spawn  к входному каналу  нового события.

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

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

Кликните на операторе Display, в новом  действии, которое вы только что создали.

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

В данный момент в окне Particle View, у вас должны быть три события.PF Source 01, Event 01, иEvent 02. Эта диаграмма  не очень сложна, но  в скоре она может значительно увеличится, и вы можете запутаться во всех этих диаграммах, так что будте про проще и обзывайте каждое событие соответственно его действия, например Брызги, или Столкновение, можно ещё чтото типа Отскок... ну кароче описывайте не для когото а для себя, так чтобы из 20-30 событий вы могли быстро найти необходимое действие.

щёлкни правой кнопкой на серой области (названии события Event01) и выбери Rename(перименовать), и переименуйте его в

Testntersection(тест на пересечение), а второе событие Всплеск(Splash)
Описание всплеска:

Оператор Splash воздействует не на много параметров.он предназначен для того чтобы разогнать частицы от столкновения, а через некоторое время она исчезла. Чтобы это получилось у нас есть ещё оператор  Speed, но она пока что отключен.

Активируйте оператор Speed. Щёлкните на пиктограмму перед словом Speed, и он включится

Оператор Speed придаёт скорость, исходящую из иконки PF, но наша иконка является дочерним объектом лодки, и кроме того в данный момент лодка сама является источником.

Выбирите оператор Speed, и в параметрическом меню справа, в пункте Direction(направление) выберите Icon Center Out(от центра иконки).

Заданное по умолчанию значение скорости 300 разбросает частицы слишком далеко, для нашего случая это не подходит. немного уменьшим скорость примерно до 30. и выставим вариацию скорости 15. Заметьте что есть ещё один параметр Divergence, не помню как переводится, щас объясню что он делает, этот параметр тоже самое что и Variationтолько отвечает за угол разлёта частиц:

Variation- разность скорости

Divergence-разность направления, увеличивая его вы увеличиваете допустимый угол разлёта.

Его желательно выставлять примерно от 20 до 60, в нашем случае это 45, но вы в праве экспериментировать
Чтобы добавить такие искажения как гравитацию и ветер, вам необходимо сначала  добавить оператор Force(Сила), к событию Splash. влепим его сразу после Speed. можно конечно добавить гравитацию и ветер к одному оператору, но тогда они будут использовать одну величину искажения на двоих, это не очень удобно, то есть можно но это не совсем реалистично, значит добавим сразу и второй такой же
оператор.. да да  один за другим.
Выбираем первый Forceи добавляем туда гравитацию Gravity01 (нажми на кнопку Addи ткни в значёк гравитации, или нажми на кнопку Bylistи выбери из списка гравитацию.).  искажение Influence установим на 150. теперь на частицы действует гравитация  с силой 150%

Объясняю гравитация завышена потаму что всплески должны быть немного тяжелее ведь у нас есть ещё ветер не забывайте

Проделаем тоже самое для ветра Wind01? Только искажение установим 5
Установк времени существования частиц

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

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

но нам это никчему. выберем самый простой и эфективный Delete. и добавляем его прямо после Force, и выставляем опцию Removeна By Particle Age.. типа старые частицы маст дай :)

да и ещё вариацию Variation понизим до 10, а Life Span пусть будет равен 60
вот и отличненько теперь отработаные частички здыхают по истечению 60 кадров... или и 2 секунд

Создание Тумана 

далее нам нужно добавить частички тумана,образующиеся от  всплесков. Можно создать дополнительное отражение частиц, но это не выход она будут наследовать свойства предыдущих частиц

Particle Flowпозволяет вам получить безграничный контрол над  частицами, их порождении, столкновении, итд. в нашем случае мы всётаки возмём за основу предидущие частички, сгенерируем наш туман от них, но не сразу.. В теории это будет так: капля взлетела и если 2-3 кадра она в воздухе, начинает генерировать частички тумана

Итак... приступим.

Добавим >Age Test к событию >Splash, в самый низ  события. В настройках  оператора укажем опцию GreaterThanTestValue,  и установите >Test Value=10 и >Variatin=4
Это позволит частичкам  получить разрешение на переход к следующему событию Splash, если они просуществовали приблизительно 10 кадров, или одна треть секунды, плюс или минус 4 кадлра для добавленной хаотичности.

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

Добавим наш Spawn тест в любую пустую область окошка. Как мы уже знаем это приведёт к созданию нового события. Давайте сразу присоединим новое событие к предыдущему то есть Splash

Обратите внимание : теперь оператор Delete который находится в событии Splash, Больше не дееспособен, потому что Age проверяет частицы прежде, чем они достигли состояния которое указано в операторе Delete. Но до сих пор, это препятствовало системе быть перенасыщенной большим количеством частиц

Переименуйте новое событие в  SpawnMist.
Создание нового случая автоматически добавляет новый оператор Display, по умолчанию можно натыкать событий и в каждом можно влепить оператор Display, следовательно, при достижении этого события частицы будут соответственно выглядеть, но в некоторых случаях можно назначить какой-то один конкретный оператор для отображения, так сказать  глобальным. Это можно сделать так: в настройках выберите Default Display to Global.(воздействует только на события, созданные после него)

Изменение опций оператора Display  позволит Вам отделить визуально  частицы тумана от частиц всплеска.

Выделите оператор Display, и в опциях Tipe установите  Geometry. Можете для полноты ощущений поменять цвет, кстати так будет легче отслеживать наши частички.
Выделите  оператор Spawn

Посмотрим… он практически идентичен оператору который мы использовали ранее CollisioSpawn,. Как и в предыдущем случае этот оператор также по умолчанию установлен на генерацию частиц лошь один. Но вы можете задать необходимое количество частиц и кадров и вариацию

Последняя опция как раз для нас, так как она наиболее подходит для данной операции. Попробую объяснить, если например вы выберите Per Second, это значит частички будут генерироваться по истечении какого то количества времени, ну ведь у нас частички будут лететь с разными скоростями, тогда результат будет явно не реальным. Допустим вы указали испускать  три частицы в секунду, но одна из родительских частиц летит в десять раз быстрее чем другие. Это создаст не реалистичные промежутки между порождаемыми частицами. А та опция которую выбрали мы как раз основана на расстоянии. Таким образом это компенсирует более быстрые или медленные родительские частицы, испуская больше или меньше частиц

Нам не нужно чтобы каждая частица  всплеска испускала частицы тумана, так что, ограничим число частиц,  которые оператор Spawn обработает, и  устанавливают Spawnable % на  75.0.  

По умолчанию, Spawn создает только одну новую частицу от родительской, но для нас это маловато. Следовательно  Offspring #(потомство) до  3.
Далее обратим внимание на  группу >Speed(Скорости). Как и в событии >CollisionSpawn, у вас есть выбор испускающих частиц с явной скоростью или со скоростью, унаследованной от родительских частиц. В данный момент Inherited %(наследовать), равен 100%  это достаточно, но всёже добавим некоторые изменения.

Установим >Variation% равную 15.0, и оставим по умолчанию Divergence равным 20.0.
Определение тумана:

Чтобы продолжать настройку >SpawnMist, рассмотрите какие операторы вам пригодятся, наши частички должны реагировать на СИЛУ ветра и гравитации

В событии >SpawnMist> , добавим оператор Силы (>Force). Воткнём его сразу же после >Spawn.  Нажмите на кнопку >Add> или  By List, и  добавьте Drag01 и Wind01 к списку пространственных искажений. Сразу же степень искажения(Influence %) выставим на  50.0.
Как в случае Всплеска, будем использовать оператор Delete, чтобы наши частицы тумана спустя  какой то промежуток времени героически сдыхали. Как говорится делай проще будет лучше, просто копируем этот оператор от туда где он уже имеется, в событии Splash(копируется до боли просто, правой кнопкой на операторе Delete> Copy, вставлять по тому же принципу, только при выборе типа вставки обратите внимание там будут два варианта(нам нужен первый) Paste и Paste Instanced, первый просто копирует а второй создаст так сказать референс, тоесть просто пустушку которая заимствует параметры от оригинала(изменишь оригинал, пустушка тоже изменит настройки). Вставляем его в событие SpawnMist, там он будет называться Delete 02

Определение геометрии:

Если вы прокрутите ползунок то увидите более менее реалистичное движение частицы воды, брызги и туман. Надеюсь вы усвоили основную концепцию Patricle Flow, Вы должны сделать два более важных шага: определить геометрию и материалы для различных типов частицы. В этом тоже есть особые нюансы, такие как размерность, время роста.. итд

Вы можете использовать в качестве частиц любую геометрию. Можете менять их размер от действия к действию. В данном уроке мы используем два типа геометрии: частицы всплеска и туман. Частицы всплеска должны напомнить пространный всплеск миллионов крошечных частиц. Один из более подходящих способов для тумана это использование сферических форм, они при большом количестве производят очень неплохое смешение(при применённой карте Falloff ), создаётся впечатление реального тумана

Чтобы сформировать частицы всплеска, добавим оператор Формы(Shape) и назначить на основную форму, нашу сферу. Однако простая стандартная сфера должна иметь более менее нормальный сглаженый вид, то есть  разбиение сетки, наша сценка уже содержит одну такую, вот её и добавим, она называется  Sphere01.

добавьте оператор Shape Instance  к действию Splash(можете его врулить в любое место, это не принципиально)

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

выделите оператор Shape Instance  и затем щелкните на кнопке Particle Geometry Object, и курсор теперь находится в режиме селекции(выбора), нам нужно аккуратно в видовом окне, ткнуть этим курсором в Sphere01. (как только вы это сделаете имя сферы появится на кнопке)
Sphere01 очень хорошо просматривается в окошке Top(верх). Если захотите поменять геометрию проделайте тоже самое

Кстати для отображения масштаба наших сфер выберем режим отображения в окне Bounding Box

Анимация роста частиц:

Если проиграть анимацию то както не реально наши шарики появляются я имею ввиду, в полный размер, надо это исправить

Для более реалистичного вида оживим рост наших сфер, возмём за основу тест на возраст частиц.

Вы должны знать, что Particle Flow может применить анимацию параметра в любой из трех различных структур времени:

ћ         Абсолютное Время относится к существующим кадрам в полной анимации. Например, если анимируете  масштаб объекта от 0 до 30 кадра в Абсолютное Время, тогда это действие происходит строго в то время, независимо от чего - ни будь еще в системе.

ћ         Если вы применили анимацию роста от 0 до 30 кадра, а частицы начинают генерироваться после 100 кадра, значит время анимации автоматом переносится на 100 – 130  кадры

Добавьте  оператор Scale в событие  Splash, и поместите его сразу после  Shape Instance.

Оператор Scale  работает в одном из нескольких различных способов, находящихся в выпадающем списке Type. ВыберитеRelative First
Этот режим воспринимает размер от геометрии оператора Shape Instance, и изменяет масштаб относительно  указанной величины.

Группа Shape Instance имеет отдельные элементы чтобы контролировать масштаб относительно каждой оси X, Y,  Z. По умолчанию изменение масштаба происходит пропорционально каждой оси, это нам и нужно

Перходим в нулевой кадр, нажимаем  Auto Key.(он стал красным если кто забыл). Выставим  Scale Factor's X % равным  0.0. все оси обнулились тоже(таким образом мы создали колючевой кадр для мастаба нашей геометрии)
Перемещаемся в кадр 30 и увеличиваем Scale Factor's X % до 100. вот и всё теперь наши карики будут расти.(кнопку Auto Key можно отключить)
Посмотрим анимацию. проблема не исчезла. Это, потому что, по умолчанию, оператор Scale работает в режиме Абсолютное Время(Absolute Time), измеряя частицы от 0 кадра  до 30. Так как  частицы  появляются в кадре приблизительно 58,  их размер уже должен соответствовать 100 %.  Значит в  группе, Animation Offset Keying  выставим Sync By(Синхронизировать по:)  на значение Particle Age.
Посмотрим анимацию  тперь нормально, как только частичка вылетела на неё начинает действовать наш оператор Scale

Теперь добавим хаотичности в изменении размеров. В группе Scale Variation, установите X % равным  20.0.
Определение  геометрии тумана:

Туман немного отличается, он должен иметь очень мягкий переход. Хорошим способом является представление частичек тумана как мелкие полигончики(Faces) всегда направленные плоской стороной к камере. К ним можно применить карту прозрачность с радиальным спадом, и тогда эффект будет хорошим.
Вот как должна выглядеть карта прозрачности. Но это не обязательно… просто эта карта подходит для нашего урока.

Этот оператор(Shape Facing) был специально разработан для подобных эффектов

Добавьте Shape Facing к событию  SpawnMist, сразу после оператора Spawn, затем давайте посмотрим параметры (оператора Shape Facing)

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

Щелкните на кнопке в меню Look At Camera/Object, и затем выберите камеру. Ей очень хорошо видно в окошке Front.
Затем нам  нужно определиться с размером или масштабом смотрящего на нас полигончика J. У нас есть  три способа сделать это: Мировое(World Space), Пространственное(Space), Локальное(Lokal) или Экранное(Screen Space) . : Мировое позволяет устанавливать абсолютный размер в мировых единицах, в то время как с Локальным вы устанавливаете размер как процент от предварительно определенного размера. Экранный уникален тем, что масштабирует частичку пропорционально размеру экрана, постоянно регулируя размер частицы, чтобы сохранить пропорцию  которую вы определили, независимо от расстояния до камеры.

Оставим по умолчанию на Мировом(World Space)  способе и установим Units(Единицы) на  2.0.
Желательно анимировать масштабирование нашего тумана. У нас уже есть одна анимация масштаба, причём уже настроенная, так что копируем её из события  Splash и вставляем в событие SpawnMist. Сразу после оператора Shape Facing

Назначение материалов:

Ну вот и всё с движением и имитацией частиц разобрались, теперь применим материалы.

В Patricl Flow материалы применяются не так как вы привыкли(применять материал к иконке Patricle Flow), для этого тоже надо бы добавить оператор из разряда Material. Этот оператор влияет на частицы только того события где он находится, но в глобальном событии она влияет на все частицы

Операторы материалов бывают:

Статический(Static), является довольно прямымолинейным, назначая материалы и ID, которые не изменяются в течение события

Динамический(Dynamic), позволяет материальному ID частиц, измененяться в течение события, и поддерживает анимированые  материалы, используя Particle Age и подобные карты

Частотный(Frequency), работает непосредственно с подматериалами. Вы создаете список материалов и свойства их назначения на частицы, основанные на процентах.

Оба материала, которые мы будете использовать, включают карту Particle Age, так что будем использовать оператор Material Dynamic.

Добавьте оператор Material Dynamic к событию Splash, где-нибудь выше оператора Particle Age.

Материальный Редактор уже содержит материалы, которые Вы будете использовать для частиц всплеска.

В параметрах оператора Material Dynamic, ткните на кнопку Assign Material, и в диалоге Браузера Material/Map Browser, выберите, Browse From > Mtl Editor,  двойной щелчёк на материале Splash
Очень простой материал, который я описывал выше, можно намутить при желании чего-нибудь по сложнее

С этого момента, оператор Delete  в событии  Splash  снова дееспособен, так как карта Particle Age воздействует на частицы. Particle Age  должна знать, где частица находится в течении всего своего существования, чтобы определить, которые закрашиватьв необходимом  диапазоне.

Наконец, Вы настроили материал для тумана.

Так же добавим оператор Material Dynamic в событие SpawnMist, расположим его сразу после оператора Spawn. И применим к нему материал Mist
Этот материал отличается немного от материала Всплеска. он также использует жёсткий цвет с небольшим количеством самоосвечения, но так как это частица плоская(наши полики), ее прозрачность имеет радиальный градиент, который также маскируется картой Particle Age..

Вот что у нас должно получиться
Великий рендер J:

Три шага до рендера, ....приготовились.

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

Выберите любое видовое окно и нажмите кнопку С, теперь вы смотрите на всю сцену через вашу камеру (горячие клавиши Т-Top view, L-Left view, F-Front view, B-Bottom view, R-Right view)

В операторе Collision Spawn, в пцции Test Intersection, верните обратно параметр Spawnable % на 100%

Рендерим и восхищаемся.

вот что получилось, это конечный файл  boatsplash_final.max.

ну вот и всё счастливого плавания
Перевод: Sub
Счётчики
  Словарь Яндекс.Лингво
Сайт посвящён компьютерной графике и оверклокингу
На главную
Галерея
Уроки
Статьи
Видео уроки
Download
Оверклокинг
Гостевая
Чат
Форум
Рекламодателям
Работодателям
Ссылки
О нас
Карта сайта
Patricle Flow - создание всплесков воды

При перепечатке материалов обязательно указание авторства и незакрытая тегом noindex активная прямая нередиректная ссылка на сайт lux3d.narod.ru, на котором Вы этот материал нашли. Спасибо за посещение!
Обсудить на форуме
Если вы хотите разместить свои работы в галерее, если Вы написали или перевели иностранный урок или статью, Вы можете разместить у нас на сайте свои труды, для этого нужно написать в гостевую книгу, или в службу поддержки.
На главную  Галерея  Уроки  Статьи  Видео уроки  Download  Чертежи  Оверклокинг  Рекламодателям  Работодателям  Ссылки  О нас  Гостевая  Форум  Чат  Карта сайта
Сайт оптимизирован под Opera и Firefox                      © 2008 Lux3D                     Служба поддержки
Книги
document.write('
  
'); document.write('
 
');
Яндекс цитирования
be number one
Rambler's Top100
Рейтинг@Mail.ru
Mail.Ru
Яндекс цитирования
Hosted by uCoz