SSS в скинах

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

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

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

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

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

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

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

Грязно получилось. Как-то слишком даже.
Но мысль верная. Насколько я понял теорию, человеческая кожа состоит из трех основных слоев
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 час 30 мин. назад
Регистрация: 22.08.2020
Сообщения: 1165
Рейтинг: 595

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

По статье:
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
Не в сети
Последнее посещение: 3 недели 1 день назад
Регистрация: 21.05.2018
Сообщения: 1200
Рейтинг: 892

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

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

Кто людям помогает, тот тратит время зря

Rammy
Аватар пользователя Rammy
Не в сети
Последнее посещение: 4 дня 3 часа назад
Регистрация: 24.10.2018
Сообщения: 338
Рейтинг: 253

Spectral rendering - On

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

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

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

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

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

SSS Color: 0.84, 0.69, 0.63:

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

1

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

Дошли руки покрутить настройки из статьи. В принципе... не бесспорно местами, но зато похоже упрощает жизнь, в том смысле, что шейдер получается "на все скины" и придется только текстуры подгонять 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 час 30 мин. назад
Регистрация: 22.08.2020
Сообщения: 1165
Рейтинг: 595

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

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

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

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

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

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

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

Получился весьма примитивный, но вроде вполне рабочий шейдер из всего лишь четырех текстур, который можно брать за основу для дальнейших извращений или даже юзать "как есть":
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 час 30 мин. назад
Регистрация: 22.08.2020
Сообщения: 1165
Рейтинг: 595

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исправлено.

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

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

Шейдер

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

Исправлено.

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

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

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

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

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

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

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

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 час 30 мин. назад
Регистрация: 22.08.2020
Сообщения: 1165
Рейтинг: 595

*(Diffuse,Specular,Glossiness)

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

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

Там только одной фразы не хватает, чтобы всё понять: "сумма коэффициента пропускания (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
Не в сети
Последнее посещение: 1 месяц 1 неделя назад
Регистрация: 01.08.2018
Сообщения: 1198
Рейтинг: 207

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

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

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

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

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

Сцена.
HDRI - Soft_5DaylightStudio.exr

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

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

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

Красный нос
Untitled2

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

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

Изобрели, кто бы спорил. Очень хороший скин-шейдер, например, у эпиков в 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 час 30 мин. назад
Регистрация: 22.08.2020
Сообщения: 1165
Рейтинг: 595

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

Вверх
Понравилось 0.
ddos_it
Аватар пользователя ddos_it
Не в сети
Последнее посещение: 3 недели 1 день назад
Регистрация: 21.05.2018
Сообщения: 1200
Рейтинг: 892

art'Э

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

Кто людям помогает, тот тратит время зря

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вверх
Понравилось 0.
plamya
Аватар пользователя plamya
Не в сети
Последнее посещение: 15 мин. 14 сек. назад
Регистрация: 14.01.2020
Сообщения: 351
Рейтинг: 104

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

нравится

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

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

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

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

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

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

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

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

plamya
Аватар пользователя plamya
Не в сети
Последнее посещение: 15 мин. 14 сек. назад
Регистрация: 14.01.2020
Сообщения: 351
Рейтинг: 104

И курс Skin Shading Essentials Tutorial

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

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

Видео ~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 час 30 мин. назад
Регистрация: 22.08.2020
Сообщения: 1165
Рейтинг: 595

В 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
Не в сети
Последнее посещение: 1 месяц 1 неделя назад
Регистрация: 01.08.2018
Сообщения: 1198
Рейтинг: 207

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ddos_it
Аватар пользователя ddos_it
Не в сети
Последнее посещение: 3 недели 1 день назад
Регистрация: 21.05.2018
Сообщения: 1200
Рейтинг: 892

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

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

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

Кто людям помогает, тот тратит время зря

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

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

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

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

Страницы