Jump to content
GTsw

DOF при помощи Zdepth

Recommended Posts

2ljhn9v.jpg

Результат

 

2gybmlg.jpg

Исходное изображение

 

В общем, смысл такой: нам нужна маска, по которой в исходное изображение будет, при помощи постобработки, добавляться DOF. Она должна выглядеть так:

2yyw3s9.jpg

 

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

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

33a41ty.jpg

 

Первым делом нужно определить три расстояния: 1 - расстояние от камеры до места, откуда будет начинаться переход от размытого до четкого (у меня это расстояние до первого видимого объекта), 2 - расстояние от камеры до фокуса (средний чайник) и 3 - соответственно, расстояние от камеры до места, откуда будет начинаться переход от четкого размытого до размытого (задняя стенка бокса). Для это можно воспользоваться инструментом Tape (Create -> Helpers -> Tape -> указать на экране две точки измерения). Для более точного определения расстояния я воспользовался выравниванием, выделил начало Tape, нажал "alt+A" (или Tools -> Align) и указал на камеру, также выровнял конец Tape со средним чайником. Далее померил два других расстояния.

1zfoaw2.jpg

 

У меня получились следующие расстояния: 1 - 86,682; 2 - 192,187; 3 - 316,604.

Далее создал два "VrayZDepth" (покажу на примере виреевского ZDepth), для этого вошел в "Render Scene Dialog" (F10), перешел на вкладку "Render Element", нажал кнопку "Add" и, в появившемся списке, выбрал "VrayZDepth", и так два раза.

2jb4do9.jpg

 

Для первого VrayZDepth я ввел следующие значения:

Tut_dof_7.jpg

 

Т.е. zdepth min - расстояние 1, zdepth max - расстояние 2. Обратите внимание, что должна стоять галочка invert zdepth, так как при этом объекты которые ближе к камере будут светлее тех которые дальше, что нам и нужно (хотя можно инвертировать и потом в Photoshop-e).

 

Значения для второго VrayZDepth:

Tut_dof_8.jpg

 

Также, обратите внимание, что в обоих случаях должна стоять галочка Enable Filtering. Это необходимо для того, чтобы при просчете этих карт учитывался антиалиасинг-филтр, иначе границы объектов будут "с зазубренами". Ну и конечно галочка Enable, а то работать не будет.

Tut_dof_9.jpg

 

Далее нажал кнопку Render (предварительно настроив параметры основного рендера конечно), по истечении какого то времени у меня "вышли" три картинки: первая, исходное изображение (см. выше), вторая:

jfas1e.jpg

 

и третья:

28hdh1d.jpg

 

Сохранил все три и закрыл 3ds Max.

 

Пришло время, собственно, постобработки.

Открыл в Photoshop две полученные карты глубины, перенес обе картинки в один "документ" на разные слои, так, чтобы слой с первой (та на которой ближние объекты светлее) был сверху слоя с второй картинкой (та на которой дальние объекты светлее). Поставил для первого слоя режим "Screen".

Tut_dof_12.jpg

 

Объединил слои и сохранил новое изображение, получилась маска для блюра:

70gxi0.jpg

 

Ну а дальше дело техники. Открыл основное изображение, сделал выделение по только что полученной маске, я это делаю так: открываю изображение с маской, выделяю все и копирую в буфер обмена (Ctrl+C), открываю основное изображение, перехожу в режим "Edit in Quick Mask Mode" щелкая по соответствующей кнопке (Q) или

Tut_dof_14.jpg

 

вставляю изображение из буфера обмена, должно выглядеть так:

a9s0vt.jpg

 

И перехожу обратно в "Edit in Standard Mode" (Q) или

Tut_dof_16.jpg

 

Ну а дальше применил фильтр "Lens Blur" (я обычно его применяю, хотя можно использовать и другое размытие) с такими параметрами:

Tut_dof_17.jpg

 

Вот и все, псевдодоф готов.

НО... не во всех случаях этот способ возможно использовать, или использовать "вчистую". Например, если объект в фокусе частично перекрывается размытым объектом, то этот объект (размытый), неправильно размывается в местах пересечения...

suzl81.jpg

 

Сцену к уроку можно взять сдесь.

Share this post


Link to post
Share on other sites

Вот обещаный урок. Уж простите за возможную "костноязычность", писать это не мое призвание. :lol:

Share this post


Link to post
Share on other sites

супер то что доктор прописал 8-)

Share this post


Link to post
Share on other sites

Очень интересный урок. Особенно та часть в которой идет описание трёх разных слоёв для более корректной Z карты. Информация очень полезная.

Share this post


Link to post
Share on other sites

Совершенно другой коленкор ))) спасибо, очень полезно.

Share this post


Link to post
Share on other sites

А я пользуюсь плагином для Фотошопа от Richard Roserman. Где его скачать не нашел сходу - он платный. Почитать о нем можно тут:

http://www.dofpro.com/info.htm

Делает фейковый ДОФ (просто по окружности все разблюривает), может использовать просчитанный Zdepth.

Share this post


Link to post
Share on other sites

хорошо было бы если бы урок был потому как пользоваться zdeph в AE... для анимации... как то пытался не получилось

Share this post


Link to post
Share on other sites

вау!!!! дёшево и сердито, как раз в точку!!!!! =)

Share this post


Link to post
Share on other sites

Еще раз спасибо огромное за урок! Во всем разобрался.

Но возник вопрос: С дофом понятно. А как сделать что б уходящие вдаль детали становились прозрачными?

Share this post


Link to post
Share on other sites

RIDDICK

Думаю нужно взять третье изображение! Выделить при помощи Color Range, белую область на картинке, дальше не сбрасывая выделение переключиться на основную картинку и просто нажать делит))

Share this post


Link to post
Share on other sites

RIDDICK

Всегда рад помочь ;) Обращайся :)

Share this post


Link to post
Share on other sites

Спасибо за урок!!! Оказался очень полезным! 8-)

От себя хочу добавить, что вместо быстрой маски лучше воспользоваться плагином Depth Of Field Generator PRO 4. В нём подгружаем объединённый Z-Depth и двигаем пару ползунков - эффект гораздо лучше, чем фотошоповский Lens/Gaussian Blur.

Вот урок на ютуб.

Share this post


Link to post
Share on other sites

написал скрипт для автоматизации процесса и что бы можно было делать для анимации . Скрипт полностью все делает сам ж) Работает на винде с установленным фотошопом

http://render.ru/forum/viewtopic.php?topic_id=138227

Share this post


Link to post
Share on other sites

Не понятно зачем считать 2 раза z-depth, а потом их комбинировать. Как по мне, лучше один раз с ближним и дальним расстоянием, а затем в Photoshop, канал глубины поместить в палитру Channels как, к примеру, Alpha1, а затем в фильтре Lens blur выбрать этот канал из свитка Source и крутить Blur Focal Distance, это дает возможность выбирать любой фокус по всему диапазону от 0 до 255. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use