Форум

Free PBR shader на нодах blend4web

02 января 2018 19:16


Так сложилось, что я не знала о том, что pbr материал добавят в b4w, но мне очень-очень он понадобился. Зачем, почему – это уже не так важно, потому что стоило открыть node editor, как понеслось…

Хотелось максимума – хотелось красоты cycles в вебе, со всеми рефлексами, освещением от hdri карт, отражениями и т.д.

За основу взяла, конечно же, principled shader из cycles и начала старательно вязать ноды, чтобы сплести красивый, реалистичный материал).

Шейдер в итоге получился достаточно тяжёлый ( в том числе из-за размера самих текстур) , но мне нравится

В шейдере много чего можно довести до ума, но начать пользоваться можно уже сейчас.


скачать файл.blend с шейдером , сценой и тремя материалами ( с текстурами) можно тут https://drive.google.com/open?id=1Wb0bIrGYJZ6aVn639-Gt8f9a2qd5Q6uW
02 января 2018 20:20
Если ты захочешь попробовать применить этот материал, то понадобится всего ничего :

1. pbr текстуры (я скачивала их здесь https://freepbr.com , выбирала текстуры для unreal engine, а вообще нужны материалы с поддержкой карт metalness/roughness)

2. две “hdri-карты” небольшого разрешения. Первая – обычная карта окружения ,но размером, как для превью. Вторая – эта первая карта , но ещё и дополнительно разблюренная.
(Подготовить эти две карты можно в файле HDRI_preview_blur.blend)


3. кубомапa для окружения и для отражений. (просто в файле cubemap.blend нажать кнопку “запечь”)


4. оочень желательно ещё запечь АО для объекта

5. файл с настроенной для экспорта в b4w сценой scene.blend (настройки там совсем простые : освещение от окружения, отражение мира, лампа-солнце).

6. отдельно файл с pbr – материалом (новый pbr-материал в сцену добавлять через append ).

все нужные файлы в архиве.

что с этим со всем делаем ? открываем файл scene.blend , выделяем нужный объект и в нодах материала ( основной pbr материал называется mix ) выделяем по очереди все текстуры объединённые синей рамкой и указываем пути к изображениям.

ещё раз - выделять нужно только текстуры в синей рамке, все остальные ноды можно оставить , как есть
если у вас не хватает каких-то текстур , то нужно использовать "изображения пустышки" - они есть в архиве, называются empty_white.png, empty_black.png и NM_empty.png

1. АО bake - эту карту надо подготовить самим -запечь АО с объекта ( (в файл AO_bake.blend добавить нужный объект и нажать “запечь” ). Если её нет - ставим empty_white.png
2. AO - эта текстура идёт с материалом, если её нет - ставим empty_white.png
3. base - сюда идёт текстура , которая может называться base или albedo , цвет материала.
4. metallic - эта текстура показывает где в материале металл (белый цвет), а где нет (чёрный цвет). Если у вас нет этой текстуры, то для металла ставим empty_white.png, для неметалла (диэлектрика) ставим empty_black.png
5. normal - сюда добавляем нормалмапу, если такой нет, то заменяем "пустышкой" - NM_empty.png
6. roughness - карта определяет насколько глянцевой будет поверхность. Чёрный цвет - гладкая, глянцевая , белый цвет - матовая.
7. HDRI_blur - изображение надо подготовить самим, как - см. выше.
8. HDRI - изображение тоже надо подготовить самим .
9,10. ноды "геометрия" - в них указать нужную UV- развертку

на этом с настройками материала всё.
Осталось добавить кубомапу в сцену.

На всякий случай добавлю ещё раз, что новый материал присоединяем из файла pbr_material.blend через append. Материал называется mix.

красивых всем рендеров/
02 января 2018 20:34
чуть не забыла - отражения в материале включаются стандартно - нужно поставить галочку на "отражающий"
(на объектах, котрые будут отражаться - поставить галочку "отражаемый" )
06 января 2018 11:38
Так сложилось, что я не знала о том, что pbr материал добавят в b4w, но мне очень-очень он понадобился. Зачем, почему – это уже не так важно, потому что стоило открыть node editor, как понеслось…
Аха значит не я один пробовал в b4w создавать имитацию PBR . Пришлось забить на это дело слишком много возни с текстурами, фильтрацией и их подготовкой.

Крутая демонстрационная сфера .

выбирала текстуры для unreal engine

Тут кстати надо быть осторожнее.
normal map под UE4 обычно идут инвертированные по Y ( зеленый канал ) и их надо будет либо вручную инвертировать в 2д программе или в самом блендере.
07 января 2018 08:11
слишком много возни с текстурами, фильтрацией и их подготовкой.
я просто скачиваю текстуры и добавляю их в нужные ноды
07 января 2018 08:16
normal map под UE4 обычно идут инвертированные по Y ( зеленый канал ) и их надо будет либо вручную инвертировать в 2д программе или в самом блендере
Всё-таки речь не об импорте-экспорте текстур из какого-либо движка в блендер. Главное здесь - pbr шейдер для blend4web, результат работы которого максимально приближен к Principled шейдеру из cycles. Шейдер с поддержкой карт metalness/roughness , выдающий красивый результат при минимальной настройке освещения/окружения.
08 января 2018 14:42

Здравствуйте! Спасибо за проявленный интерес к b4w! Спешу Вас порадовать, что теперь у нас PBR стал гораздо проще!
pbr_scene.blend - файл для скачивания)
Шейдер окружения)
Материал - металл
Материал - гладкий металл
08 января 2018 14:48
PBR_scene_2.html - А это HTML файл
09 февраля 2018 19:59
Аха значит не я один пробовал в b4w создавать имитацию PBR .

Нет, я на 16.08 долго с нативными нодами тоже ковырялся)
Сейчас упростилось всё.
Теперь остаётся топикстартера, -Зинаиду, поблагодарить за обзор и позвать замуж, дабы совместно "блендфовебить" по закону)))
Коплю деньги на коммерческий B4W.
28 февраля 2018 17:06
Скажите, а как то можно совместить PBR с текстурой запекания теней и отображением режима Shadeless? Просто если мы используем ноды, то опции Shadeless просто нет. А сцена у нас нагруженная, все очень тормозило, когда запекли все тени, накинули на объекты и включили shadeless на всех объектах стало все летать, но магия PBR пропала, так как пришлось отключить все ноды в опции Use nodes.
Ищу Unity-разработчика!
ylee.io
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.