Войти
ПрограммированиеФорумГрафика

Процедурная генерация текстур PBR

Страницы: 1 2 Следующая »
#0
21:16, 22 авг. 2016

Добрый день.
Вот такой вопрос, кто нить понимает всю специфику PBR, чтобы можно было генерить PBR на лету с разными параметрами?
Цель - чисто приколоться и академическая. Фильтрация, генерация, перевод из одного типа PBR в другой

Ну как бы о чем речь? речь о том, что простые спрайты или текстуры можно накладывать как в фотошопе - смешением цветов, умножением, с учетом альфа канала или без
Но с PBR, учитывая специфику кодировки в текстуре - всё немного не так очевидно.
и надо сначала понять, что шифруют внутрях PBR
Схема вот есть, но нефига не понятно
Изображение


#1
21:25, 22 авг. 2016

Substance Designer годится?

#2
21:45, 22 авг. 2016

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

#3
22:38, 22 авг. 2016

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

#4
10:36, 23 авг. 2016

В PBR есть три крутилки.
1) albedo - цвет в rgb (для метала лучше из таблички бери)
2) metallic - 0 диэлектрик, 1 метал
3) smoothness - 0 шероховатый, 1 гладкий (если roughness наоборот)
Крутишь их и получаешь материал.

#5
11:30, 23 авг. 2016

K4t3N0k
> В PBR есть три крутилки.
Есть разный PBR, diffuse вместо albedo, например.

#6
11:38, 23 авг. 2016

хитроблюреную кубомапу забыли

#7
12:41, 23 авг. 2016

Dimich
> diffuse вместо albedo
Есть варианты metallic или specular.
Diffuse содержит информацию о свете, которая нарушает смысл pbr.

#8
12:46, 23 авг. 2016

K4t3N0k
> Есть варианты metallic или specular.
Да, перепутал.

#9
13:30, 23 авг. 2016

просто оставлю это здесь
https://www.fxguide.com/featured/game-environments-parta-remember-me-rendering/

#10
15:18, 1 сен. 2016

Спасибо за ссылки. Прочитал. Много полезного.
Очень понравилось описание теории PBR, где дано пояснение что отражаемый под разными углами цвет (то что отразилось) могут отличаться. Или что например при попадании света под одним градусом коэффициент отражения может быть один, а под другим углом - другой. Но на fxguide говорится в применении к рендерам в 3Д пакетах, не факт что всё так же в точности в движке например UNITY, хотя конечно принципа стараются придерживаться, иначе не назвали бы это таким термином как PBR.
Вот возник такой вопрос. С матовыми поверхностями - понятно. с полностью отражающими (очень гладкими на микроуровне) тоже понятно. У матовой (шеоховатой на микроуровне) поверхности блик будет большой и менее насыщенный, у "полированной" поверхности блик будет маленький и яркий. А вопрос такой, можно ли текстурой и если можно, то как сделать эффект например радиальной шлифовки. Поясню.
Пришлось взять картинку (это фото) на боковых металлических частях шлифовка сделана по кругу, и когда свет меняет направление, то блик как бы крутится относительно центра. По идее - это свойство поверхности на микроуровне, может как то с помощью текстуры можно это задать ?
Изображение
Или аналогичный вариант - но продольная шлифовка - тут будет эффект совсем другой. Блики тоже не точечные... и при перемещении источника освещения они будут преимущественно бегать вверх вниз на длинной такой "лунной дорожке"
Изображение
И последний вариант. много "радиальных" шлифовок. Это фото декоративной пленки. Если крутить источник освещения или эту пластинку - то все эти кружки будут синхронно "крутится", блик и тень будут "вращаться", как еще сказать...
Изображение
Можно ли такую фактуру придать материалу именно текстурой PBR ? Ведь это свойство поверхности по логике. А PBR как раз для этого и сделан.

#11
10:34, 2 сен. 2016

alex_4x
> А вопрос такой, можно ли текстурой и если можно, то как сделать эффект например
> радиальной шлифовки

Можно.
В чем проблема? Какую текстуру запихаешь в roughness - такой "формы" блик и получишь. Хоть черта лысого нарисуй.
PBR это не какой-то волшебный способ сделать материалы. Точно также везде рассовываешь текстуры.
Весь смысл pbr в том чтобы посчитать цвет пикселя "физические корректно". И как следствие - получить адекватное отображение одной модели в разном окружении.
А текстуры - это всего лишь входные параметры, которые помогают выставлять эти самые "физически корректные" свойства.

Например, если у тебя углу комнаты было затемнение, раньше ты запекал Ambient Occlusuion для этого угла прямо в диффуз. А потом, в игре, как бы ты не светил в этот угол фонариком - он всегда был темнее чем остальная часть стены.
При pbr - ты кладешь карту AO с затемнениями в отдельную текстуру и если светишь в угол фонариком - рендер понимает что вот сейчас не нужно его "затемнять", и этот самый угол выглядит примерно так-же как и остальная часть стены.
И это типо пипец как круто. Всем pbr пацаны!!

По поводу того что именно кодируется в текстурах:
- Albedo - собственный цвет поверхности
- Metallic - насколько поверхность "металлична". По этому поводу стоит почитать в другом месте. Если кратко - металлы окрашивают блики в цвет своей поверхности, неметаллы - отражают цвет как он есть.
- Roughness - шероховатость поверхности. Царапины и прочее.
- Occlusion - самозатемнение
- Normal - ну это и так понятно.
Ну и опционально - остальные текстуры: Height, Emission, Alpha и т.д.

А еще в разных рендерах эти параметры по разному называются и просчитываются. Где то вместо шероховатости обратная величина - "Smoothness". Где-то вообще не используется металличность, а цвета отражаемого света рисуется прямо в текстуре.
И так далее.. Добро пожаловать в новый дивный мир pbr :)

#12
12:37, 2 сен. 2016

alt3d
> металлы окрашивают блики в цвет своей поверхности, неметаллы - отражают цвет
> как он есть.
Ну не так же. :)
У неметалов отражение грэйскелится же.  Сам почитай подробнее.
alex_4x
> если можно, то как сделать эффект например радиальной шлифовки.
Это анизотропный блик же.
Если innuendo заглянет, то он тонко намекнёт, чего почитать.

#13
16:50, 2 сен. 2016

Наброшу и сюда. Вот всякие юнити и анрилы не умеют в задание IOR, но заставляют художников рисовать "цвет" блика при normal incidence в текстуру для неметаллов. Нафига? Анрил еще имеет некоторый specular, который вообще хз как высчитывать и какой задавать. В доках говорят, что мол, должен быть 0.5 всегда, но в редких случаях нет.

#14
17:05, 2 сен. 2016

HplusDiese
> Если innuendo заглянет, то он тонко намекнёт, чего почитать.
френеля с шликом же!)))

Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.