Render.ru

SSS Fast Skin Material+Displace (mi) и Multi/Sub-Object – неожиданный подвох. Сп

Quadro

Пользователь сайта
#1
SSS Fast Skin Material+Displace (mi) и Multi/Sub-Object – неожиданный подвох.Способ обойти эту проблему.
Недавно я столкнулся совсем с неожиданной проблемой при использовании в SSS Fast Skin Material+Displace (mi) функции 3D Displacement когда понадобилось в Patch модели добавить маленькие но значительные выпуклости которые Bump картой сделать нельзя, а моделированием пришлось бы сильно дробить Patch лоскуты, что очень усложняет модель. В связи с этим я перед тем как использовать в SSS Fast Skin Material+Displace (mi) 3D Displacement я проверил как это будет выглядеть на модели, всё бы ничего, вроде работает, есть выпуклости функция работает, но как только использую Multi/Sub-Object и в нём назначаю материал SSS Fast Skin Material+Displace (mi) то 3D Displacement сразу же перестаёт работать, причём если взять обычный материал вместо SSS Fast Skin и назначить карту в Displacement, то всё чудненько работает.
Но мне всё же удалось решить эту проблему за счёт стандартного алгоритма расчёта смещения в обычном материале, подключив к нему через Mental ray Connection собранный материал из шейдеров аналогичный SSS Fast Skin Material.
Для того чтобы это сделать, вам нужно взять стандартный материал, открыть Mental ray Connection и в группе Basic Shaders снять замок на вкладке Surface, назначте ему SSS Fast Render Shader (mi), эти параметры будет имитировать Subdermal layer scatter и Back surface (through), для удобства присвойте имя этому материалу “Subdermal layer scatter”, затем вам надо будет выставить в нём те же значения и цвет которые выставлены по умолчанию в SSS Fast Skin Material, в слоте Overall diffuse color назначте белый цвет а значение Unscattered diffuse weight равной единице. Далее зайдите в слот Diffuse Illum. и присвойте ему SSS Fast Render Shader (mi), он будет имитриовать Epidermal (top) Layer scatter, так же дайте название этому материалу “Epidermal (top) Layer scatter” и выставите значениям Front surface scatter параметры равные Epidermal (top) Layer scatter в SSS Fast Skin Material, а все значения Back surface scatter обнулите т.к. эти параметры нам не понадобятся. Затем вернитесь наверх к материалу “Subdermal layer scatter” и назначьте слоту Specular Illum. шейдер SSS Specular Reflection for Skin (mi) он будет имитировать значения свёртка 2-Layer Specularitiy and Reflections, так же присвойте имя “2-Layer Specularitiy and Reflections” и выставите значения этого свёртка как в SSS Fast Skin Material. И так теперь надо разобраться с Bump, его лучше назначать в слоте находящийся в материале “Subdermal layer scatter”, по умолчанию Bump активен и в материале “Epidermal (top) Layer scatter”, его лучше отключить т.е. вместо Bump (3dmax) поставить NONE. Затем выйдите совсем наверх к Mental ray Connection и назначьте слоту Light Map шейдер SSS Lightmap Write (mi), он заменит свитки SSS Fast Skin Material (mi) Parameters и Advanced options стандартного SSS Fast Skin материала, так же назначьте соответствующие значения. Ещё один момент, слот Unscattered diffuse color в SSS Fst Skin у нас теперь находиться в материале “Epidermal (top) Layer scatter” в слоте Diffuse Illum. Теперь после того как вы собрали этот материал, вы выходите к основным параметрам стандартного материала и в свёртке Maps назначаете в слоте Displacement карту смещения. Таким образом материал рассчитывается как SSS Fast Skin, но смещение происходит по алгоритму стандартного материала и великолепно работает в Multi/Sub-Object . Единственно что хочу заранее предупредить, что возможны артефакты при сильно рассеивающих параметрах задней и передней стенки материала в местах смещения (я к сожалению не проверял что из этого получиться т.к. в модели человека такого сильного просвечивания нет)
 
Сверху