Форум

Создание реалистичных отражений

29 декабря 2016 15:05
Здравствуйте! Возникла необходимость сделать максимально реалистичные отражения объектов на поверхности пола. Вот как примере по ссылке.

Мне не удалось добиться такого эффекта по большей части по тому, что отражения не реагируют на карту нормалей и поверхность пола получается всегда очень стеклянной. Хотелось бы добиться эффекта Френель (Fresnel) на фактурной поверхности с учётом её рельефа.
29 декабря 2016 15:54
Мне не удалось добиться такого эффекта по большей части по тому, что отражения не реагируют на карту нормалей и поверхность пола получается всегда очень стеклянной. Хотелось бы добиться эффекта Френель (Fresnel) на фактурной поверхности с учётом её рельефа.
Скорее всего в френель не подана сама карта нормалей. Можно посмотреть на файлик?
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
29 декабря 2016 16:23
Вот пример за 10 минут
floor.blend
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
29 декабря 2016 16:41
Михаил, спасибо! Классное решение. Но у меня ещё более замороченный сценарий :) Хочу делать кастомизацию комнаты, например менять материал стен или их цвет. Как бы вы поступили с отражениями? Меняли кубомапу при переключении цвета или может есть ещё способы?
29 декабря 2016 16:53
Такое отражение должно быть размыто. Динамическое отражение Blend4Web размыть нельзя, остаётся только заранее размытая карта окружения.
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
29 декабря 2016 21:29
Работаю над домом с небольшой кастомизацией пока остановился на статичных кубомапах.
С динамическими отражениями смотрится хуже(
30 декабря 2016 01:02
Материал, который создал Михаил очень хорош, однако у меня возникли сложности с ним. Все идет хорошо, пока я не пытаюсь добавить свои текстуры. У меня есть пак текстур, которые были разработаны под работу с Cycles. Обычно я использовал их и в других программах и все было нормально.

Однако, при использовании моей текстуры нормалей с материалом Михаила он не работает корректно. Возникает странный шейдинг, когда я меняю параметр Strenght у ноды Normal Map. Если менять этот параметр с текстурой Михаила, она просто становится более явной, как это и должно быть. Но когда я заменил текстуру на свою, изменение этого параметра приводит к странному шейдингу. Возможно я где-то ошибся. Я заметил, что текстура, которую использует Михаил отличается от той, что есть у меня (текстура Михаила более резкая и контрастная). В связи с этим возникает вопрос. Что не так с этой текстурой, использует ли Blend4Web какие-то особенные текстуры нормалей?

Второй вопрос: Я использую в том числе текстуры с сайта Poliigon.com. На этом сайте мне доступны текстуры Specular, Normal, Reflection (Specular), Gloss и также так называемые Overlay-текстуры, которые добавляют такую детализацию к материалу как потертости, отпечатки пальцев. Как мне использовать все эти текстуры, к которым я привык в Cycles в Blend4Web, возможно ли это?

Я приложу к письму все эти текстуры, и текстуру нормалей, которую использовал Михаил и то, как эти карты применяются в Cycles по версии Эндрю Прайса. Как я и написал, текстура от Михаила, чем то отличается от моей, но я не могу понять в чем дело…

https://yadi.sk/d/DQ0tuh1d35qXZh
30 декабря 2016 11:38
Однако, при использовании моей текстуры нормалей с материалом Михаила он не работает корректно. Возникает странный шейдинг, когда я меняю параметр Strenght у ноды Normal Map. Если менять этот параметр с текстурой Михаила, она просто становится более явной, как это и должно быть. Но когда я заменил текстуру на свою, изменение этого параметра приводит к странному шейдингу. Возможно я где-то ошибся. Я заметил, что текстура, которую использует Михаил отличается от той, что есть у меня (текстура Михаила более резкая и контрастная). В связи с этим возникает вопрос. Что не так с этой текстурой, использует ли Blend4Web какие-то особенные текстуры нормалей?
Скорее всего надо просто поставить non-color в настрйоках коррекции карты номралей, и номраль будет отображаться корректно.


Второй вопрос: Я использую в том числе текстуры с сайта Poliigon.com. На этом сайте мне доступны текстуры Specular, Normal, Reflection (Specular), Gloss и также так называемые Overlay-текстуры, которые добавляют такую детализацию к материалу как потертости, отпечатки пальцев. Как мне использовать все эти текстуры, к которым я привык в Cycles в Blend4Web, возможно ли это?
Все эти текстуры можно использовать так же, исходя из названия, за искючением специфических Gloss и Overlay. Specular, Normal и Reflection можно подать в соответствующие входы во входе ноды Material. Остальные же придется добавлять уже методом проб и ошибок и без элемента творчества тут не обойтись. Надо значть конкретно как это нода влияет на шейдинг сайклосовского материала и сэмитировать то же самое средствами Blender Internal - дать однозначный ответ тут сложно. Ну могу предположить что Gloss можно использовать как маску для смешивания двух кубамап: одной жесткой а другой размытой и накладывать уже поверх основной тектуры. А оверлей я думаю всё будет зависеть от того что конкретно данная текстура должна делать, если это пятна грязи то можно просто Multiply или как то еще, здесь нужен именно творческий подход к проблеме и однозначно ответить достаточно трудно. С каждой текстурой и материалом нужен отдельный индивидуальный подход.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
30 декабря 2016 11:51
Однако, при использовании моей текстуры нормалей с материалом Михаила он не работает корректно.
https://www.blend4web.com/doc/ru/textures.html#id7 - none-color


Как мне использовать все эти текстуры, к которым я привык в Cycles в Blend4Web, возможно ли это?
Возможно, но не надо забывать что cycles это ray-trayce рендеринг, в то время как Blend4Web (как и любые другие real-time и игровые 3D движки) с ray-trayce пока что никак не связаны, или связаны очень посредственно. Собственно сейчас, многие игровые движки (и некоторые сервисы - sketchfab, marmoset) имитируют некоторые ray-trayce эффекты и в целом приводят фейковую картинку real-time'а в соответствие (приближенное) с ray-trayce картинкой. Название этому действу PBR (PBS). Мы тоже двигаемся в этом направлении, сейчас уже точно осознанно, и появится PBR у нас через несколько месяцев (2-4).
Что делать сейчас?
Мой совет - ждать, так как для того чтобы имитировать PBR там где его нет, нужен навык, время и удача. И всё равно результат имитации будет значительно отличаться от реального PBR, хоть и может выглядеть красиво.
Ну или использовать более классические техники для real-time графики, используя diffuse, specular, ao, normal map, environment map и всё такое.
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
30 декабря 2016 11:59
Ну и пример - floor.blend (поправил)
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.