Render.ru
Поддержать
Сохранить
Black Beauty
ПОДПИСАТЬСЯ
  • ПРЕДЛОЖИТЬ ПРОЕКТ
  • ДОБАВИТЬ В КОНТАКТЫ
5Записей
11Следят
1Читает
55.3 KЗаходов

Анизотропия

Autodesk MayaДизайнПубликации

Здравствуйте, люди добрые. Сегодня я хочу вновь коснуться темы анизотропии, поговорить о том, что это за зверь такой, и откуда он берётся.

Давным-давно, я хотел смоделировать трехмерку новенькой на тот момент nVidia GeForce RTX 2080 Ti, и на моменте текстурирования встал вопрос: "Каким образом получить хитроумный блик но винте видеокарты?" Такой блик встречался мне в жизни и раньше, чтобы было понятно, о чем речь, прикрепляю ряд фотографий:

anysotropy1.jpg

Прежде, чем бежим в 3d-софт пробовать повторить данное светопредставление, давайте разберемся, откуда этот блик берется.

Википедия предлагает такой вариант определения:

Анизотропи́я (от др.-греч. ἄνισος — неравный и τρόπος — направление) — различие свойств среды (например, физических: упругости, электропроводности, теплопроводности, показателя преломления, скорости звука или света и др.) в различных направлениях внутри этой среды; в противоположность изотропии.

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

Чтобы понять истинную природу хода лучей, нужно несколько курсов отучиться в области физики и оптики, поэтому головы Вам забивать не буду лишней информацией. Главное, что стоит уяснить, это то, что блик берется от кольцевых царапин. В быту можно наблюдать на посуде, или cd-дисках. Только у дисков эти "канавки" в несколько микрометров, поэтому там еще дифракция вступает в игру и наряду с интерференцией дает такой же блик, но радужного цвета.

Думаю, стоит попробовать повторить что-то похожее в моей любимой Maya. На этот раз рендерить буду в арнольде(я уже писал с другого аккаунта подобную статью, только там использовался vray). Метод, который я сегодня предложу, стар как этот мир. Здесь есть пара подводных камней, о которых я чуть позже поговорю отдельно.

Создадим небольшой цилиндр, снимем фаски и осветим сцену hdri-картой. Рендер и вьюпорт дают понять, что даже при выкручивании metalness цилиндр похож на металлический, но не хватает вот этого блика и царапин. К слову, бликом здесь и нге пахнет... Цилиндр получился зеркальным, причем в нем отражения на рендере хуже чем во вьюпорте почему-то, лол. Кто знает, как это фиксится, чикните коммент, молю.

anysotropy2.jpg

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

Прежде всего я раскроил цилиндрический брус, причем сделал 2 выкройки в UV Set Editor. Ах да, если вас бесит скайдом, то на картинке я показал, как от него избавиться. В его атрибутах надо вырубить видимость камеры и скрутить в ноль радиус во вкладке вьюпорт. Я не умею делать развертки от слова совсем, я постоянно забываю, куда надо нажимать (так как разворачивал я пару-тройку раз в жизни), поэтому сейчас методом "тыка" вроде мало-мальски пришел к желаемому результату:

anysotropy3.jpg

Короче, щас в HYPERSHADE начинается настоящий цирк с градиентом. Наша задача сделать пару нод, которые радиальным градиентом будут указывать нашему блику, как ложиться на цилиндр. Нажимаем "Tab" в пустом поле графов гипершейда и пишем airampfloat, выбираем эту ноду. Создаем таким же образом aifloattorgba, даль ше соединяем как я и в настройках рампа ставим "тип" radial и в поле пишем "юви сет" anisotropy(та самая ювиха, которую я отдельно создал). На выходе должно получиться что-то типа этого:anysotropy4.jpg

Теперь если мы перенесем c помощью ПКМ рамп в атрибут вращения (rotation) основного материала и пересоберем ноды в гипершейде, то выйдет уже что-то отдаленно напоминающее этот злополучный блик:

anysotropy5.jpg

Если внимательно посмотреть на блик боковой грани, то видно, что его колбасит в спираль. Строго говоря колбасит и анизотропный радиальный блик (это основной подводный камень), но об этом чуть позже. Идея в том, чтобы сделать маску на торцевые грани цилиндра и эту маску использвать только для радиальной анизотропии через ramp. Для этого, нам нужно сдублировать ramp (shift+d), тип изменить на circular. Кривую выстроить +- как у меня и переконектить все тоже как у меня:

anysotropy6.jpg

Далее через aicomplement и connection editor собираем такую красоту. Выход aifloat кидаем на вход aicomplement, и ПКМ перетаскиваем aicomplement на атрибут anisotropy основного материала. В connection editor выход - OutColorR, вход - SpecularAnisotropy:

anysotropy7.jpg

Дальше нам остается только OutColor нашего основного материала законектить к Surface Shader и играться с настройками Roughness, дабы получить что-то правдоподобное:

anysotropy8.jpg

Спустя некоторое количество времени я смог сплести такой клубок нод в хайпершейде, который дает результат ниже. Основная загвоздка в 2 вещах:

1. Это наш анизротропный блик закручивает. Это можно пофиксить сменой ракурса.

2. Я не умею рендерить, поэтому пример мой слишком шумный и есть вырвиглазные моменты. Дай Бог здоровья тем, кто обуздал Арнольд в полной мере! Очень-очень бы хотелось с такими пообщаться... :)

anysotropy9.JPG

anysotropy10.JPG

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

Теперь можно заниматься более сложными вещами, например, визуализацией посуды.

Я надеюсь, принцип Вам ясен. Если что-то не понятно, пишите в комменты и в личку, я очень быстро отвечаю. Очень бы хотел заручиться знакомством с cgi-специалистами, которые работают над реальными проектами и готовы поделиться жизненным опытом. Также рекомендую посмотреть этот видосик. Спасибо за внимание! Увидимся в следующих постах ;)





592
Комментарии:0
по поступлениюВсе языкиТолько русский