CPU3D.com3D Max3D-моделирование → Объекты в фокусе камеры

Объекты в фокусе камеры

глубина резкости

Вы когда-нибудь задумывались над тем, почему порой сцены, созданные в программах 3D моделирования, выглядят неестественными. Тому может быть несколько причин: начиная от неверно выставленного освещения и заканчивая неправильным наложением текстур. Но в сегодняшнем уроке мне бы хотелось затронуть такую тему, как глубина резкости и фокусное расстояние. Ни для кого не секрет, что глядя на фотографию, экран телевизора или просто на какие-либо предметы на улице или дома, мы не видим все одинаково четким. Это связано с особенностью строения глаза, устройством фотоаппарата и камеры (надеюсь нет необходимости чертить схемы из учебников по биологии и физике). И невзирая на такой очевидный факт многие пренебрегают глубиной резкости в своих работах. Ну, что ж, попробуем разобраться, что же такое глубина резкости и фокусное расстояние применительно к сценам в 3D MAX-е.

Забегая вперед хочу сказать, что в данном уроке мы рассмотрим четыре подхода к решению этой задачи: первый - это использование встроенного blur-а из Video Post (версия 3ds Max 2.5 и выше), фильтра Depth of Field (глубина резкости) из Rendering Effects, альтернативного метода, использованного мной для выполнения одного из рекламных проектов, связанных с оптикой, а так же новых возможностей настройки камеры в 3ds Max 4.

Что ж, начнем.

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

Далее нужно установить в сцене камеру и хочу по этому поводу сделать небольшое отступление. Я встречал дизайнеров, которые на 80% работают с перспективой, отодвигая роль камеры на задний план. Так вот, я абсолютно не согласен с таким мнением. Дело в том, что кроме того, что камера позволяет более гибко настраивать сцену, вид из камеры получается более естественным, не говоря уже о многом другом.

Итак, у нас есть сцена и есть камера. Хочу обратить ваше внимание на то, что я установил target камеры на колонну, находящуюся в центре (выделенную цветом) для того, чтобы при настройках глубины резкости, где используются параметры камеры, эта колонна всегда оставалась в фокусе. Опять же я буду настраивать глубину резкости именно по этой колонне - так будет проще сравнить результаты всех методов.

После того, как выставили камеру, идем в меню Rendering>Video Post , жмем на кнопку Add Scene Event и выбираем вид из камеры. После этого нужно добавить сам фильтр. Жмем на кнопку Add Image Filter Event. Из списка выбираем: Lens Effects Focus и жмем "Ok". Потом в Video Post-е там, где слева показана структура очередности задач, выделяем Lens Effects Focus и щелкаем по нему два раза, затем в появившемся окне по кнопке Setup и после этого попадаем в окно настройки параметров Lens Effects Focus. Для того, чтобы увидеть в окне настройки вашу сцену, надо активизировать кнопку VP Queue. Далее обратимся к настройкам этого окна. В левой части находятся три переключателя:

- Scene Blur - эффект размытия применяется ко всей сцене в целом;

- Radial Blur - размытие сцены происходит радиально, от центра к ее краям

- Focal Node - позволяет выбрать объект, который будет являться центром фокусировки. Собственно им и воспользуемся, выбрав в качестве объекта колонну, находящуюся в центре (выделенную цветом). Справа, в окне, есть еще несколько параметров, на которых стоит остановиться. Affect Alfa - воздействие размытия на альфа канал, Horiz/Vert Focal Loss - величина размытия сцены по горизонтали и вертикали, Focal Range - определяет на каком расстоянии от центра (объекта) начинается размытие, Focal Limit - расстояние, на котором будет достигнут максимум размытия сцены. "Поиграв" немного с настройками рендерим сцену, нажав Execute Sequence (иконка с бегущим человечком) в Video Post и получаем вот такое изображение.

Далее приступаем к описанию второго способа установки глубины резкости в сцене. Воспользовавшись все той же сценой зайдем в меню Rendering>Effects и для загрузки фильтра нажимаем на кнопку Add, после чего выбираем эффект Depth of Field (глубина резкости). Как только вы активизируете этот фильтр в нижней части окна появится свиток Depth of Field Parameters, который позволяет настраивать глубину резкости в сцене. Итак, обратимся к параметрам этого фильтра. Они во многом повторяют настройки, рассмотренные выше для Lens Effects Focus, поэтому я остановлюсь только на некоторых из них. Pick Cam. поля Cameras позволяет выбрать одну или несколько камер прямо из окна проекций. В поле Focal Point можно выбрать для центра фокусировки объект ( Pick Node), указав его в любом из окон проекций, либо использовать камеру (Use Camera), воспользовавшись фокусным расстоянием камеры. Ну и в поле Focal Parameters можно установить Use Camera, тогда характеристики глубины резкости (такие как диапазон и лимит) будут определяться параметрами выбранной камеры. По-моему все не так сложно ... Попробуйте изменить настройки этого окна в ту или иную сторону и посмотрите на результат. Плод моих манипуляций с настройками вы можете посмотреть ниже.

Ну а сейчас перейдем к описанию более сложного метода, но более правильного с физической точки зрения. Как вы уже, наверное, успели заметить, два предыдущих метода хороши своей простотой, но они не совсем верно передают эффект глубины резкости и размытие появляется там где его как казалось бы не должно быть и наоборот. Вот потому-то, когда понадобилось делать рекламный плакат, я стал искать альтернативу этим двум методам. Я не претендую на роль первооткрывателя, может быть до меня этим способом пользовались многие дизайнеры, но я никогда с ним не встречался раньше и не слышал, чтобы о нем кто-то говорил позже. А заключается этот метод в том, чтобы отрендерить последовательность кадров, изменяя положение камеры в пространстве (target камеры при этом остается на месте), а затем собрать все кадры вместе.

Взяв все ту же сцену с камерой построим дополнительный объект - это будет круг (Create>Splines>Circle). Радиус круга должен быть небольшим, у меня он получился равным 5, сейчас это не важно, потом все равно надо будет подбирать вручную. Затем расположите этот сплайн так, чтобы камера оказалась внутри круга, а сам сплайн стал перпендикулярно target-у камеры. Хочу вас предупредить, что не нужно все это выстраивать с абсолютной точностью, применяя дополнительные средства выравнивания, достаточно воспользоваться инструментами трансформации Move и Rotate. Все должно получиться примерно так, как на рисунке внизу слева.




Следующим шагом будет привязка камеры к сплайну. Для этого выделяем камеру и идем на командную панель Motion, кликаем по кнопке Parameters и в свитке Assign Controller выделяем строку Position, затем щелкните по кнопке со значком контроллера (в верхнем левом углу свитка), после чего выбираем из списка контроллер Path Constraint (см. правый верхний рисунок), после этого появится вкладка Path Parameters. В этом свитке кликните по кнопке Add Path и выберите во вьюпорте круг. После всех этих манипуляций камера займет свое место в начале сплайна. Несколько позже нам понадобится отрендерить последовательность кадров, поэтому следующим шагом будет определение количества кадров для рендера. В этом вопросе надо проявить определенную гибкость: чем больше кадров - тем качественнее будет конечный результат, но тем дольше все будет рендериться. Я остановился на 10 кадрах. И делается это так: кликните ПРАВОЙ кнопкой мыши на изображении ключа, рядом с большой кнопкой Animate (справа внизу) и в появившемся окне в поле Animation, напротив End Time введите число кадров (у меня это 9) и нажмите на кнопку Re-scale Time, появится еще одно окно, где просто кликните на "ОК" и еще раз на "ОК" для закрытия окна Time Configuration. После этого передвигаем ползунок таймера на последний кадр и нажимаем на кнопку Animate для того, чтобы начать запись и возвращаемся во вкладку Motion>Path Parameters, где в поле Path Options напротив % Along Path выставляем цифру 100 (это значит, что камера пройдет по сплайну полный путь). Выполнив все эти действия еще раз нажимаем на кнопку Animate для того, чтобы остановить запись, в итоге у вас появится два ключа анимации на первом и на последнем кадре.

Далее приступим к непосредственной настройке размытия кадра. Для этого надо выделить круг, активизировать вкладку Modify на командной панели, после чего получим доступ к настройке радиуса круга. После этого запускаем анимацию, активизировав окно камеры и нажав кнопку Play Animation.

Должен заметить, что если у вас в сцене много объектов или слабенький компьютер, то вы можете во вкладке Propertis установить для объектов свойство Display As Box, либо в окне камеры в выпадающем меню выбрать Other>Bounding Box. Так или иначе, но здесь вы должны посмотреть на смещение объектов в процессе выполнения анимации. Если оно слишком велико (следовательно и размытие будет большим), значит нужно уменьшить радиус круга (я у себя уменьшил до 2, 5). После этих настроек можно приступить к рендеру. Заходим в меню Rendering>Render, активизируем Active Time Segment, для того чтобы рендерились все 10 кадров. Ниже, в поле Rеnder Output ставим флажок рядом с Save Fale и указываем директорию на диске, куда сохранятся наши кадры, а так же тип файла (я предпочитаю работать с Tiff-ом). После всего этого жмем на кнопку Render и, в MAX-е вся работа закончена. Осталось только собрать все отрендеренные кадры воедино. Для этого я воспользовался программой Photoshop (вы же можете использовать любую другую). После того, как вы загрузите все 10 кадров в Photoshop надо выбрать один любой кадр (файл) и на него перенести изображения с оставшихся 9. Для этого активизируйте инструмент Move на панели инструментов и удерживая нажатой клавишу Shift (это обеспечит полное совпадение слоев) , перетаскивайте изображения на выбранный файл. В результате у вас получится изображение состоящее из 10 слоев. После этого каждому слою назначьте Opacity (прозрачность) равную 35 % (подбирается опытным путем). Вот и все, остается только все это сохранить как один файл. Результат, как говорится, на лицо.

И напоследок рассмотрим новую возможность настройки глубины резкости, которой нас порадовала 4 версия. Все то, что с таким трудом мы проделывали в предыдущем методе, нашло свое отражение во вкладке Depth of Field настроек камеры target (Create >Cameras>Target или Free >Parameters >Multi-Pass Effect > Depth Of Field ). Итак, рассмотрим подробнее эти возможности. Обратимся к полю Multi-Pass Еffect, именно здесь надо активизировать (Enable) данный процесс, выбрав в качестве метода Depth of Field или Motion Blur, а кнопка Preview позволяет просмотреть результат прямо во вьюпорте. Далее перейдем к свитку Depth of Field Pframeters, там в группе Focal Depth есть флажок Use Target Distance и если он включен, то target камеры используется как точка, вокруг которой смещается камера. Если флажок снят, то для установки глубины, с которой начнется смещаться камера служит поле Focal Depth. Далее следует группа Sampling. В ней вы можете установить показ проходов во вьюпорте Display Passes, далее Use Original Location определяет будут ли начинаться проходы с первоначального положения камеры, или камера будет смещена. Total Passes - число проходов для генерации эффекта. Sample Radius - значение, на которое будет сдвинута сцена , чтобы генерить расплывчатость. Увеличение этого значения ведет к усилению эффекта. Sample Bias - смещает действие эффекта (размытия) к началу или к концу проходов (по умолчанию находится посередине). Следом идет группа Pass Blending. В этой группе вы можете управлять сглаживанием мультипроходного рендера (во вьюпорте не виден). Активизированный флажек Normalize Weights помогает избавится от артефактов при рендере, увеличивая степень размытия. Dither Strength - управляет количеством полутонов в мультипроходах. Tile Size - устанавливает размер перекрытия слоев, используемого в передаче полутонов. Вот и все основные параметры для Depth of Field. Motion Blur Pframeters почти полностью повторяют вышеперечисленные настройки, потому останавливаться на них не будем.



Источник: http://www.getinfo.ru