Реалістичні метали, діелектрики

Реалістичні метали, діелектрики

UPD. Додав приклади glare, glow, flare, bloom, хроматичної аберації, віньєтування та іншого.

Це остання частина серії статей про створення реалістичного 3D.

Посилання на попередні частини:

Провідники (Метали).

У металів немає дифузійної складової, так як вони не розсіюють світло під поверхнею (вірніше, розсіюють, але таке нікчемне кількість фотонів, що його можна запросто ігнорувати). У них є тільки дзеркальні відображення.

Метали забарвлюють відображення, а діелектрики немає, оскільки у металів набагато більше значення поглинання певної довжини хвилі під час процесу поверхневого відображення. Саме тому у металів дзеркальні відображення кольорові, а у діелектриків без забарвлення.

Але при цьому у металів коефіцієнт заломлення (IOR) НЕ більше ніж у неметалів. Наприклад, у золота IOR всього лише

0,47. Вся справа в тому, що у металів велике значення комплексної складової IOR, через що значним чином змінюється форма Френелевскую кривих.

Але так уже вийшло, що якщо взяти величезні значення (20-1000) реальної частини Френелевскую рівняння і при цьому обнулити комплексну частина, то це дасть таку ж форму кривої, як і для правильного комплексного Френелевскую рівняння.

Саме тому, я вважаю, в документації до рендерер Maxwell радять використовувати такі величезні значення IOR для металів і навіть намагаються при цьому пояснити це "великою щільністю" металів (що є повною нісенітницею).

У випадку з металами світло або поглинається, або відбивається поверхнею. Величина відображень фотонів, які потрапили під поверхню і, відбившись, вилетіли назад, настільки мала, що її ігнорують.

Ідеальних дзеркальних відображень не має жоден з реально існуючих матеріалів. Полірований метал, скло і вода дуже близькі до ідеального відображенню, але все одно мають значення відмінні від 100%.

Ефект поглинання певної довжини хвилі світла для діелектриків (ми бачимо як колір діелектрика) - це в основному заслуга саме подповерхностного ефекту. А для металів це в основному заслуга поверхневого ефекту.

Френелевскую відображення для діелектриків і металів.

Правило Френеля також можна застосувати і для металів, але ви повинні бути впевнені, що використовуєте повне вираження, а не урізану (спрощену) частина, яку використовують для прискорення обчислень у випадку з діелектриками.

Воно описує відношення між відбитим і поглинутим світлом.

Більшість шейдеров не використовують комплексну Френелевскую функцію.

Для діелектриків зазвичай береться спрощена версія рівняння, в якій використовується тільки одне значення - n (це ваше значення IOR в налаштуваннях матеріалу / шейдера) в якості вхідного (кут падіння береться з рендерера). Для металів же має використовуватися повне рівняння, де вхідних значень повинно бути як мінімум два - n і k (розкид), а також повинні використовуватися комплексні числа.

У спрощеному рівнянні просто обнуляют змінну k (таким чином, залишається тільки одна змінна і не потрібно паритися з комплексними числами). Але вся заковика в тому, що нульове значення k працює тільки для діелектриків і не працює для металів, які мають складову k. змінюється в широких межах.

А тепер додайте до цього той факт, що не тільки різні матеріали, але і різні довжини хвиль (!) Падаючого світла призводять до різних значень n і k. Таким чином рівняння може бути дуже складним.

Але всі ці нюанси не важливі для діелектриків, так що ми і далі можемо успішно симулювати цей ефект використовуючи всього лише один вхідний параметр.

Однак це може бути дуже помітно для металів. Наприклад, саме всі ці комплексні значення призводять до того, що у міді колір відображень змінюється в залежності від кута падіння світла (трошки зеленуваті відображення при ковзному куті).

Таким чином, ідеально було б для металів мати таблицю зі значеннями n і k для всього видимого спектру. Саме це пояснює чому значення n (або IOR), яке ми бачимо в усіх шейдерах / матеріалах марно, коли справа доходить до налаштування матеріалу металу. Все просто, нам адже потрібно ще значення k. а оптимальний варіант - це коли n і k можна задати для кожної довжини хвилі всього видимого спектру.

Але оскільки більшість трідешніков не вміють писати свої шейдери, то для металів використовують IOR зі значенням більше 20. що дає таку ж криву відображень френеля, як для комплексного рівняння.

Реалістичні метали, діелектрики

Ймовірно, саме тому не можна в один клік змусити V-Ray фарбувати відображення в певний колір (як у золота, міді та інших металів).

Краще, звичайно ж, було б, якщо такі вирази спочатку вбудували в рендерер. Можливо, так в майбутньому і буде.

діелектрики

Проходить світло під поверхню матеріалу або відбивається, залежить від кута падіння фотона на поверхню, а також від коефіцієнта заломлення матеріалу.

Загасання Френелевскую відображень - це співвідношення між поверхневим (дзеркальним) і поверхневим (дифузним) відображенням.

Всі діелектрики мають Френелевскую відображення, так що ви завжди повинні використовувати Френелевскую загасання (Fresnel Fallof) для їх відображень.

Френелівський коефіцієта заломлення контролюється співвідношення між відображеннями в напрямку камери і відбитками в протилежну сторону від камери. Чим вище значення IOR, тим менша різниця.

Френелевскую відображення це НЕ лінійна залежність і для їх опису використовується особлива крива: більш полога на початку і дуже крута під кінець.

Реалістичні метали, діелектрики

Співвідношення між поверхневим (дифузним) і поверхневим (дзеркальним) відображенням визначається правилом Френеля. У разі рівного червоного пластика, який знаходиться в блакитному оточенні, за правилом Френеля, об'єкт буде більш синім з боків об'єкта (ковзаючі кути падіння світла) і більш червоним на частинах об'єкта, які дивляться прямо в камеру (дивіться на малюнку вище). Оскільки це співвідношення між двома величинами, то зрозуміло, що воно не може бути більше однієї з цих величин (закон збереження енергії).

Це дуже схоже на місто з блакитними дахами і червоними вулицями. Якщо ви дивитеся на це місто з дороги на деякому віддаленні, то бачите тільки блакитні даху. Коли ви пролітаєте над містом на літаку, то також бачите дуже багато червоних вулиць. Але при цьому величина дахів і вулиць завжди одна і та ж.

Дзеркальні відображення діелектриків ніколи не фарбуються.

У випадку з діелектриками частина світла завжди поглинається - це як основа комп'ютерної графіки.

Інша частина розсіюється під поверхнею матеріалу. Деякі довжини хвиль поглинаються, тим самим фарбуючи матеріал в певний колір, як у випадку з червоним пластиком. Цей випадок дуже близький до ідеального дифузії, щоб його цілком заслужено можна було описати функцією Ламберта.

Третя частина світла відскакує / відбивається від поверхні матеріалу.

Рівняння Френеля не мають нічого спільного з мікрогеометрією поверхні. Це просто статистичне середнє квантового ефекту. Тобто за допомогою рівняння Френеля описуються взаємодії, які залежать від атомної структури матеріалу.

Неправильно думати про "формі" поверхні на цьому рівні, оскільки світло взаємодіє з матеріалом виключно завдяки електромагнітним властивостям матеріалу, а не завдяки його геометричній структурі. Саме тому ми розрізняємо провідники і діелектрики - вони абсолютно по різному поводяться на квантовому рівні.

Таким чином, саме електромагнітні властивості матеріалу вирішують (грубо кажучи) який фотон (і з якою довжиною хвилі) відіб'ється, який пройде крізь матеріал, а який поглине. Саме це ми моделюємо за допомогою рівнянь Френеля.

А з іншого боку саме мікроструктура поверхні вирішує в який бік буде розсіюватися безліч фотонів. І це моделюється за допомогою BRDF.

Налаштування загасання по Френелю (для mental ray і подібних):

Спочатку ви починаєте збільшувати відображення в протилежну сторону від камери (відображення на 90 градусів) і тільки коли вони досягають максимуму, ви починаєте збільшувати відображення в бік камери (відображення на 0 градусів).

Також ви повинні розуміти, що неможливо використовувати функцію Френеля для шорстких поверхонь. Справа в тому, що функція Френеля працює тільки для ідеально гладких поверхонь.

Для трассируемого науково обґрунтованого шейдера / матеріалу ви повинні мати:

Перемикач Френеля між поверхневими і підповерхневих ефектами.

  • Повзунок поглинання-пропускання (колір)
  • шорсткість
  • Глибина (як глибоко може проникнути світло в матеріал)
  • експозиція;
  • motion blur (розмиття в русі);
  • глибина різкості (ефект боке);
  • баланс білого;
  • glare (засвітка), glow (сяйво), flare (відблиск), bloom (ореол). У правильному перекладі цих термінів я не впевнений, оскільки всі вони по суті означають одне і те ж. Так що чекаю від вас пропозицій.
  • хроматичні аберації - кольорові сліди навколо контрастних об'єктів;
  • виньетирование - затемнення кадру в кутах зображення;
  • дисторсия об'єктива.

Реалістичні метали, діелектрики

Anamorphic Flare - анаморфное відблиск

Реалістичні метали, діелектрики

Bloom (блюм) - ореол

P.S. Жінка на зображенні на початку статті є частиною відмінного 3D-проекту "Ось тільки ця остання робота" чеха Filip Novy. Зробив він її в 3ds max (Рендер за допомогою mental ray), текстури і домальовування в Photoshop. Модель в ZBrush. Обговорення роботи і сама робота тут.

Відповідей: 25 до статті "Наука створення фотореалістичного 3D (часть6). Реалістичні метали, діелектрики. Відображення по Френелю "

«Ймовірно, саме тому не можна в один клік змусити V-Ray фарбувати відображення в певний колір (як у золота, міді та інших металів).»

- Чому не можна? Рівно о один клік я це і роблю! Наприклад щоб зробити золото, колір матеріалу роблю майже повністю чорним, а колір відображення жовто-злегка зеленим-трохи сірим))) і природно відображення ... і все аля золото. Підходить для імітації золота наприклад на будь-нибуть заставках логотипів і подібне. Про какойто точної настройки сказати не можу, можливо для фотореалізму треба зробити щось по більш.

Про IOR для металів і відображення френеля знав, але ніде не Новомосковскл тлумачення ... цікавий підхід, щас буду пробувати як цей параметр відбитися на фотореалізм ...

Ух. Вік живи - вік учись Дякую
Виявляється, що відблиск буде кольоровим (не білою), якщо Saturation (насиченість) кольору в слоті Reflect дуже близька до свого граничного значення (255).

І при цьому, якщо значення Refl. glossiness буде малим (0.66 як у вас на картинці), то Saturation кольору в слоті Reflect може і НЕ бути близька до 255.
Але якщо потрібна дзеркальна металева поверхня, а не каламутна (як у вас на прикладі), то збільшення Refl. glossiness має супроводжуватися зі збільшенням Saturation кольору в слоті Reflect.

Сподіваюся зрозуміло описав ...

На мою у Вас занадто зарозумілий підхід, або у вас не max + vray)))
Налаштування майже дефолтні, як і говорив, практично в один клік меняеться колір відблиску ...
На скільки мені відомо (кажеться ви писали в тексті вище) не буває ідеально дзеркальних поврехностью. Відповідно reflect ніколи не буде 255! і reflect glosines теж не буде навеное 1! І з цього швидше за все якщо навіть ви поставите в reflect glosines 1 поверхня буде ідеально дзеркальна, а об'єкти які в ній отразяться все одно придбають жовтуватий відтінок (в нашому випадку). Я там ніколи не ставлю 1, тільки мінімум 0,99 і при цьому ми вже зможемо спостерігати маленьку засвічену точку-відблиск АЛЕ ЖОВТОГО КОЛЬОРУ прям як на крапельці роси, але жовту)))

«Але якщо потрібна дзеркальна металева поверхня, а не каламутна (як у вас на прикладі), то збільшення Refl. glossiness має супроводжуватися зі збільшенням Saturation кольору в слоті Reflect. »
- НІ просто пляма засвіти (відблиску) буде менше.

Це ж легко в максі подивитися. Я чет не доганяє, ви че не в ньому працюєте? Я чомусь думав був майже впевнений що в ньому, але чому тоді вам не відомо це?

«Метали забарвлюють відображення, а діелектрики немає, оскільки у металів набагато більше значення поглинання певної довжини хвилі під час процесу поверхневого відображення. Саме тому у металів дзеркальні відображення кольорові, а у діелектриків без забарвлення. »

Можна це хоч якось пояснити. Що значить «без забарвлення»? ЧБ вони чтоли? І будь-що забарвлюють відображення метали? Я дивлюся на відображення від своєї пластикової гуртки, вона діелектрик, очевидно, вона відображає кольорову картку і книгу, я розрізняю кольори!

Якщо дивитися в золотий злиток (посеред великого магазину, щоб було багато яскравих джерел світла (ІС) навколо), то все ІС будуть в ньому жовтими. Якщо в тому ж магазині подивитися на пластиковий яскраво червоний кулька, то все відображення ІС будуть такого ж кольору, як вони є в реальності - білі.