Сегодня расскажу про способ создания капель после дождя на окнах, с использованием Particle Flow. Способ примечателен тем, что после настройки можно легко изменять паттерн, а также количество тех или иных капель. Для пользователей Vray этот способ будет еще и экономнее по ресурсам, чем тот-же дисплейсмент, если использовать Vray Instancer.
Нам понадобится несколько смоделеных видов капель. Я сделал их следующим образом:
1) создаем бокс и применяем модификатор spherify.
2) Выделяем половину сферы или чуть меньше и выравниваем в плоскость.
3) немного изменяем форму двигая точки с включенным soft selection.
4) повторяем все несколько раз, пока не получим набор из 3-4 капель — этого будет достаточно.
Далее создаем PF Source и открываем в нем particle view.
Я объясню принцип, и для экономии вашего времени приложу файл с настроенным нодом, для выравнивания капель относительно поверхности нашего стекла ( будет ниже в статье, достаточно примерджить в сцену файл и нод появится в окне particle view )
Подготовим генерацию партиклов:
1) заходим в нод Birth — и выставляем emit start -2, можно и любое другое отрицательное значение — это всего лишь означает что наши частицы начнут генерацию с -2 кадра, чтоб быть готовыми уже к 0 кадру. Ну и emit stop ставим 0 — на нулевом кадре мы и завершаем нашу генерацию.
2) Заходим в нод Speed — ставим везде 0 т.к нам не требуется движение для статичного кадра.
Итак, теперь основное:
1 ) Для начала мы добавим в наш event нод position object ( отвечает за размещение частиц на объекте — на нашем стекле ).
2) В нем, в окно Emitter objects добавим наше стекло, для этого нажимаем кнопочку add и выбираем стекло во вьювпорте кликом мышки.
3) Включим галочку Lock on emitter — чтоб частицы не разлетались из нашего PF Source, а генерировались только по стеклу, которое и является эмиттером.
4) В свитке Location выбираем из выпадающего меню surface т.к мы хотим размножить частицы по поверхности, а не внутри объема, или каким либо иным способом. Ведь наши капли находятся только с одной стороны стекла.
5) включаем галочку Density by material ( поговорим об этом чуть ниже, т.к это связано с материалом нашего стекла ).
6) В свитке if location is invalid — ставим галочку delete particles — в дальнейшем это удалит все партиклы которые ошибочно возникли в местах исключенных из генерации маскированием.
7) Берем файл с нодом выравнивания ( прикреплен к посту в группе, под статьей ), мерджим в сцену, далее он появляется у нас где-то рядом с нашим event в окне particle view, называется Align_particles ( пометил синим куда его нужно поместить — перетягиваем его в список нодов event ). Важно чтоб он шел после нода rotation.
8) В ноде rotation — обязательно ставим Orientation Matrix — speed space, иначе выравнивание не будет работать.
»»»»» Небольшое примечание: Принцип одинаковый, но реализация для каждого рендера немного может отличаться. Чтоб проверить правильно ли выровнялись наши капли, например для Vray, пока наших частиц не так много, мы можем добавить нод shape instance — выбрать одну из наших капель в нем чтоб подменить частицы на нее, далее спустится в нод Display и поставить в нем тип Geometry — чтоб наши частицы отображались во вьювпорте геометрией. Так мы сможем увидеть правильно ли выровнялись наши частицы. Если же нет, то смотрим по какой из осей нужно развернуть их. В моем случае — это было 90 градусов по X. В ноде rotation поворачиваем на нужный градус, по нужной оси. Далее для Vray, нод shape instance можно удалить т.к удобнее использовать Vray instancer в дальнейшем ( об этом чуть ниже ). И не забываем в ноде Display, псоле корректировок, обратно поставить отображение на дотс или любой другой тип, который не нагружает наш вьювпорт«««««
9) Можно добавить нод Scale для рандомизации размера частиц. Можно в ноде rotation повысить Divergence — для рандомизации вращения, но при этом надо не забывать что наши капли могут вращаться рандомно только по одной оси т.к они находятся на плоскости, и мы не хотим чтоб они проникали через нее под странными углами. Поэтому, можно включить Restrict Divergence to axis — и поставить единичку в нужную ось, по которой мы хотим рандомизировать вращение. Другие оси при этом останутся не тронутыми.
Таким образом наша система частиц готова. В ноде birth увеличиваем amount до нужного значения ( зависит от того сколько капель вам нужно )
Осталось разобраться с материалом который контролирует маскирование — В 5 пункте мы включили density by material — эта функция говорит нашим частичкам использовать материал поверхности как карту плотности. Можно подумать — о какой карте речь, если наше стекло прозрачное? Но для этого есть функция Use sub material в которой можно указать ID другого материала. Поэтому мы сделаем для нашей поверхности мульти-материал, в котором материал с ID 1 будет материалом нашего стекла, а следующие материалы под номерами 2,3,4 и т.д будут любыми материалами в диффузию которых мы поместим наши черно-белые маски для частиц. Соответственно в ID сабматериала, в нашем ноде position object, мы ставим ID того материала, который хотим использовать как маску.
Вот как это выглядит:
Я не буду подробно останавливаться на самих масках т.к основная цель показать принцип. Лишь покажу их пример:
Теперь можно использовать Vray instancer — он заменяет наши частицы на геометрию. Его плюс в том, что можно использовать множество объектов для инстансирования, и множество систем частиц.
1) Source objects — тут нужно добавить объекты которые мы хотим инстрансировать.
2) Particles — сюда добавляем нашу систему частиц.
Перед визуализацией не забываем набросить на капли отдельный материал. Я сделал обычный рефрактивный материал с коэффициентом IOR 1.33 ( коэффициент воды при температуре от 0 до 20 градусов )
Для картинки в шапке я использовал 5 систем частиц. Одну для имитации конденсата — очень мелких капель, другие для крупных и средних капель. Все системы использовали разные маски, для более интересного и достоверного рисунка.
Этот способ лишь один из многих. Главные преимущества — это рандомизация и детализация:
1) можно быстро сменить маску в мульти-материале и частицы перераспределятся.
2) можно не боятся крупных планов, т.к все капли это не фейк, а реальная геометрия.
О минусах говорить не буду, т.к очень субъективно, и зависит от рендера и машины на которой это все будет визуализировано.
А как вы делаете капли?