Реалістичний металевий шейдер


13

Як створити хороший металевий шейдер?

Про різні метали скажіть більш-менш еродовані / іржаві тощо.

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

Будь-яка допомога вдячна!


1
Ваше запитання звучить як щось просте і конкретне, але насправді це не так. Ви не можете повторити металевий вигляд лише шейдером. Для цього потрібні належні текстури, тому вам потрібна фактура блискучої блиску, ймовірно, карта буксування, якщо метал зовсім нерегулярний і т.д. добре. Це не просте питання "ось якийсь код металевого шейдера".
Нікол Болас

Подивіться також на предмет анізотропних віддзеркалень - феномен, який зазвичай спостерігається у матових металах.
Девід Гувейя

@David: Це виглядає дуже здорово, можливо, це для мене трохи непосильне на даний момент, але я обов'язково перевіряю це і використовую, якщо зможу :-)
Valmond

@Nicol Дякую за коментар, я повністю в порядку з використанням текстур, мій "звичайний" шейдер складається з 3: дифуз, світіння та карта управління, включаючи Specular, Spec-power та віддзеркалення (з кубової карти)
Valmond

Швидкий пошук виявляє багато різних металевих шейдерів прямо з вуст коня: developer.download.nvidia.com/shaderlibrary/webpages/…
Патрік Х'юз

Відповіді:


4

Нещодавно я створив шейдери як для чистих, так і для чистих металів для своєї гри, що триває, і я цілком задоволений результатами.

Чистий метал: Найважливішою особливістю в моїх експериментах було відображення навколишнього середовища за допомогою кубикових карт. Я реалізував їх у режимі рендерингу текстури в режимі реального часу, але також статичні зображення часто дають хороші результати, і їх простіше розмити. Другою найважливішою особливістю був ефект френеля, який робить силуети об’єктів кращими. Це, наприклад, дає кругліший вигляд кульок. Зоркове освітлення не обов’язково потрібно, оскільки карта куба може надавати основні моменти безпосередньо. HDR-рендерінг також важливий для того, щоб відображення карти куба виглядало добре.

Матовий метал: Для Brushed металів Ви отримуєте хороші результати досить легко за допомогою кисті текстури, що - щось на зразок цьогоразом з анізотропним освітленням. Для анізотропного освітлення ви можете знайти підручники з Інтернету, але я реалізував власний, використовуючи blinn-fong в якості основи, але з піввіктора я усунув 80% дотичного напрямку. Це означає, що крім норм у ваших моделях вам потрібні дотичні або бітангенди. Роздуми про навколишнє середовище складні для матового металу. Ви можете взяти вибірку з декількох напрямків з кубичної карти на основі дотичних / бітангентних напрямків, але вам можуть знадобитися багато зразків для хороших результатів. Однак це не обов'язково потрібно, оскільки текстура та анізотропне освітлення з декількома джерелами світла вже виглядає досить приємно. Кінцевий результат у моєму випадку виглядає приблизно так:

Матовий металевий матеріал


6

Як зазначив Ніколь у своєму коментарі, є багато речей, які входять у якісний металевий шейдер. Для найкращих результатів ваш рендер повинен бути правильним для гамми та користуватися фізичними моделями затінення (див. Зокрема два статті Наті Хоффмана за цим посиланням).

Враховуючи ці речі, типовим способом виготовлення металевого матеріалу є дуже низький або неіснуючий дифузний колір і висока відбивна здатність, що коливається від 50% до 100% (у лінійному кольоровому просторі). Як ви зазначали, для деяких металів окуляр буде кольоровим.

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


Дякую, саме це я шукав! Коли я роблю роздуми з кубовою картою, можливо, я повинен використовувати своєрідне екологічне освітлення як дуже високе дзеркальне освітлення?
Валмонд

@Valmond Я не впевнений, що ти маєш на увазі під "використанням такого типу екологічного освітлення як дуже високого дзеркального освітлення". Я мав на увазі, що дзеркальне відображення повинно включати як джерела світла, так і все інше в навколишньому середовищі (додається разом), де частина "все інше" може бути реалізована як кубічна карта. Типовим способом є створення декількох розмитих кубмап для різних нерівностей, як показано тут .
Натан Рід
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.