Уроки: Maya

Толщина стекла в Vray

Я давно искал способ, как сделать реалистичное стекло в трехмерке. В большинстве случаев уроки дублируют друг друга, советы идентичны, как и сомнительный результат. В основом шейдеры имеют ряд недостатков, которые проявляются в нужный момент. Например, при создании стекла. 
 Одно дело, когда стеклянный объект — маленький, неважный и едва видимый элемент сцены, а другое дело, когда он — центральный объект. Общая для всех рендеров проблема — толщина стекла. Прогуглите любые уроки, и вы поймете о чем я.

 Сегодня я наткнулся на вопрос одного пользователя, который спрашивал, как повторить толщину стекла, например, парфюма или бутылки. Стандартный шейдер ментал рея (dialectric) или вирея (vraymtrl) справляется только в случае тонких бокалов. А если попытаться нацепить его на бутылку, то она будет выглядеть нереалистично.
 Короче, вот совершенно простой способ, как добиться (и регулировать) толщину стекла без усложнения геометрии, танцев с шейдерами, утилитами, выкручиванием значений и бог знает чего. Нашел я этот способ во время экспериментов. Использовал Maya+Vray, но, думаю, это сработает и в других редакторах, с другими рендерами (если попробуете и получится, то дайте знать).

1. Делаем стандартную модель бутылки. С внутренней стенкой, со всеми изгибами, как положено. Не забудьте склеить все швы. Сцена у меня абсолютно простая: два источника света, два рефлектора, камера (с выставленным аттрибутом physical) и фон. В качестве освещения я еще использую image based lighting с вот этим изображением.

Сцена выглядит так:

2. Для разнообразия эксперимента я сделал граненую крышку для бутылки. На крышку и бутылку нацепил практически идентичные шейдеры (в файле со сценой разберетесь). Я ничего не мудрил с виреевским шейдером стекла, кроме как нацепил на него fresnel shader. А так, он похож на любой шейдер, который рекомендуют в сети.

Делаем тестовый рендер. Я сразу поставил высокие значения, чтобы сразу была видна разница.

Вот у нас есть почти реалистичное стекло. Но ему не хватает толщины и правильного преломления в толстом днище. К тому же крышка вовсе сгладилась, и не ясно, что она граненая. 
 Если вы внимательно изучите, как выглядят пустые бутылки на светлом фоне, то увидите, что в сгибах появляются темные преломления, отражения и прочая физика. Сейчас у нас это едва заметно по краям днища. А так, скукота.

3. В режиме полигонов выделяем все внутренние полигоны бутылки аж до горлышка, а затем экструдим вовнутрь на разумное значение. Чем больше количество таких экструдов, тем толще будет в итоге выглядеть стекло.

4. Чтобы решить проблемы с днищем, просто дублируем его чашу, небольшой офсет, экструд. В итоге мы имеем копию кусочка дна. Его мы размещаем примерно в центре.

Делаем тестовый рендер.

Появились темные контуры. Надо проверить нормали после экструда внутренней стенки бутылки. Они оказались неверными. Идем в меню, жмем reverse normals. Сразу скажу, что у сдублированного кусочка днища нормали как раз должны быть флипнуты вовнутрь. Рендер.
Дно стало хорошим. У стекла появилась толщина, особенно в районе прямых линий. Теперь осталось разобраться с крышкой.

5. С ней примерно та же процедура: выделяем faces и экструдим их вовнутрь. Чиним какие-то швы, кривые вершины... Готово.

Теперь вы можете крутить разные настройки (преломление, отражение, диффузию). Тут уже вопрос личного предпочтения в фотореализме. Задача все равно решена — стекло выглядит плотным.
 Удобство этого метода заключается еще в том, что, как ни крути эту бутылку, куда ни двигай в пределах сцены, ее свойства не изменятся. Попробуйте сделать то же самое с бокалами из уроков в сети. Минимум вы получите совершенно другие свойства материала, если чуть-чуть отодвините или повернете объект. А это означает, что свойства материала зависят практически от всего: масштаб, расположение, точки света, камера.

В моем примере бутылку можно крутить как угодно.

Файл со сценой, исходными и эдванснутными моделями, шейдерами... 
И HDR-файл для освещения сцены

Tip: чтобы усилить работу материала и общий эффект, то повысьте значение IOR примерно до 1,9. Ничего страшного, если это не по таблице в физике.

p.s.: если там ваши друзья или коллеги мучаются над стеклом, отошлите этот пример. Вдруг это именно то, что они искали. Репостите, ретвиттите, полайкайте.

24247 Автор:
Актуальность: 340
Качество: 443
Суммарный балл: 783
Голосов: 26 оценки

Отзывы посетителей:

аватар
 
korky 117 0
Что за ерунда... Зачем эта фигня в донышке... Я спокойно делал и без этого, может в вашем вирее так и нужно, я ни знаю.

https://dl.dropbox.com/u/11287293/other/final_01.jpg
аватар
 
cryboot 1 0
[/img]http://freelance.ru/users/all3dmaya/?work=1325803
ну как то так...))))
аватар
 
cryboot 1 0
аватар
 
cryboot 1 0
согласен с автором данного урока в том что стекло должно иметь толщину ... иначе рефракция будет отображаться не правильно
аватар
 
Ostap_Blender 79 0
Во, спасибо, красиво.
аватар
 
timonza-kun 12 0
для меня 10/10! как раз искал урок по вреевскому стеклу
аватар
  vip
Wasteland 351 0
Я если честно тоже не понял проблем с VrayMtl. За способ спасибо.
аватар
 
NiLArt 46 0
да - рисунок на фронтальном виде - явно палит контору - но в остальном - отличный вариант. Однако согласен с предыдущим комментом - можно просто посторить в vray mlt с правильными настройками. и материал будет вести себя одинаково в любом ракурсе (но не в любом масштабе). Автору - спасибо большое.
аватар
 
Bogdan Vitkov 34 0
ваще интересный и простой урок, потестим в реальных проектах)
аватар
 
4D_designer 36 0
Не очень понятно, какие проблемы возникают у автора с VrayMtrl. ИМХО, абсолютно готовый материал для работы со стеклом, хоть тонким, хоть толстым, хоть матовым. Не надо придумывать никаких дополнительных сущностей, нужно просто повторить то, что есть на самом деле, и будет очень реалистичный рендер с любого ракурса. Просто нужно принимать во внимание, что бутылка(или другой объект) неидеальна по форме, структуре стекла и т.п. Именно эта неидеальность и придает реализм рендеру. Толстое донышко бутылки скорее всего не является идеальным монолитным куском стекла, поэтому нужно попробовать повторить его структуру(если это важно), чтобы добиться полного реализма. То, что предлагает сделать автор, это и есть попытка "усложнить" дно. Насколько это близко к реальности? Судя по рисунку преломления в донышке на фронтальном ракурсе - не очень, но это лучше чем "ничего".
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 320 уникальных посетителей