Render.ru

Артефакты при просчете волос ( Maya, MentalRay )

Борисёнок

Активный участник
Рейтинг
5
#1
Привет всем.
Может кто подскажет что это за баги лезут при просчете волос (см. картинку 2)?
Волосы стандартные майские, вместе с майским фуром.
считаю Mental Ray - ем. Использую fast Rastrizer. Трасировка отключена. Оклюжены и прочая вторичка естессно - тоже.
Способ представления волос - hairs primitives.
Установлен один ключевой (теневой) источник Direct Light (со Spot - ом таже дрянь). И еще два для подсветки ( без теней).
На ключевом источнике включены Mental ray shadow map override и Detail Shadows. Параметры карты - 4096 и 8 сэмплов. Softnes - 0.001. Параметры для Detail shadow map: Size - 4096, Samples - 8, Accurasy - 0.001.
Волосы считаю отдельно от всего остального (на остальных объектах навешен Surface Shader для маски).

Основная проблема:
Когда скрываю все объекты окружения (hide unselected) и оставляю только источники света и этого героя с волосами (на герое тоже surface shader), то все великолепно.
Но стоит восстановить окружение, как лезут полосы как на второй картинке, и изображение становится похожим на зебру.
В Render Globals ставил все возможные варианты просчета теней: simple, sorted, segments. Правда 2 последних, как я понял из хелпа, без специального теневого шейдера не работают (кстати к чему его прикручивать - к источнику? Куда именно?)

В сцене присутствуют деревья с листвой. Листва делалась текстурой с альфой. На них тоже навешен Surface Shader и альфа правильно отрабатывается.
Могут ли они такие полосы давать????
Считать сторонними плагинами немогу ( по техническим, политическим и прочим :) ) причинам.
Заранее спасибо если кто-то вникнет в суть проблемы.
 

Вложения

sanctus

Активный участник
Рейтинг
15
#2
Не очень понятно чего вы пытаетесь добиться включая в просчет элементы окружения.
Они формируют падающую тень на волосы?

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

Борисёнок

Активный участник
Рейтинг
5
#3
Элементы окружения я включаю чтобы маски получить на волосах (персонаж прыгает между деревьями ). Отдельно считать маски на все обьекты окружения - слишком жирно (кусты, деревья, елки, сосны и т.п.). Поэтому я просто накинул сурфейс шейдер на все кроме волос и ждал предсказуемый результат, но увы....
Шейдер Паши я знаю - юзал. Но его придеться ставить на всю ферму и перестраивать весь мех на всех персонажах.... так-что это уже последнее решение. Я все таки подозреваю что проблема именно в картах теней и в альфе от деревьев или и в том и в другом.
 

Puppet

Активный участник
Рейтинг
19
#4
Так конечно сложно сказать в чем проблема. Вроде сильного косяка в настройках нет.
Но я бы все же настоятельно рекомендовал не пользоваться DirectLight. Лучше использовать SpotLight, точно направляя его в нужное место, глядя из него как из камеры. Можно даже санимировать источник света, чтобы он следовал за персонажем, а не освещал все сразу издалека.
У DirectLight тоже есть область, на которую он расчитывает shadowmap'у, но ее в отличие от SporLight нельзя настроить. Она зависит от размера сцены. Возможно в данном случае так и получается.
Когда у вас только персонаж в кадре, он считает тень только на него и детальности вполне хватает. Когда же вы включаете все окружение, особенно если оно большое по размеру, то вся таже самая тень уже растягивается на всю сцену по баудинг боксу. Отсюда возможны потери в детализации. Использование SporLight поможет избежать подобных проблем и контролировать процесс.

Про используемые параметры:
Resolution 4096 - нормально
Samples 8 - думаю мало, можно сразу поставить 16-32. Эти самплы на скорость просчета влияют очень не значительно.
Detail Samples 8 - очень много. Обычно рабочее значение находится в диапозоне 2-5, чаще 3-4.
Так же Bias надо поставить что то типа 0.001 может больше. Тут от масштаба сцены зависит.
 

Борисёнок

Активный участник
Рейтинг
5
#5
Паша спасибо за ответ, проблема в том что я спотом тоже подменял директы, только не анимировал, а расширял конус. Может поэтому и карта теряла детализацию. Вобщем проблема оставалась и со спотами. Еще не совсем понял - у источника есть параметры Mid Distanse и Autofocus. Вроде как от них и зависит начальная точка отсчета для карты теней. Но если у меня тени оверайдятся с помощью Mental ray shadow map override и Detail Shadows, то берутся ли в расчет эти установки Mid Distanse и Autofocus???? Как я понял, вобще весь раздел Depth Map Shadows в этом случае не участвует.
И еще если, например, к DirectLight прикрутить менталовский источник типа mib_Light_Infinite, то тени какого типа считаются??? Этот шейдер включает только прозрачность тени.
Вобщем сильно не хватает базы для понимания.
 

Борисёнок

Активный участник
Рейтинг
5
#6
Вобщем решил отказаться от карт глубины вобще. Считаю трассируемые тени. Пока что все ок. Артефакты пропали. Скорее всего, таки не хватало детализации карты из-за развернутого конуса Spot-лайта и Direct-а. Но проверять догадку уже сил нет - сцена огромная - трансляции длятся минут по 20 плюс минут 10 рендер. Вот так вот галочку поменял и пол часа ждешь результат.
 
Сверху