SSS в скинах

91 сообщение / 0 новое
Последнее сообщение
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229
SSS в скинах

https://www.deviantart.com/dfggcxbbb/art/Proper-Subsurface-Scatter-Shadi...

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

Инфа тем не менее интересная и, полагаю, полезная. Сам пока не пробовал, не до того.

Вверх
Понравилось 2.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

G8F с данными настройками SSS (HDRI эта):

Вверх
Понравилось 1.
Alexx
Аватар пользователя Alexx
В сети
Последнее посещение: 22 сек. назад
Регистрация: 20.09.2019
Сообщения: 142
Рейтинг: 82

Грязно получилось. Как-то слишком даже.
Но мысль верная. Насколько я понял теорию, человеческая кожа состоит из трех основных слоев
1. Слой жира. Очень тонкий, отражает как бесцветный металл, но немного, несколько процентов света (зависит от типа кожи (сухая или жирная) и от места на теле - под мышками, на носу и лбу немного больше).
2. Эпидермис. Тонкий слой, покрытый микропорами. Если кожа натянута (нос, голени), микропоры менее заметны. В силу этого отражает матово часть света. Другая часть проходит сквозь, рассеиваясь.
3. Дерма - относительно толстый слой, пропитанный сосудами. Именно он дает красноватый оттенок и голубые венки. В нем свет частично рассеивается, а частично отражается окончательно.
Так что рендер по слоям, если мы не хотим, чтобы кожа выглядела как пластик, обязателен. Я сам, как всякий 3d-шник, ищу свой скиншейдер пару лет уже. Не нашел пока. Склоняюсь к мысли, что должны быть все слои - dual lobe для тонкой настройки блеска, glossy, metal flake с небольшим весом как эмуляция слоя жира и top coat как слой микропор. Получается что-то типа этого
11111
Критику и замечания приму с благодарностью.
Transmitted Measurement Distance тут 1. Если ставить меньше - кожа будет очень грязной. Я понимаю, что 0.01 больше соответствует реальности, но так по мне лучше. А вот trans color 254-254-254 - это интересно, не знал. Раньше ставил красный или оранжевый.
Модель Gia 8, Translucency Color - осветленный diffuse. Dual lobe - вес 0.7, Glossy Layered Weight - 4, Metal Flake Weight - 0.12, Top Coat weight - 3

Вверх
Понравилось 1.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Столь многим сразу хочется с вами поделиться, ребят! Но, сил моих нет систематизировать и осмыслять все, что удалось нарыть... )

По статье:
1. Не вижу смысла в спектральном рендеринге кожи дазовских моделей на Uber Shader-е. Насколько я понял из документации, спектральный рендеринг позволяет визуализировать в RGB некую "результирующую" просчета с учетом невидимой части спектра. Это может быть полезно, когда требуется построить строгую модель поведения света в среде(ах) по точным физическим параметрам. Поправьте, если я, добрый человек, "ничему не учился и всё перепутал".

2. Из чего я, собственно, вывожу, что нет смысла... Uber шейдер - не сказать - "примитивный", но достаточно простой шейдер. Во-первых, в нём нет возможности (ни смысла) указать радиометрические параметры, всё целиком и полностью построено на RGB-модели. Во-вторых, он позволяет строить только упрощенные модели. Если различные виды отражения в нем можно так или иначе моделировать несколькими слоями, то для эффекта прохождения света через объём (Transmission - так и не смог вспомнить как это одним словом по-русски) - это один однородный слой (см. ниже).

По моделированию кожи в DAZ вообще:

Достаточно подробно этот вопрос разжёван у V3Digitimes в Skin Shading Essentials Tutorial. Смотрите PDF к её уроку.

От себя добавлю про "однородный слой" и собственные наблюдения.

Под "однородным слоем" я имею в виду то, что Volume настраивается для одного однородного объёма (фигуры, Genesis, например). В шейдере нет возможности выделять слои, например, выделить внутри объема ещё два объемных слоя (эпидермис и дерму) и задать для них настройки прохождения и рассеивания света отдельно. Shader Mixer не берём. Да и нужно ли? А не сводится ли задача к тому, чтобы просто задать цветовые характеристики картой?

Настройки SSS в новых моделях уже в принципе типовые. А причина разных визуальных результатов - различия в используемых текстурах. Это может показаться очевидным, но есть наглядный эксперимент, который позволяет прочувствовать всю боль ещё до того как запутаетесь в настройках Volume+Translucency+Diffuse) Закиньте дифузную текстуру в фотошоп на новый слой, продублируйте его и установите смешение слоев (Blend Mode) в режим Multiply. Вот примерно так поменяется вид вашей кожи при высоких значениях Translucency Weight в настройках шейдера. А теперь добавьте сюда ещё выходной цвет Volume.

Резюме: дьявол кроется в картах (текстурах)...

Practical Modeling and Acquisition of Layered Facial Reflectance. Если кому-то интересно у меня много такого.

Вверх
Понравилось 1.
ddos_it
Аватар пользователя ddos_it
Не в сети
Последнее посещение: 12 мин. 40 сек. назад
Регистрация: 21.05.2018
Сообщения: 2329
Рейтинг: 1600

алло окодемики, есть кто дома, на Западе за вас всё уже давно изобрели, можете вылазить из бомбоубежища

Вверх
Понравилось 0.
Rammy
Аватар пользователя Rammy
Не в сети
Последнее посещение: 1 месяц 1 неделя назад
Регистрация: 24.10.2018
Сообщения: 419
Рейтинг: 381

Spectral rendering - On

- G.W. Marks! Здорово получилось! Не делали рендер в Irey? Было бы интересно сравнить!

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Не делали рендер в Irey?

Это Iray, только режим рендеринга другой. Но, похоже я погорячился про спектральный рендеринг...

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

SSS Color: 0.84, 0.69, 0.63:

Вверх
Понравилось 2.
Ametis81
Аватар пользователя Ametis81
Не в сети
Последнее посещение: 1 месяц 1 неделя назад
Регистрация: 20.01.2020
Сообщения: 673
Рейтинг: 2030

1

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Дошли руки покрутить настройки из статьи. В принципе... не бесспорно местами, но зато похоже упрощает жизнь, в том смысле, что шейдер получается "на все скины" и придется только текстуры подгонять Scratch one-s head Впрочем еще покрутить надо.

Не вижу смысла в спектральном рендеринге

Ну и правильно. Там всего лишь двойное преобразование значений шейдерных RGB: сначала в спектр для мат.обсчетов и далее из "обсчитанного по правильному" спектра обратно в RGB для вывода в/на картинку/экран. Причем каждое из преобразований можно делать двумя методами и в итоге получить 4 "правильных" рендера, которые могут значимо различаться на глаз. По сравнению с "неправильным обсчетом RGB" в лучшем случае ничего не изменится, в худшем получим относительный сдвиг цветов, который придется как-то компенсировать - шейдерами, светом, или постобработкой. Но зато в придачу к осознанию что у нас теперь "всё правильно" и временным затратам на компенсацию, получаем дополнительную нагрузку на видеокарту и увеличенное время рендера. Счастье же! )

Настройки SSS в новых моделях уже в принципе типовые.
...
Яркость кожи вы регулируете ползунком - Translucency Weight (от 0.5 до 0.9). Чем ниже значение, тем ярче кожа, а чем выше, тем кожа более темная, контрастная. Я обычно работаю с 0.5.

Стоп-стоп. Translucency Weight отвечает за то, насколько сильно кожа просвечивает, а не за её яркость. 0.9 из статьи мне кажется завышенным значением ("красный нос"), 0.5 наверное маловато (может не быть нормального просвета ушей и пальцев), а вот ~0.7 ближе к золотой середине. Впрочем транс работает вместе с объемом и тут могут быть варианты.

Если кому-то интересно у меня много такого.

Интересно. Скинь архивчиком?

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Там всего лишь двойное преобразование значений шейдерных RGB...

Благодарю. Попробую изучить вопрос.

Стоп-стоп. Translucency Weight отвечает за то, насколько сильно кожа просвечивает, а не за её яркость... Впрочем транс работает вместе с объемом и тут могут быть варианты.

Это да. В общем же случае, при изменении Translucency Weight значительно будут меняться яркость и тон кожи. На счёт моего: "яркость кожи вы регулируете ползунком - Translucency Weight" - это было сильное упрощение, чтобы не углубляться, а то вкупе с Volume получилась бы целая лекция. Я, кстати, не верно выразился выше, когда описал Volume как "один однородный слой", в Volume как раз и задается его неоднородность, я имел в виду просто один слой, но похоже это проигнорировали).

Теория, исследования и прочий материал по теме кожи и не только.

Вверх
Понравилось 1.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Покрутил еще.

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

Текстуры SSS/Specular/Normal cозданы в GIMP из базовой. SSS наложенная в Translucency Color - просто осветленная (15-20%) диффузная. Можно взять и чистый диффуз, но кожа будет выглядеть более темной и контрастной.

Translucency Weight как и полагается отвечает за просвечивание. Оптимальный вариант 0.6-0.7. Значения выше придают коже "леденцовый вид", ниже - более светлая и "плоская" кожа (теряется объем).

Второй по значимости влияющий на внешний вид параметр - SSS Color. RGB 254 в нем как отправная точка, понижение дает менее прозрачный объем И увеличивает контраст/детализацию текстуры из Translucency Weight (сильное понижение может выдать эффект "грязная кожа").

Пока остановился на SSS Color = 252. Правда в сочетании с Translucency Weight=0.7 наблюдается небольшое излишнее просвечивание в области ноздрей и пока не определился что лучше - либо понижать SSS Color еще, либо Translucency Weight в сторону 0.6, либо плюнуть и оставить.

Сравнение влияния Translucency Weight 0.7/0.9 и текстур Diffuse/осветленной в Translucency Color. SSS Color = 254.

Вверх
Понравилось 3.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

RelaxArt, можно как-то расшарить дифузную карту и HDR, которой освещали? Хочу попробовать SSS по-своему подкорректировать.

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Интересно было бы посмотреть ещё на этот шейдер и текстуры:

Вверх
Понравилось 1.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Сабстанспайнтеровский Soft_1Front_2Backs.exr из Studio. Настройки рендера - дефолт.

Текстуры придется у Флоранж спрашивать Secret В принципе шейдер на любых текстурах должен прокатить, здесь нет всей той мути с невнятными кастомными оттенками, которые приходится править "методом научного тыка" под другой набор текстур.

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Интересно было бы посмотреть ещё на этот шейдер

NGS2 смотрел, показался излишне навороченным. Как небесные сферы на эпициклах, математически всё вроде правильно, но...

Вспомнился в тему анекдот (в смысле занятная история) из студенческих времен )

Препод принимает курсовые. Глядит на чертеж с минуту, размашисто перечеркивает красным карандашом и говорит:
- Следующий!
Студент ошарашенно смотрит на перечеркнутые плода своего труда:
- Вы даже записку не посмотрели!!!
- А некрасиво! Не будет работать...
При вдумчивом разборе препод оказался прав.

Вот и с NGS как-то также Unknw

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

наблюдается небольшое излишнее просвечивание в области ноздрей

Исправлено.

Translucency Color = Diffuse Light. Translucency Weight = 0.9. Для усиления/ослабления SSS эффекта изменяйте Scattering Measurement Distance в пределах от 0.0010 до 0.0030 (или больше, если есть желание "зажечь" Smile ).

В принципе, эти настройки тоже должны работать с большинством текстур. "Со всеми", пожалуй, не скажу) В наших примерах всё-таки, надо отдать должное Флоранж, текстуры хорошего качества.

Шейдер

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Исправлено.

Я почему зацепился за тот ситап - там нет дополнительных цветов на текстурах. Отдельный цвет это же по факту всё равно что добавить оттенок текстуре. А зачем её дополнительно красить, если она готовая? Может с шейдером тогда что-то не так?
"Слегка серый" RGB 254 или 250 меня устраивает в цветах, а розовый, оранжевый или голубоватый - ну никак нет. Чуть будет новая текстура темнее или светлее и опять придется методом тыка подбирать несколько оттенков. "Некрасиво!"(с)

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

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Я почему зацепился за тот ситап - там нет дополнительных цветов на текстурах.

Ну, хорошо, а так? Поднастроил, чтобы один в один с цветом текстуры было.

Translucency Color = Diffuse "Normal", т.е. одна и та же текстура в Base Color и Translucency Color. Остальное видно на скринах.

Выложили бы уже наконец айреевцы доки по volumes, который год жду

Я все-таки, за не имением доков, рекомендовал бы на PDF мануал к этому видео обратить внимание Skin Shading Essentials Tutorial.

Там только одной фразы не хватает, чтобы всё понять: "сумма коэффициента пропускания (Translucency) и коэффициентов отражения (Diffuse+Specular/Glossiness), поглощения (Transmit) и рассеяния (SSS) равна единице") Если только из контекста.

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

*(Diffuse,Specular,Glossiness)

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Перечитываю своё сообщение и понимаю, что опять нагородил...

Там только одной фразы не хватает, чтобы всё понять: "сумма коэффициента пропускания (Translucency) и коэффициентов отражения (Diffuse+Specular/Glossiness), поглощения (Transmit) и рассеяния (SSS) равна единице") Если только из контекста.

Наверно, лучше написать так:

Сумма коэффициента пропускания и коэффициентов отражения, поглощения и рассеяния равна единице.

Пропускание - задается в группе настроек Translucency.
Отражение - задается в группах настроек Diffuse, Glossy, Dual Lobe, Top Coat и Metallic Flakes(?).
Поглощение - задается настройками Transmitted Measurement Distance и (TDM) и Transmitted Color.
Рассеяние - задается группой настроек SSS (Scattering Measurement Distance, SSS Amount/SSS Colour и SSS Direction).

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Ну, хорошо, а так?

Попозже гляну. Разболелось всё, надо передохнуть.

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Сцена.
HDRI - Soft_5DaylightStudio.exr

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Вот, пожалуйста, здесь всё про кожу.

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Красный нос
Untitled2

Вверх
Понравилось 0.
Alexx
Аватар пользователя Alexx
В сети
Последнее посещение: 22 сек. назад
Регистрация: 20.09.2019
Сообщения: 142
Рейтинг: 82

на Западе за вас всё уже давно изобрели

Изобрели, кто бы спорил. Очень хороший скин-шейдер, например, у эпиков в UE4. Только где этот UE4?
Идеального скин-шейдера под Iray я не видел пока. Ни у одного вендора.

NGS2 смотрел, показался излишне навороченным.

Навороченность - не самая большая его проблема. Нет бампов, кожа блестит равномерно везде (в реале- не так), поры слишком крупные, особенно на лице, а хуже всего - задранное значение Glossy Weight дает неприятные глянцевые тени там, где их быть не должно. Но в целом идея со слоем микропор мне нравится.

Получился весьма примитивный, но вроде вполне рабочий шейдер

Попробовал. При HDRI еще терпимо, а в Scene Only модель смотрится пустой внутри. Очень неприятное зрелище.

G.W.Marks - большое спасибо за материалы. Втыкаю.
Мне все же кажется, Вы делаете одну методологическую ошибку. Настраивать skin shader в дефолтном HDRI или чем-то подобном - так себе затея. Там свет падает на модель со всех сторон и проглатывает все косяки.
И лучше конечно использовать референс. Взять фотографию в хорошем свете, но без постобработки, и попытаться воспроизвести. У меня получилось вот так

Слева фото, справа - рендер.
На фото два источника света. Холодный рисующий слева и нейтральный заполняющий справа. Соответственно сцена сделана в режиме света Scene Only.
Позу и фигуру точно воспроизвести не пытался. Речь только о skinshader.
От слоев Glossy и Metal Flake отказался вообще. Блеск настраивается Dual Lobe и Top Coat.

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Alexx, благодарю за комментарий. При настройке скина, за референс я беру дифузную текстуру. Делаю один в один с ней, при мягком нейтральном освещении (Soft_5DaylightStudio HDRI). А результат показываю со стандартным освещением, чтобы можно было сравнить скин "из коробки" и после настройки.

Вверх
Понравилось 0.
ddos_it
Аватар пользователя ddos_it
Не в сети
Последнее посещение: 12 мин. 40 сек. назад
Регистрация: 21.05.2018
Сообщения: 2329
Рейтинг: 1600

art'Э

Вверх
Понравилось 2.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

А чё, нормальный...

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

И лучше конечно использовать референс. Взять фотографию в хорошем свете, но без постобработки, и попытаться воспроизвести.

Не встречали HDRI с людьми?

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

При HDRI еще терпимо, а в Scene Only модель смотрится пустой внутри. Очень неприятное зрелище.

Да, есть такое. А я при темном HDRI с посветкой сзади получил "сухую апельсиновую корку" спереди

Хочется универсальный скин-шейдер, который не надо исправлять и хакать при изменениях освещения и/или текстур, но вот пока не никак не выходит Unknw

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Предлагаю в Discord-e на эту тему пообщаться.

Вверх
Понравилось 1.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Был бы еще дискорд )

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Настройки под светлые текстурки:

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Для красных на просвет ушей за основу можно брать эти цвета SSS (на скриншотах ниже). А дальше уже калибровать настройками коэффициента пропускания (просвечивания - как вы называете Translucency Weight), глубиной поглощения (Transmitted Measurement Distance) и глубиной рассеяния (Scattering Measurement Distance) Примеры:

Вверх
Понравилось 0.
plamya
Аватар пользователя plamya
Не в сети
Последнее посещение: 2 года 11 месяцев назад
Регистрация: 14.01.2020
Сообщения: 467
Рейтинг: 143

Настройки под светлые текстурки:

нравится

очень хочется принять участие в дискуссии, но совершенно не разбираюсь в данном вопросе. с чего можно начать изучение тонкостей skinshader'a? чтобы начать понимать эти малые различия в параметрах.

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Теория.
И курс Skin Shading Essentials Tutorial (погуглите, легко можно найти). В нём также есть PDF-мануал.

У меня относительно низкий уровень английского, поэтому если после просмотра и прочтения сможете по-новому объяснить какие-то вещи, буду признателен.
Smile

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

G.W. Marks, а Iray Skin Manager полезен, как думаешь? Смотрю там бандл сейчас на 3$ всего дороже, чем отдельный Essentials Tutorial.

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

plamya
Аватар пользователя plamya
Не в сети
Последнее посещение: 2 года 11 месяцев назад
Регистрация: 14.01.2020
Сообщения: 467
Рейтинг: 143

И курс Skin Shading Essentials Tutorial

спасибо за ссылки. bundle весит 1,7 гига, что же туда положили?

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Видео ~4ч

UPD: Наткулся сразу в пдф на то, что давно в общем подсознательно знал, но сознание отказывалось верить:
"When people speak of PBR, they often think that it is purely physical with 100% theoretical laws, so 100% accurate. This is not the case and this is normal since the only approaches of BRDF-BSDF for instance are either purely empirical (meaning that you get for formula out of experimental measurements) or semi-empirical (meaning that you do the same, but you manage to put a bit of real equations in the formula too)"
То есть физически-корректный рендер разве что только для стекла, металла и нескольких других простых материалов. А остальное так и осталось на уровне хаков и приближенных значений, как в каком-нибудь 3Delight или движке Quake 1. Маркетолухи с термином PBR конечно знатно постарались =/

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

В Uber Shader, модель описывающая поведение света в объеме задаётся (в моём понимании):
- коэффициентом пропускания (Translucency Weight),
- глубиной поглощения (Transmitted Measurement Distance/Transmitted Color),
- глубиной рассеяния (Scattering Measurement Distance/SSS Amount (Color)/SSS Direction).

1. Коэффициент пропускания (Translucency Weight) - при 0, свет не проходит внутрь объема фигуры. Считается полностью отраженным или полностью/частично "потерянным". Обычно при выключенном Translucency Weight вы получаете сильно засвеченную диффузную текстуру.

Translucency Weight > 0, означает, что часть падающего на поверхность фигуры света проходит через фигуру, т.е. фигура начинает пропускать свет через себя (просвечивает). Сила проявления этого эффекта зависит от коэффициента Translucency Weight. При Translucency Weight = 1, весь свет пройдет через фигуру без отражений. Диффузный цвет Base Color будет полностью потерян.

Поверхность фигуры является разделом двух сред. Свет проходящий эту границу, приобретает цвет заданный в Translucency Color.

При включенном Thin Walled (Thin Walled - On), свет проходящий через фигуру не будет встречать никаких взаимодействий (не поглощается и не рассеивается). Для кожи Thin Walled нужно выключить (Thin Walled - Off).

2. Глубина поглощения (Transmitted Measurement Distance/Transmitted Color).
Поглощение - это изменение интенсивности света при прохождении через фигуру. При 100% поглощении ваша фигура будет выглядеть абсолютно черной. Но, это изменение происходит не равномерно от белого к черному, а для каждого цветового канала (R,G,B) по разному. Меньше всего поглощается красный спектр, зеленый спектр больше, а больше всех синий спектр.

Поглощение рассчитывается для каждого спектра отдельно по формуле Бугера (3.1).

В настройках шейдера это делается так:

В Transmitted Measurement Distance задается глубина (см.), на которой свет приобретает цвет, заданный в Transmitted Color.

Если за точку А взять поверхность фигуры (границу раздела сред), а за точку Б, указанную глубину (Transmitted Measurement Distance). Происходит примерно следующее. Свет (для простоты белый свет 255,255,255) в точке А окрашивается в цвет Translucency Color. Далее, на пути к точке Б, постепенно меняет свой цвет в результате различных потерь интенсивности составляющих его спектров (R,G,B), пока в точке Б приобретёт цвет Transmitted Color.

Таким образом шейдер получает информацию о расчетном значении интенсивности света для каждого спектра на заданной глубине (значение RGB в Transmitted Color). Вычисляет коэффициент поглощения. И по вычисленному коэффициенту продолжает отрисовывать дальнейшее изменение цвета при его прохождении в глубину, пока он не поглотится окончательно или не выйдет из объема фигуры.

3. Глубина рассеяния (Scattering Measurement Distance/SSS Amount (Color)/SSS Direction).

Рассеяние - это отклонения света по всевозможным направлениям при прохождении его через среду с оптическими неоднородностями.

В Scattering Measurement Distance задается глубина (см.), при достижении которой свет будет рассеян (отражен) по разным направлениям в количестве SSS Amount преимущественно в направлении SSS Direction.

SSS Direction с отрицательными значениями рассеивает свет наружу, а с положительными внутрь фигуры.

Я понимаю этот процесс так. Шейдер вычисляет, то что остается от света после описанных выше эффектов (прохождения и поглощения) на глубине Scattering Measurement Distance. И уже для него рассчитываются эффекты рассеивания.

В режиме SSS Mode - Chromatic величину рассеяния можно задать отдельно для каждого цветового канала - задается в SSS Color для R,G,B). Для SSS Color 0.0.0 и 255.255.255 рассеяние отсутствует. В Chromatic режиме чем ниже значение R,G,B тем больше рассеивание = тем меньше поглощение красного, зеленого или синего спектра у света на глубине Scattering Measurement Distance. Также это означает, что чем больше рассеивание, тем меньше поглощение и прохождение света через фигуру.

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

Единственное, что выходит за рамки этой формулы, это то что отражения кроме диффузного почему-то добавляются в шейдере отдельными слоями. Т.е., например, при Translucency Weight = 1 продолжают работать Glossy, Dual Lobe, Top Coat.

Вверх
Понравилось 1.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Что нибудь понятно?

Не очень, если честно ( По моему лучше не морочиться с формулами, а просто:
"условимся, что есть такая специальная магия, рисующая волшебные картинки и перейдем к её практическому использованию в DAZ Studio(с)"

С одной стороны получилось излишне академично, с другой - не всегда правильно. Translucency работает и без объема, к примеру. Легко убедиться, поставив плоскость перед камерой и покрутив ползунок Translucency Weight.

Обычно при выключенном Translucency Weight вы получаете сильно засвеченную диффузную текстуру.

Тут тоже. Зависит от отражающей способности материала.

Для кожи Thin Walled нужно выключить (Thin Walled - Off).

Верно для close-up, но для дальних рендеров и транс, и объем лучше вырубить - все равно их не будет видно.
И т.д. Нельзя объять необъятное в короткой статье. Проще объяснить что делает такой-то ползунок на одном-двух примерах.

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Да проще и правда показать) Ну, может кому пригодится. Каждую настройку можно объяснить в одном предложении. Эти предложения я выделил как цитаты. Остальное можно, в принципе опустить, и вернуться, когда дойдут руки до самостоятельных экспериментов в даз.

Вверх
Понравилось 0.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

Но, ведь этим и другие рендер движки грешат. Однако же показывают приемлемые результаты для человеческой кожи.

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Но, ведь этим и другие рендер движки грешат. Однако же показывают приемлемые результаты для человеческой кожи.

Не факт, мне кажется. Наверное точно также затачивается шейдер кожи на определенный свет. А вынеси такую хай-поли-голову с кастомными супершейдерами

под другое освещение и еще неизвестно что получится Scratch one-s head

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

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

У него, кстати, урок по этой тётиньке. Там карта нодов есть, но не видно нифига)

Надо с шейдер миксером разбираться.

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Ну это не урок, а так... "смотрите как я умею" ) Не, ну хорошо конечно, не спорю. Раз в год. А повторить такое же под пивко/коньячок, да на другой модели, да с отпозированным скелетом, в средневековом окружении? А завтра в отсеке космостанции. А послезавтра...
Вот тут невольно задумаешься, что даз реально дает прикурить многим профи.

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

А остальное так и осталось на уровне хаков и приближенных значений, как в каком-нибудь 3Delight или движке Quake 1. Маркетолухи с термином PBR конечно знатно постарались =/

Видос, как говорится, в руку:

Резюме: от условных 3dlight и Quake 1 родилось уже минимум 2 новых поколения рендер-движков.

И интересный факт: концепция единого материала, которая легла в основу Uber Shader, была описана и реализована Disney ещё в 2012 году)

Вверх
Понравилось 0.
RelaxArt
Аватар пользователя RelaxArt
Не в сети
Последнее посещение: 2 года 4 месяца назад
Регистрация: 01.08.2018
Сообщения: 1326
Рейтинг: 229

Чет подзадолбался, одно лечится - другое калечится

Оставлю пожалуй объем и транс в таком положении:

Для дневного и студийного света по моему кожа нормально выглядит, с ярким прямым солнечным светом правда похуже. "Ну пускай ужас, но уж точно не "Ужас-ужас!!!"(с)анекдот про маман из борделя
lightskin-volfix-daylight
Спекуляры с геометрией руки пока не дошли подкрутить, слизистые тоже

Вишенка на торте: всего ~450мб в памяти полный комплект текстур, включая hdri 8k и волосы

Вверх
Понравилось 0.

Нельзя сделать всё разом и правильно. Поэтому приходится делать медленно и неправильно.

ddos_it
Аватар пользователя ddos_it
Не в сети
Последнее посещение: 12 мин. 40 сек. назад
Регистрация: 21.05.2018
Сообщения: 2329
Рейтинг: 1600

если текстуры поменять или шероховатость, придётся опять наугад шурудить всё по новой

не спроста искушённые люди всяких уродов мастерят, работать должен шейдер, а не человек

Вверх
Понравилось 1.
G.W. Marks
Аватар пользователя G.W. Marks
Не в сети
Последнее посещение: 1 год 5 месяцев назад
Регистрация: 22.08.2020
Сообщения: 1465
Рейтинг: 888

На глаз. SSS в UberShader уже не кажется: "магией, рисующей волшебные картинки".

Да, если текстура сильно отличается по цвету. Но для разных типов кожи оно и в реальности по разному отражается, поглощается, рассеивается. Поэтому, для каждого типа кожи нужна своя настройка. Как по Фитцпатрику.

Вверх
Понравилось 0.

Страницы