Render.ru

mia_material_x_passes вопрос

Ken_Zin

Мастер
Рейтинг
108
#1
Когда назначаю кролику mia_material_x_passes, на нём появляются жуткие тени что ли, а когда просто mia_material_x, то всё хорошо.
 

Вложения

Ken_Zin

Мастер
Рейтинг
108
#2
Мне хотя бы нужно знать: это сугубо у меня такая залепа или не только у меня. Рендерю с final gather и ibl (image based lightning) hdr светом, а также с направленным источником света (spot light), собственно он -то и даёт такую тень, maya 2009.
 

Ken_Zin

Мастер
Рейтинг
108
#5
Снова столкнулся с этой проблемой.
Нужно отрендерить только тени, как можно сделать это без помощи mia_x_passes (поподробней пожалуйста) ?
И сталкивался ли кто-нибудь с проблемой описанной выше в 2009 maya?
 

dimdiden

Знаток
Рейтинг
21
#6
Нужно отрендерить только тени, как можно сделать это без помощи mia_x_passes
По этому вопросу у меня в личке была переписка с очень умным человеком DemX86. С удовольствием поделюсь его ответом!
Итак:

В данном случае можно решить эту задачу и при помощи Render Passes и при помощи Render Layers.

Вариант 1: Render Layers
1. Имеем простенькую начальную сцену.
Итак рендер устраивает, нам надо только сделать все это дело на белом фоне.

2. Создаем новый render layer с объектами нашей сцены (я назвал его beauty_RL). В Attribute Editor бэкдропа (который плейн) в разделе Render Stats отключаем Primary Visibility (автоматом создается layer override). Таким образом мы убираем из картинки бэкдроп (вместо него будет альфа), но не исключаем его из расчета FG. Теперь мы можем в Ps вставить туда девственно чистый белый фон. Все вроде бы здорово, но тем не менее вместе с бекдропом пропала тень.

3. Поэтому еще раз создаем render layer с объектами (мое название — shadow_RL). В нем для бэкдропа назначаем материал Use backgroung, в котором убираем Reflectivity и Reflection Limit на 0 (а то у нас будут считаться ненужные нам отражения). Также выключим для этого слоя FG (создав layer override), так как для просчета тени от direct light FG нам не нужен, будет лишь давать пятна на альфе бэкдропа. Осталось лишь убрать с альфы этого слоя саму статую — для этого мы выключаем у нее Primary Visibility.
Все, получили тень на альфе.

4. Настраиваем формат файла. Нам нужен формат, работающий с альфой, поэтому можно использовать .tga, но я бы рекомендовал взять .png, так как тогда тебе не придется вручную вытаскивать альфа-канал в файле и руками вырезать по нему — в .png вся прозрачность уже будет в нормальном для Ps виде.
Делаем batch render. Отсчитались два слоя в два файла — самая статуя и тень для нее.
Готовая сцена

5. В Ps открываем оба файла. В первом мы имеет статую на прозрачном фоне, во-втором — тень. Ставим тень под слой статуи и добавляем белый фон. Вроде все нормально, но появилась черная обводка вокруг контура статуи — это из-за того, что по-умолчанию в mr альфа считается в режиме premultiply. Чтобы убрать эту обводку в Ps, нужно для этого слоя сделать Layer > Matting > Remove Black Matte (а в Ae, например, проще — можно просто грамотно настроить альфу).
Теперь можно немного осветлить тень, снизив Opacity ее слоя (ведь мы выключали для этого слоя FG, поэтому тень получилась полностью черная).
Собранный psd-файл


Вариант 2: Render passes
Теперь посмотрим, как можно решить эту задачу при помощи Render Passes.
1. Теоретически: нам нужно отдельно beauty изображение статуи, потому как, насколько я понимаю, в твоем случае нет особой необходимости собирать все изображение по частям (diffuse, reflections, refractions, specular etс.). И нужна отдельно тень на бэкдропе.
Тут нужно использовать Contribution Maps: то есть мы просчитаем отдельно beauty pass статуи (без задника) и не менее отдельно shadow pass (точнее raw shadow pass, как об этом сказано ниже в третьем твоем вопросе) задника.

По шагам:
1. Создаем новый render layer, который мы будем считать по пассам. С объектами сцены, конечно же.
2. Создаем в этом слое contribution maps для статуи и для задника.
3. В Render Settings создаем пассы beauty и raw shadow, назначаем их на созданный слой и раскидываем по соответствующим contribution maps.
4. Настраиваем файлы вывода и делаем batch render.
5. Собираем в Ps, как и в предыдущем случае, только тень надо просто инвертировать в PS.


Вот два подхода, отличаются в данном случае только тенью — с render passes она получилась более близкая к оригиналу, так как считалась вместе с FG. Но поправить тень на композе совсем не сложно, сделать ее любого цвета и интенсивности. Поэтому смотри сам, какой способ тебе ближе.
Рассмотренная сцена — простая, в ней нет hdr, mia_exposure_*, квадратичных источников света и всего прочего. При таком более сложном наборе с render passes, на мой взгляд, будет несколько посложнее, но это только мое мнение.
Вот так то!
 

tadpole

Знаток
Рейтинг
24
#8
в первом варианте тень на 2 слое получается не такой как в мастерлэйере. Во втором - не проще ли отключить примаривизибл у объекта и посичать все отдельно? Тень то все равно вместе с плэйном считается.
 

DemX86

Активный участник
Рейтинг
18
#9
в первом варианте тень на 2 слое получается не такой как в мастерлэйере.
Все верно, про это упоминалось в конце:
Вот два подхода, отличаются в данном случае только тенью — с render passes она получилась более близкая к оригиналу, так как считалась вместе с FG. Но поправить тень на композе совсем не сложно, сделать ее любого цвета и интенсивности. Поэтому смотри сам, какой способ тебе ближе.
Во втором - не проще ли отключить примаривизибл у объекта и посичать все отдельно?
Не особо понял, что мы получим, если отключим у объекта Primary Visibility?
 
Сверху