Specular/Gloss Workflow for Characters: Unity 5

Автор
Сообщение
На сайте c 28.06.2016
Сообщений: 66

Стандартный Specular-shader неплох для обычных объектов в PBR.  Но желаемого результата все равно нет.

Находил множество материала по этой теме, однако очень дурно это работает для персонажей

( в особенности интересует подход для создания материала кожи, глаз)

Приходится идти на различные смешивания и извращения с картами, чтобы добиться хоть какого-то приемлемого результата. Раньше пользовался другими PBR шейдерами, однако и в этом есть свои трудности.

Может я что-то не так делаю и недооцениваю всю мощь стандартного шейдера?

Кто этим занимался или может посоветовать материал для ознакомления с Specular пайплайном для персонажей?

( особенно интересно адекватное создание карты specular ) 

p.s. Трисс с текстурами была скачана, персонаж сзади же был сделан полностью мной. Материалы настраивал сам и все равно это не тот уровень графики, который ожидается при современных технологиях 

7b2df2b5eac4d158f16507334ac548b7.PNG

На сайте c 04.10.2006
Сообщений: 3708
Moscow
https://www.dropbox.com/s/5ughijhbqw3wv6v/s2013-4_Crafting-a-Next-Gen-Material-Pipeline-for-Order-1886_NOTES.pdf?dl=0  - вот почитайте, может поможет, там и код шейдера c GGX есть. Я не вникал, потому мне можно вопросов не задавать), просто поделился пейпером.
На сайте c 25.02.2009
Сообщений: 2326
Kyiv

В PBR в неметаллах Specular не используется, за редким исключением.

Используется дофолтное значение 56RGB.

Вы в чем текстурите? Как правило результат из вьюпорта квикселя или пеинтера более менее соответствует результату в движке.

Подтяните текстуры на Вашем персонаже под скачанную модель.

На сайте c 28.06.2016
Сообщений: 66
Цитата Skorpionchik:

В PBR в неметаллах Specular не используется, за редким исключением.

Используется дофолтное значение 56RGB.

Можно поподробнее? Не слышал про такое.

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

Да и хотелось бы узнать почему не используется

Цитата Skorpionchik:

Вы в чем текстурите?

Zbrush(с бейкингом) + фактура с SP.

Цитата Skorpionchik:

Подтяните текстуры на Вашем персонаже под скачанную модель.

В том-то и дело, что подгонял весь вечер, меняя и параметры и карты некоторые по насыщенности и уровням исходя из всех знаний о Specular/Glossines.

->Потому и спрашиваю доп.материала для ознакомления.

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
Можно поподробнее? Не слышал про такое.

https://www.allegorithmic.com/pbr-guide 

https://www.marmoset.co/posts/basic-theory-of-physically-based-rendering/ 

Цитата Feebon1235:
Как тогда без спекуляра обозначить все бликующие места на персонаже(глаза, на лице участки, и т.д.)?

Глосс картой. Спекуляр задает только способность к отражению поверхности, глосс задает микрофактуру поверхности, рассеивание света поверхностью.

Цитата Feebon1235:
Zbrush(с бейкингом) + фактура с SP.

Вы рисуете дифуз в збраше, а остальные карты просто заливками из пеинтера, какой то дефолтный материал кожи?

Почему полностью в пеинтере не текстурите? 

На сайте c 28.06.2016
Сообщений: 66

Глосс картой. Спекуляр задает только способность к отражению поверхности, глосс задает микрофактуру поверхности, рассеивание света поверхностью.

Ах ну да. Не корректно задал тему. Я про весь Specular/Gloss workflow говорил. Они ведь в совокупности вроде как используются)

->Skorpionchik, а есть материал по Gloss мапам для персонажей или же связанным Specular/Gloss текстурам?

В unity пробовал загружать разные вариации Specular/Gloss , но в целом придерживался мысли, что чем ближе к белому участок, тем больше бликует.

Недавно стал использовать в создании обесцвеченную Альбедо, для  корректного отображения микроповерхности кожи-> особо на материал не повлияло

Скачивал доступные модели с текстурами, чтобы на практике просмотреть, как должно все выглядеть - но даже в тех редких случаях, когда материал содержал спекуляр с gloss в альфа-канале , результат все равно был нереалистичным

хотя по карте так и не скажешь

Все это меня наводит на мысль, что все же нужно побольше знаний в этой области.

Цитата Skorpionchik:

Вы рисуете дифуз в збраше, а остальные карты просто заливками из пеинтера, какой то дефолтный материал кожи?

Кожу, как правило, в SP не раскрашиваю. И детализирую и крашу в Зебре(как кожу так и элементы одежды

Может и зря, но пока не находил причин переходить в SP( кроме как процедурности)

Вот когда надо затекстурить объекты с читабельностью материала и желательно побыстрее- тогда сразу в SP.

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
Я про весь Specular/Gloss workflow имел в виду. Они ведь в совокупности вроде как используются)

Вы пытаетесь применить старый (не PBR) workflow c PBR шейдером. Почитайте PBR гайды, особенно теорию как это работает.

Цитата Feebon1235:
Кожу, как правило, в SP не раскрашиваю. И детализирую и крашу в Зебре(как кожу так и элементы одежды Может и зря, но пока не находил причин переходить в SP( кроме как процедурности)

В браше Вы красите только один канал цвета. В пеинтере есть возможность сразу все каналы рисовать и твикать по отдельности, если требуется. И финальный результат сразу видно во вьюпорте.

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

Сделайте скрины сравенния Ваших текстур (dif, spec, gloss) и тектур из примера, и Вы сразу поймете разницу.

На сайте c 28.06.2016
Сообщений: 66

Цитата Skorpionchik:

Вы пытаетесь применить старый (не PBR) workflow c PBR шейдером. Почитайте PBR гайды, особенно теорию как это работает.

Интересно... Я все это время считал , что для PBR (в базе) необходимы Albedo, Normals, AO, Specular/Glossines или же Metallic/Roughness.  

Да я и вычитывал, и в видеоуроках, -лекциях встречался с этими картами в PBS. 

А какие же мапы используются тогда в PBR, Skorpionchik?

Цитата Skorpionchik:

Сделайте скрины сравенния Ваших текстур (dif, spec, gloss) и тектур из примера, и Вы сразу поймете разницу

И кстати, а с чего вы взяли, что у меня Diffuse?)

На сайте c 25.02.2009
Сообщений: 2326
Kyiv

PBRPhysically Based Rendering

Если в кратце, это рендер, который использует основные физические параметры материалов.

Albedo, Diffuse, Base Color, Color и т.д. Называтьмя могут по разному, но суть одна, это собственный цвет поверхности обьекта. Цвет, который поверхность отражает. Металлы не имеют собственного цвета, только цвет отражения, потому карта цвета для металлов всегда 0 RGB

Specular это степень отражаемости материала. К примеру внешний вид металла полностью зависит от отражения. Неметаллы имеют собственный цвет и намного меньшую степень отражения. По дефолту для неметаллов 

Gloss это направлленность отраженных лучей, микроструктура поверхности.спекуляр может быть от 40 до 75, но почти всегда используется среднее значение, для оптимизации и экономии памяти.

Metallic/Roughness работает точно так же, только там цвет отражаемости металла содержится на карте цвета. А разделение металл/неметалл определяется маской. Roughness это обратное значение Gloss. Просто инвертнутая карта. Шероховатость вместо блеска.

Normal Map, AO и прочие вспомогательные карты передают уже не физические свойства материалов, а структуру поверхности, освещения, самосвечения и т.д. Эти карты для всех рендеров одинаковые.

На сайте c 28.06.2016
Сообщений: 66

Skorpionchik, доходчиво, конечно, объясняете(за что спасибо). Примерно такое у меня понимание и было, но некоторые моменты в этом не ясны: 

1) Почему у меня не PBR workflow, по вашим словам, когда используются те же карты?

2) Все эти значения RGB , которые вы пишите для карт отражений/света - это ведь лишь для цвета заднего фона текстуры или же вы всем этим цветом заливаете текстуру?

3) Уже пример из карт со скачанных моделей. Первая карта трактуется как Specular, а другая( что с A-канала) -Gloss.Разве это не PBR?

1c3cdacd5eecca76a305ecab4db67209.png

3110e1e7d0bc5990dca15741667fdb5e.png

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
1) Почему у меня не PBR workflow, по вашим словам, когда используются те же карты?

Во всех рендерах есть текстуры Specular/Glossines или их аналоги.

К примеру Вы можете использовать тектсуры сделанные под Vray в Corona, Mental Ray и других рендерах. Но при этом будут определенные различия в результате, так как в уаждого рендера свои алгоритмя построения изображения.

Текстуры это всего лишь набор математических параметров. И в каждом рендере свои алгоритмы обработки этих параметров.

Цитата Feebon1235:
2) Все эти значения RGB , которые вы пишите для карт отражений/света - это ведь лишь для цвета заднего фона текстуры или же вы всем этим цветом заливаете текстуру?

Задний фон чего? Фон текстуры (пространство между ЮВ шеллами) никак не влияет на результат, так как эти значения не обрабатываются.

Цитата Feebon1235:
3) Уже пример из карт со скачанных моделей. Первая карта трактуется как Specular, а другая( что с A-канала) -Gloss.Разве это не PBR?

У Вас на примере классический Old Gen workflow который раньше использовался в большинстве игровых движков.

Текстуры своей модели Вы так и не показали.

На сайте c 28.06.2016
Сообщений: 66
Цитата Skorpionchik:

Задний фон чего? Фон текстуры (пространство между ЮВ шеллами) никак не влияет на результат, так как эти значения не обрабатываются.

Вот и я думаю..Неужели вы заполняете все одним цветом?

как же тогда на одной карте определить бликующие участки (этот вопрос не даст мне покоя )

И почему тогда карта с обозначением конкретных участков является старым workflow.

И если это Old Gen, то что тогда PBR в нынешнем представлении...smiley-sad.gif

В общем, на ваш суд:

 Я, откровенно говоря, уже запутался.

1fdefa8f520d441a7dabcf58be505655.png45705b15db1b5bda27c52d6276eb114d.png890a8318e1301dab60164986c728cb85.png57b2b3375aac40a7fa3415f7caa73ea8.png66686158ac98a47f80e67b1ac1839138.png

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
что тогда PBR

Рендер это.

В Вашем случае залейте specular сплошным цветом, 56 RGB и сравните результаты с текущим. А дальше уже работайте с другими текстурами.

И гайд внимательно почитайте. там все моменты подробно описаны и показаны в картинках.

На сайте c 28.06.2016
Сообщений: 66
Цитата Skorpionchik:
Цитата Feebon1235:
что тогда PBR

С этими ,блин, названиями)

PBS я имел в виду. Иными словами - что нынче используется в некстгенных играх?

Там тоже это описывается?

Цитата Skorpionchik:

В Вашем случае залейте specular сплошным цветом, 56 RGB и сравните результаты с текущим. А дальше уже работайте с другими текстурами.

Значит...Определять места бликов надо уже с помощью карты Gloss?

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
PBS я имел в виду. Иными словами - что нынче используется в некстгенных играх?

Используется рендер PBR (Physically Based Rendering) и шейдера PBS (Physically Based Shader). Все верно в общем smiley-smile.gif

Цитата Feebon1235:
Значит...Определять места бликов надо уже с помощью карты Gloss?

Совершенно верно.

И в самом Unity создайте себе тестовую сцену с более менее нормальным освещением, и примерно такую же в сабстансе, чтобы результат соответствовал.

https://support.allegorithmic.com/documentation/display/SPDOC/Unity +5

Вот тут достаточно понятно расписано.

На сайте c 28.06.2016
Сообщений: 66

Skorpionchik, спасибо за потраченное на меня время, попробую :D

Кроме своего основного вопроса теперь появился еще новый, правда, насчет современного workflow к работе

Ладно, все равно благодарю!

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
спасибо за потраченное на меня время, попробую

Как говорится "Главное не бояться" smiley-smile.gif

Пробуйте, экспериментируйте... Благо сейчас есть интернет и полно информации, не говоря уже о форумах smiley-smile.gif

На сайте c 28.06.2016
Сообщений: 66

И раньше видел, что в карту Specular добавляют кроме ч/б и другие цвета. Однако возникает вопрос, а в каких случаях это вообще резонно?

Гайдов , которые порекомендовали, почитал, но там это, вроде как, не описывается.

*все текстуры трактуются как для PBS

51d8ad8d4f2e45a20e071a822424a4d7.PNG

7f267c6d42b95a5c0b19418384f04056.png

На сайте c 25.02.2009
Сообщений: 2326
Kyiv
Цитата Feebon1235:
И раньше видел, что в карту Specular добавляют кроме ч/б и другие цвета. Однако возникает вопрос, а в каких случаях это вообще резонно?

Specular всегда цветная карта...сделайте Вы например бронзу или другой цветной метал с ч/б спеком...

Specular это цвет, который отражается в материале.

ЗЫ: На глаз спек не нужен, если это не терминатор :)

ЗЫЫ: Вы гайды так и не читали, как я вижу.

На сайте c 28.06.2016
Сообщений: 66

Skorpionchik, хех, ну это то да, я и раньше слышал.  Интересуют именно эти исключительные моменты использования цветного спекуляра..

Ладно, покопаюсь еще, если что.

Спасибо.

Читают эту тему: