Форум

Диффуз + Нормал + Бамп. Как?

01 октября 2016 23:42 #12334
Доброго времени суток всем присутствующим.

Пытаюсь сделать текстуру плитки для игры.
1. Сгенерил диффуз
2. Сделал чёрно-белый бамп (плитка шероховатая). Идет по UV каналу 1
3. Запёк карту нормалей (имитация швов и крупных рисунков). Идёт по UV каналу 2
(текстуры прикрепил на всякий случай)
TexPlitkaNormal.png
TexPlitka.png
TexPlitkaBump.png

Blend4Web нормально "кушает" только диффуз+нормал, ставлю бамп - черная текстура.

Вопроса по сути два:
1. Как сделать совмещение 3-х текстур?
2. Обязательно ли использовать в таких случаях ноды или можно обойтись стандартным менеджером материалов Блендера?
02 октября 2016 03:38 #12336
Вроде B4w поддерживает bump текстуры для только эффекта Parallax. Для него нужно bump добавить в текстуру normalmap-ы в альфа канал и активировать панель Parallax в Geometry > Normal.
02 октября 2016 13:57 #12359
bump добавить в текстуру normalmap-ы в альфа канал
А может кто-нибудь выложить "png файл с бампом в альфа-канале".
Либо указать на него в дистрибутиве B4W?

Просто куча вопросов.
1. Photoshop не дает сохранять PNG с альфой (хотя альфа добавлена 4-м слоем в Layers)
2. При добавлении альфа-канала он СРАЗУ отображается на карте нормалей (а по идее должен быть скрытой информацией для извлечения движком)
3. Я так понял PNG-шная альфа, это "не совсем та альфа" в ней хранится прозрачность. Понятно что можно поставить в аналогию "прозрачность пикселя 0-255"->"цвет пикселя 0,0,0->255,255,255", но что-то не выходит каменный цветок.

Как здесь было сказано, лучше (быстрее) делать параллакс не нодами, а альфой
https://www.blend4web.com/en/forums/topic/1509/

В документации есть только нодовая схема. Насчет упрощенной сказано "ну возьмите, и засуньте бамп в альфу нормалмэпы".
02 октября 2016 14:34 #12361
В sdk есть пример node_parallax.blend в папке - /blender/materials
Там же есть текстура. Вот она.
02 октября 2016 16:55 #12363
Разобрался.
Если оперировать в Photoshop-e, то извлечь бампмэп из готовой текстуры (Слои->Слой Маска-> Из прозрачности)
Если загонять в альфу - на слое с нормалмэпом "Добавить маску", далее в каналах выбираем появившийся слой, и вставляем туда ч\б текстуру высот.

Другое дело для бампа не особо подходит такой способ. Попробую делать нормалмэп сразу с бампом, или попробую что-нибудь процедурное.
03 октября 2016 03:10 #12375
О том как
Насчет упрощенной сказано "ну возьмите, и засуньте бамп в альфу нормалмэпы".
Посмотрите часть этого стрима с этой минуты

UPD: Такой вариант не устраивает?

test_plitka.blend

Что бы добиться паралакса нужна ч/б карта высот.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
03 октября 2016 08:56 #12379
Ответ на сообщение пользователя Кирилл
Что бы добиться паралакса нужна ч/б карта высот.
Это у меня получилось, я же написал как загнать её в нормалмэпу.


Ответ на сообщение пользователя Кирилл
UPD: Такой вариант не устраивает?

Кирилл, огромное спасибо! В принципе как я написал в прошлом сообщении, у меня получилось
1. Загнать ч\б карту в альфу нормалмэпа
2. Сделать Parallax
3. Посмотреть всё это в движке B4W
Другое дело, меня не очень устроил результат, он не совсем подходит для моей задачи.

По сути у меня было 2 задачи\проблемы:

1. Помимо основного рельефа плитки (нормалмэп) придать шероховатость.
Я и подумал про мелкий бамп. А поскольку одновременно реализовать нормал+"еще какую-то карту" можно без нодов только в Parallax материале, я и попытал счастья с ним. Результат, как я говорил мне не понравился.

2. Вторая задача вытекает из первой.
У меня на модели 2 UV развертки. Первая для основной диффузной текстуры - тайлинг 3х3 грубо говоря, вторая для нормалмэпа - тайлинг 1х1. Для движка у меня по умолчанию берется только одна из них. Я прочитал, что нодами можно поставить максимум 2 (Спасибо, кстати за нодовую раскладку). Так что придется как-то комбинировать ноды.
03 октября 2016 09:11 #12380
Я прочитал, что нодами можно поставить максимум 2 (Спасибо, кстати за нодовую раскладку). Так что придется как-то комбинировать ноды.
Получается вам надо эдакую технику детализации? ака detail map.
03 октября 2016 09:20 #12382
Получается вам надо эдакую технику детализации? ака detail map.
Ну да, помимо основного рельефа крупных швов плитки (по UV1) нужно придать шероховатость самому материалу (по UV2 ). В играх это называлось "деколи" decauls.

Есть, конечно вариант запечь и это в нормалмэпу, но при сильном приближении результат будет неахти. (то же касается и основной диффузной карты, её надо тайлить 3х3, 4х4 например).

Поэтому и всплыл вопрос про НЕЗАВИСИМЫЕ UV нормала и диффуза. (ну а второй вопрос - мелкая шероховатость\деколи диффуза)
03 октября 2016 09:47 #12383
B4w поддерживает классические деколи. Есть демка в SDK.

Попробовал метод с 2умя текстурами. Вроде работает как надо))) только не знаю на сколько правильно смешивать normalmap-ы через mix.
Единственный минус будет накладываться текстура детализации даже когда поверхность находится далеко от камеры(.
Возможно можно как то модифицировать и использовать Camera data node для этого.
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.