Новости

image4

Друзья, настало время поговорить о золоте. Но не о том золоте, которые вы видите каждый день у себя в руках ^_^, а о золоте виртуальном. Сегодня расскажу вам одну фишку, которая позволит лучше понимать технику создания золотого материала для рендера.

Большинство ювелиров-тридешников используют для визуализации своих изделий рендер keyshot, потому что он простой, имеет библиотеку материалов, и работает как стороннее приложение, не привязанное ни к одной 3d программе, поэтому буду объяснять создание материала именно на его примере.

Немного физики

Когда в природе свет попадает на реальную поверхность, он отражается, рассеивается, преломляется, поглощается, и мы видим определенный цвет поверхности. А для того, чтобы изобразить какой-либо материал на экране, все  системы рендеринга используют специальные алгориты, которые ещё называются шейдерами (от английского to shadе, что можно перевести как “затенять” или “закрашивать”).

image6

Эти шейдеры как раз и описывают все возможные варианты взаимодействия виртуального света с виртуальной поверхностью, и могут быть универсальными (для изображения любого типа материала) или специальными (для изображения определенных типов: стекла, пластика, металла, тканей, воска, источника света и т.д.)

image12

Такое разделение помогает упростить настройки для пользователя, и ограничивает возможности создания совсем нереалистичных материалов.

Мы пока отдельно разберем только шейдер металла, и посмотрим, что с ним не так.

Металл (в нашем случае это полированное золото), является проводником, а это значит, что свет не будет рассеиваться или проникать внутрь поверхности, но зато будет хорошо отражаться и поглощаться. И та часть спектра видимого света, которая не поглотилась, а отразилась от поверхности, даст нам тот самый цвет полированного золота.

Вроде бы всё просто, но всё-таки есть нюансы.

  1. Коэффициент отражения и поглощения

Как вы знаете, видимый свет – это электромагнитное излучение, которое воспринимает наш глаз в диапазоне от фиолетового до красного цвета, и при попадании на поверхность металла эти цвета будут в разной степени отражаться и поглощаться. В физике света за это отвечают, соответственно, коэффициент отражения (refractive index) и коэффициент поглощения (extinction coefficient). Их значения будут отличаться для разных металлов и длины волны света. Однако в системах рендеринга для упрощения часто используется только один параметр – коэффициент отражения, и это уже немного нарушает реалистичность.

На сайте refractiveindex.info можно найти эти параметры для использования в 3D визуализации.  https://refractiveindex.info/?shelf=3d&book=metals&page=gold

image13
  1. Эффект Френеля

Этот эффект заключается в том, что свойства отраженного света будут изменяться в зависимости от угла падения света на поверхность. К примеру, чем больше угол падения-отражения, тем сильнее будут отражения от этой поверхности. Тут можно привести аналогию с мячиком. Если бросить мячик прямо в стену, он резко потеряет свою скорость, а если бросить его по касательной к стене, то он отскочит, и будет лететь дальше почти с той же скорость.

image7

В природе этот эффект лучше всего наблюдается на искривленных пластиковых поверхностях, когда на краях отражения видны лучше, чем в середине.

image9

Однако для металлов эффект Френеля будет выглядеть несколько иначе. Поскольку свет – это электромагнитное излучение, которое взаимодействует с металлом на квантовом уровне, то в зависимости от угла падения света на поверхность будет изменяться и отражающая способность, и коэффициент поглощения для различных длин волн.

image2

Как всё это выглядит на практике?

Если в keyshot взять обычный шейдер металла, то мы увидим, что в параметрах уже есть настройки для золота, серебра, меди и т.д. Это физически корректные шейдеры, которые используют предварительно посчитанные и заданные параметры для отображения этих материалов. Мы можем только менять шероховатость материала и толщину оксидной пленки для имитации анодированного металла.

image1

Что касается материала золота, то эти параметры подобраны для чистого 24 каратного золота, которое вообще не используется в производстве ювелирных украшений. А сплавы 18К или 14К уже будут иметь другие оттенки. В какой-то мере их можно попытаться заменить похожими оттенками меди, бронзы или хрома (для родированных поверхностей), и это будет вполне подходящим решением для многих случаев, но если нужно будет создать свой определенный оттенок сплава для розового, желтого, красного или зеленого золота, то придется переключиться в режим color. И тут сразу возникнет проблема, т.к. оттенок на краях будет уходить в серый цвет, чего быть не может.

image11

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

В настройках этого шейдера есть два основных параметра, отвечающих за цвет объекта. Это диффузная часть (diffuse) и блик (specular). Эти значения будут разными. Диффузная часть будет более темная, а блик – светлым. Причем блик обязательно должен иметь какой-то оттенок. (Напоминаю, металл – это проводник, а свет – электромагнитное излучение, то он будет взаимодействовать с поверхностью металла). Как мы уже выяснили выше, часть света поглотится, а часть преобразуется в определенный оттенок поверхности.

Чтобы понять, где диффузная часть, а где блик, можно задать разные цвета этим параметрам, и всё сразу станет видно.

image8

К сожалению (или к счастью) в keyshot нельзя задать коэффициент преломления для каждой длины волны, но зато можно имитировать этот эффект с помощью параметров диффузного цвета и блика.

image10

Для создания металлических поверхностей нужно обязательно отключить галочку fresnel. И в этом случае параметр refractive index не будет влиять на степень отражения поверхности. В противном случае поверхность будет выглядеть как пластик.

Есть ещё одно важное правило при создании материалов: Никогда не выводить яркость цвета в максимум! Это значит что никогда не нужно устанавливать абсолютно белый или абсолютно черный цвет для бликов или диффузных составляющих. Это сразу убивает реалистичность. Устанавливайте от 2% до 98% яркости.

image5

Используйте режим HSV (Hue, Saturation, Value) для работы с цветом. Это позволит вам более точно контролировать оттенок, насыщенность и яркость цвета. Сначала установите оттенок, затем насыщенность и яркость в процентах.(Не ставить 100% или 0%). Для создания различных оттенков золота вам нужно будет только регулировать параметр Hue в диффузной и бликовой зоне, а также немного изменять насыщенность блика.

image3

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

А в следующий раз мы поговорим о шероховатостях и других физических дефектах поверхности. Следите за новостями.

Screenshot_16

 Понравилось? Расскажите друзьям.