вторник, 17 апреля 2018 г.

Материалы Revit 2019 - жидкости



Revit 2019

Revit 2018

Новая версия Revit 2019 принесла новые шейдеры, если вы уже пробовали ченить покрасить, наверняка заметили желтый значок на превьюшках материалов!

Это так разработчики привлекают наше внимание к тому что в данном материале используется "устаревший шейдер".

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

Итак, вот тестовая сцена. Два бассейна.
  1. В левом вода создана одним большим параллелепипедом по периметру и до самого дна (1.5 метра глубина).
  2. В правом, вода создана тонким диском толщиной не более 100мм.
  3. В остальном всё идентично. Один и тот же материал, и для бассейнов и для шара.
При применении шейдера воды из 2018 версии, нам доступны ТРИ типа. Плавательный бассейн, Отражающий водоем и различные варианты “открытой воды” (река, озеро и океан). Почему три а не пять? Принципиально отличаются только “Бассейны” - минимум настроек и “открытая вода”, в последней вы можете регулировать размер ряби на поверхности и цвет.

Вот пример шейдера такой открытой воды 2018



Что мы все про 2018, давайте лучше проверим “новичка” 2019!?

Замените шейдер на Вода - чистая.



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

По умолчанию шейдер выглядит так и соответственно рендер результата справа



Пойдем сверху вниз.
Цвет - не трудно догадаться цвет жидкости. Чем темнее цвет, тем менее прозрачна субстанция.

Следующий параметр Расстояние поглощения - грубо говоря на каком расстоянии жидкостью поглощается свет. Т.е. проницаемость света до дна водоема или бассейна и его путешествие обратно к нам. Чем больше значение, тем прозрачней. И наоборот, маленькие значения, превращают поверхность, на которую мы смотрим в непрозрачное зеркало - задан минимум 10мм.

Результат ниже:



Дальше идет Шероховатость - больше всего эффект создаваемый этим параметром, напоминает частицы или пузырьки воздуха плавающие в воде. Значение от 0 до 1, максимальное значение - полностью непроглядный кисель, без намека на отражения на поверхности.

Любуйтесь:



Какая вода обходится без волн или ряби? Только та, на которую, ничто не воздействует.

Поэтому нам нужен будет параметр Рельефный узор (он же выдавливание). В этот раз никаких других вариантов, кроме использования картинки, не предусмотрено.

Добавим ч\б картинку с шумом.

Нужно задать Размер проекции текстуры, например три метра.

И не пропустите интересный параметр в неожиданном месте: Глубина - можно задать от 0 до 250 мм, не знаю причем тут миллиметры. Это как раз будет Сила выдавливания нашей ряби:

Это были настройки, если используется Дополнительно - Карта высоты

Если заменить на Карта нормали с обычной черно-белой картинкой, получается какая то фигня… На малых значениях похоже на масляные пятна. Прочитал статью - Карты Нормалей, нужно использовать специальные карты с нормалями...

Результат есть, вот он:



В шейдере есть еще два новых “стандартных” стека: Вырезаемый участок, который не работает на жидкости.

И Дополнительные элементы управления светлыми участками - где можно задать Анизотропию, её Ориентацию. Подвигал ползунки, явного результата не заметил.

Форма где можно задать Типы спада освещенности - тоже результат не виден, возможно в других шейдерах, будет заметней.

И наконец Цвет, аналог старого параметра Оттенок...



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

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

Материалы для лабораторной:
Файл с проектом версии 2019 ссылка
Текстура шума: ссылка
Как сделать свою карту Нормалей ссылка

Продолжение см. здесь

2 комментария:

  1. А глюк с системной плиткой и ее смещением они испаравили?

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

    ОтветитьУдалить