Добавить в закладки

Patricle Flow - создание всплесков воды

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

 

Установк времени существования частиц

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

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

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

да и ещё вариацию Variation понизим до 10, а Life Span пусть будет равен 60

вот и отличненько теперь отработаные частички здыхают по истечению 60 кадров... или и 2 секунд


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

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

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

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

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

Это позволит частичкам  получить разрешение на переход к следующему событию Splash, если они просуществовали приблизительно 10 кадров, или одна треть секунды, плюс или минус 4 кадлра для добавленной хаотичности.

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

Вот этот самый Spawn(кстати переводится как Икра или метать икру, не помню)

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

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

  1.  
  2. Переименуйте новое событие в  SpawnMist.

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

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

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

  1.  
  2. Выделите  оператор Spawn

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

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

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

  3.  
  4. По умолчанию, Spawn создает только одну новую частицу от родительской, но для нас это маловато. Следовательно  Offspring #(потомство) до  3.

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

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


Определение тумана:

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

  1.  
  2. В событии >SpawnMist> , добавим оператор Силы (>Force). Воткнём его сразу же после >Spawn.  Нажмите на кнопку >Add> или  By List, и  добавьте Drag01 и Wind01 к списку пространственных искажений. Сразу же степень искажения(Influence %) выставим на  50.0.

  1.  
  2. Как в случае Всплеска, будем использовать оператор Delete, чтобы наши частицы тумана спустя  какой то промежуток времени героически сдыхали. Как говорится делай проще будет лучше, просто копируем этот оператор от туда где он уже имеется, в событии Splash(копируется до боли просто, правой кнопкой на операторе Delete> Copy, вставлять по тому же принципу, только при выборе типа вставки обратите внимание там будут два варианта(нам нужен первый) Paste и Paste Instanced, первый просто копирует а второй создаст так сказать референс, тоесть просто пустушку которая заимствует параметры от оригинала(изменишь оригинал, пустушка тоже изменит настройки). Вставляем его в событие SpawnMist, там он будет называться Delete 02

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

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

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

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

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

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

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

Sphere01 очень хорошо просматривается в окошке Top(верх). Если захотите поменять геометрию проделайте тоже самое

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


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

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

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

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

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

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

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

Оператор Scale  работает в одном из нескольких различных способов, находящихся в выпадающем списке Type. ВыберитеRelative First

Этот режим воспринимает размер от геометрии оператора Shape Instance, и изменяет масштаб относительно  указанной величины.

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

  1.  
  2. Перходим в нулевой кадр, нажимаем  Auto Key.(он стал красным если кто забыл). Выставим  Scale Factor's X % равным  0.0. все оси обнулились тоже(таким образом мы создали колючевой кадр для мастаба нашей геометрии)

  1.  
  2. Перемещаемся в кадр 30 и увеличиваем Scale Factor's X % до 100. вот и всё теперь наши карики будут расти.(кнопку Auto Key можно отключить)

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

  1.  
  2. Посмотрим анимацию  тперь нормально, как только частичка вылетела на неё начинает действовать наш оператор Scale

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


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

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

Вот как должна выглядеть карта прозрачности. Но это не обязательно… просто эта карта подходит для нашего урока.

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

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

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

  1.  
  2. Щелкните на кнопке в меню Look At Camera/Object, и затем выберите камеру. Ей очень хорошо видно в окошке Front.

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

  1.  
  2. Оставим по умолчанию на Мировом(World Space)  способе и установим Units(Единицы) на  2.0.

  1.  
  2. Желательно анимировать масштабирование нашего тумана. У нас уже есть одна анимация масштаба, причём уже настроенная, так что копируем её из события  Splash и вставляем в событие SpawnMist. Сразу после оператора Shape Facing


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

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

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

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

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

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

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

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

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

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

  1.  
  2. В параметрах оператора Material Dynamic, ткните на кнопку Assign Material, и в диалоге Браузера Material/Map Browser, выберите, Browse From > Mtl Editor,  двойной щелчёк на материале Splash

Очень простой материал, который я описывал выше, можно намутить при желании чего-нибудь по сложнее

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

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

  1.  
  2. Так же добавим оператор Material Dynamic в событие SpawnMist, расположим его сразу после оператора Spawn. И применим к нему материал Mist

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

Вот что у нас должно получиться

Великий рендер J:

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

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

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

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

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

ну вот и всё счастливого плавания

Страницы: <<  1    2    3  >>

Если Вы написали свой урок или перевели иностранный, мы с удовольствием вывесим его на сайте.

Rambler's Top100
Hosted by uCoz