Зима близко или как сделать снегопад в Maya и Nuke

Опубликовано by AJIEHA . Размещено в Autodesk, Уроки

В этом уроке Josh Parks покажет, как из статичной фотографии сделать атмосферный шот со снегопадом.

В этом 3D-уроке мы, с помощью 3D-системы в Nuke, превратим статичную фотографию в атмосферный, засыпанный снегом шот, с наезжающей камерой, а также научимся создавать такие артефакты камеры, как зерно и пр.

Рассматриваемая ниже техника повсеместно используется в различных фильмах, при корректном подходе с помощью нее можно добиться довольно качественных и интересных результатов.

Обычно я предпочитаю работать с изображениями с высоким разрешением, что настоятельно советую практиковать и вам. Файлы для урока.

Этап №01: Найдите подходящее изображение и избавьтесь от искажения камеры в Photoshop

Шаг №01

Найдите изображение в высоком разрешении, желательно с высотными домами и глубиной.

Откройте изображение в Photoshop, выполнив команду File>Open. 

3D_papa_snow_shot_01

Шаг №02

Затем выполните команду Filter > Lens Correction.

3D_papa_snow_shot_02

Шаг №03

В открытом диалоговом окне Lens Correction нажмите и зажмите LMB, водя курсором мыши по экрану до тех пор, пока все линии не станут максимально прямыми.

3D_papa_snow_shot_03

Шаг №04
Затем сохраните изображение, выполнив команду File  > Save As.

3D_papa_snow_shot_04

Шаг №05

В диалоговом окне измените формат изображения на Targa (.tga), назовите изображение и нажмите на кнопку Save. В появившемся диалоговом окне нажмите OK. 

3D_papa_snow_shot_05

Этап №02: Создайте геометрию в Maya

Шаг №01

Создайте камеру в Maya. Для этого зайдите в меню Create > Cameras и нажмите Camera.

3D_papa_snow_shot_06

Шаг №02

Теперь создайте проекцию полученного изображения с помощью опции Image plane.

Затем необходимо настроить сцену так, чтобы изображение было видно из камеры.

Нажмите на камеру по вьюпорте, чтобы выбрать ее.

Перейдите в Attribute Editor, который находится в правой части интерфейса Maya.

3D_papa_snow_shot_07

Шаг №03

Прокрутите Attribute Editor до вкладки Environment. Нажмите на стрелку рядом с Environment, после чего нажмите на кнопку Create.

3D_papa_snow_shot_08

Шаг №04
Загрузите отредактированное изображение на камеру нажав на кнопку Folder справа от Image Name. Мы будем загружать это изображение через камеру, поскольку она будет использоваться для проецирования изображения в Nuke.

Мы настраиваем эту сцену в Maya для лучшего понимания того, как объекты должны быть расположены.

3D_papa_snow_shot_09

Шаг №05
Переместите камеру так, чтобы земля на изображении была вровень со зданием-референсом в Maya. Так, мы сможем перейти к созданию проекционной геометрии.

Создайте Cube, выполнив команду Create > Polygon Primitives > Cube.

3D_papa_snow_shot_10

Шаг №06

В одном из проекций настройте вид через камеру. Для этого выполните команду Panels > Perspective > Camera.

3D_papa_snow_shot_11

Шаг №06

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

Для этого зайдите в меню Window > Settings/Preferences > Preferences.

3D_papa_snow_shot_12

Шаг №07
Далее должно появится всплывающее диалоговое окно. Нам необходимо перейти в настройки в его левой части. Единицы измерения сцены должны находится под разделом Working Units, сразу же за Linear. Свои единицы измерения я изменю на Centimeters, вы можете сменить свои те, с которыми вам будет комфортнее работать..

3D_papa_snow_shot_13

Шаг №08
Поскольку я не знаю точного расположения и масштаба здания, я редактирую куб на глаз. Для этого выберите куб и в Channel Box/ Layer Editor настройте значения параметра Scale.

3D_papa_snow_shot_14

Шаг №09
Далее нам необходимо выбрать здание-референс, в идеале нам подойдет такой ракурс, когда будет виден один из эджей здания.

Затем необходимо подвинуть камеру так, чтобы она соответствовала зданию-референсу. Поэтому наведите курсор на камеру во вьюпорте и нажмите пробел. Далее необходимо зажать Alt или LMB для вращения, RMB для перемещения и позиционировать камеру необходимым образом.

3D_papa_snow_shot_15

Шаг №10
Если не удается подогнать здание должным образом, то на помощь придут вертексы. Для того, чтобы начать работать с ними, выберите геометрию, RMB по ней и выберите Vertex из всплывающего окна.

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

3D_papa_snow_shot_16

Шаг №11

Далее необходимо экспортировать геометрию в формате, понятном для Nuke. Для этого выделите всю геометрию и камеру и выполните команду File > Export Selection.

3D_papa_snow_shot_17

Должно появиться диалоговое окно экспорта. Измените в настройках тип файла на FBX и назовите геометрию, затем нажмите на Export Selection. Теперь можно продолжить работу в Nuke.

3D_papa_snow_shot_18

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

Этап №03: Настройте проекции в Nuke

Шаг №01

Для того, чтобы прочитать сцену, необходимо нажать R и выбрать местоположение файла.

3D_papa_snow_shot_19

Шаг №02

Изображение необходимо очистить от зерна, чтобы можно было применить к финальному шоту движущееся зерно. Это придаст шоту дополнительной реалистичности, а также создаст впечатление того, что видео снималось на камеру. Для этого выберете изображение, нажмите TAB, впечатайте Denoise и нажмите Enter.

3D_papa_snow_shot_20

Шаг №03

Далее Nuke выдаст поверх всего сообщение, спрашивая об области для анализа. В идеале нас интересует область от средне- до темно-серого, поэтому я выбрал здания на заднем плане.

Затем превью обновится, показывая результат, исходя из силы влияния команды Degrain. Можно посравнивать различные участки и выбрать оптимальный результат, поскольку мы не хотим излишне блюрить изображение.

3D_papa_snow_shot_21

Шаг №04

Просчет ноды Denoise займет какое-то время, поскольку нода не из легких. Для того, чтобы облегчить процесс, отрендерите версию без шума и отключите ноду Denoise. Выберите ноду Denoise, нажмите TAB, впечатайте Write и нажмите Enter.

3D_papa_snow_shot_22

Шаг №05

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

В этом шоте мы планируем проводить съемку камерой вниз, а это значит, что нам нужно увеличить здания, но незначительно. Мы должны показать немного больше того, что уже было показано, а это значит, что эту область необходимо склонировать.

Для этого выделите изображение, нажмите TAB, впечатайте Roto и нажмите Enter.

3D_papa_snow_shot_23

Шаг №06

Теперь, когда у нас есть нода Roto, мы можем вырезать каждое здание по отдельности, чтобы можно было спроецировать их на геометрию. Для этого выделите здания и начните сам процесс. Кривые Безье, которые можно выбрать справа под инструментом Fountain Pen, подойдут для зданий идеально.

3D_papa_snow_shot_24

Шаг №07

Далее между нодой Roto и самим изображением необходимо разместить ноду Paint, чтобы здания можно было увеличить исходя из движения камеры. Для этого выберите изображение без шума и нажмите P, которая является горячей клавишей для команды Rotopaint. Затем выберите инструмент Clone.

3D_papa_snow_shot_25

Шаг №08

Теперь необходимо пометить те части зданий, которые будут показываться при движении камеры. Этот процесс может занять какое-то время, поскольку возможно вам придется периодически возвращаться и раскрашивать большую часть зданий в зависимости от движения камеры. Поэтому для начала раскрасим то, что считаем нужным.  Мне необходимо было раскрасить низ здания и немного его крышу.

3D_papa_snow_shot_26

После того, как мы продлили здание, необходимо настроить форму Roto, которая должна соответствовать форме здания.

Шаг №09
Далее необходимо загрузить геометрию, которую мы хотим спроецировать на свеже нарисованное здание. Выберите ноду Roto и нажмите TAB, затем впечатайте ReadGeo и нажмите Enter. Затем нажмите на кнопку Folder в ноду Read Geo и найдите .FBX файл, экспортированный из Maya.

3D_papa_snow_shot_27

Шаг №10
Затем необходимо загрузить геометрию, которую мы создавали, чтобы спроецировать на нее это здание. Для этого вернемся в Maya, выберем геометрию, которая находится на месте здания и будет использоваться для проецирования. Запомните название этой геометрии, чтобы понимать, что загружать в ноду ReadGeo.

Теперь, когда мы знаем названием геометрии, возвращаемся в Nuke, дважды нажимаем на ноде ReadGeo, чтобы вызвать ее настройки. Выбираем геометрию для проецирования здания, нажав на серый дроп-даун рядом с названием ноды.

3D_papa_snow_shot_28

Шаг №11
Далее необходимо импортировать камеру, которая спроецирует изображение на геометрию. Для того, чтобы создать камеру, нажмите TAB, впечатайте Camera и нажмите Enter. Так, у нас есть нода с камерой, поэтому нажмите на значок Folder, выберите необходимый файл .FBX, а затем камеру. Процесс такой же, как и при выборе геометрии.

3D_papa_snow_shot_29

Шаг №12
Теперь нам необходимо сказать Nuke, что делать с импортированной камерой. И, поскольку мы хотим проецировать изображение через нее, нам необходимо создать ноду Project3D, разместив ее между нодами Roto и ReadGeo. Поэтому как обычно выберите ноду Roto, нажмите TAB, впечатайте Project3D и нажмите Enter. 
Перетяните стрелку камеры на ноду Project3D, а затем на камеру, чтобы соединить их. Так, мы создали первую проекцию.

3D_papa_snow_shot_30

Шаг №13
Нам необходимо создать ноду Scene, поскольку мы собираемся создавать больше проекций. Поэтому как обычно выберите ноду ReadGeo, нажмите TAB, впечатайте Project3D и нажмите Scene, чтобы создать одноименную сцену. 

3D_papa_snow_shot_31

Шаг №14
Нам необходимо отрендерить текущий результат как 2D-изображение. Выберите ноду Scene, нажмите TAB, впечатайте ScanlineRender. Теперь рендеру необходима камера, которая будем снимать 3D-сцену. С помощью ноды Constant я настроил формат изображения: 1920×1080. Нажмите TAB, впечатайте Constant и установите HD-формат.

Далее нам необходимо сдублировать ноду с камерой исходя из изображения ниже, поскольку позже она должна будет двигаться.

3D_papa_snow_shot_32

 

Проделайте то же самое для всех остальных зданий и подключите ноду ReadGeo к ранее созданной ноде Scene.

Шаг №15
Теперь у нас есть настроенная 3D-сцена. Далее необходимо создать движение камеры, подключенной к ноде Scanline Render.

Выберите камеру, подключенную к ноде Scanline Render, и нажмите на ее ярлычок, чтобы изменить ее название на Render_Cam.

3D_papa_snow_shot_33

Шаг №16
Переместите курсор в рабочее пространство и нажмите TAB, чтобы изменить 3D-сцену.

3D_papa_snow_shot_34

Шаг №17
На текущий момент мы не можем перемещать камеру, поскольку нода читает все ее перемещения из .FBX файла. Для того, чтобы исправить это, необходимо отключить галочку Read from File.

3D_papa_snow_shot_35

Теперь у нас есть доступ к инструменту Translation, с помощью которого можно создать движение камеры. НА этом этапе нам необходимо задуматься о продолжительности шота, чтобы понять, где на таймлайне располагать ключи.

Я решил остановиться на 3-х секундном шоте (72 кадра), поскольку мне нужно было достаточно длинное видео для шоурила. Сами решайте, шот какой длительности вы хотите получить, но помните, что камера не должна двигаться слишком далеко, поскольку для нас это значит дополнительную работу в виде раскрашивания зданий.

Шаг №18
Установите ключ в первом кадре нажав на таймлайне, затем RMB по значку рядом с атрибутами Translate и Rotate камеры, чтобы перейти в ее настройки и выполнить команду Set Key.

3D_papa_snow_shot_36

Шаг №19
Перейдите в желаемый кадр шота, на котором вы хотите его завершить, и переместите камеру в 3D-пространстве с помощью стрелочек или введя определенные числа в Camera Preferences. На хорошую настройку камеры придется потратить какое-то время. Для того, чтобы видеть область, видимую через камеру, необходимо создать ноду Viewer, настроенную на 2D-отображение шота.

3D_papa_snow_shot_37

Шаг №20
Создайте новую ноду Viewer, выбрав ноду Scanline Render и нажав Control-l.

3D_papa_snow_shot_38

Шаг №21
После того, как мы определились с длиной шота, необходимо задать настройки проекта. Обычно это делается в самом начале, но для этого нужно сразу же знать длину шота, чего мы не знали. Перейдите в правую часть рабочего пространства и нажмите S.

3D_papa_snow_shot_39

Шаг №22

Теперь нам необходимо изменить Frame Range на выбранный, FPS на 24, а размер на HD 1920×1080.

3D_papa_snow_shot_40

Этап №04: Добавьте глубины

Итак, мы полностью настроили сцену, поэтому пора переходить к финальным штрихам. И настройка этих оставшихся 10% сцены может занять столько же времени, сколько и предыдущих 90%. Однако, именно на этом этапе вы можете воплотить все свои задумки.

Снег

Шаг №01

Для того, чтобы добавить в сцену снег, я для начала скачиваю бесплатный футаж с движением, который был также снят на черном фоне. Теперь необходимо перенести футаж в 3D-сцену.

Секвенцию со снегом можно прочитать нажав R и выбрав соответствующие файлы.

3D_papa_snow_shot_41

Шаг №02
Далее футаж необходимо поместить в 3D-сцену. Для этого выберите футаж и создайте Card, нажав TAB, впечатав Card и нажав Enter. Теперь присоедините Card к ноде Scene также, как мы цепляли здания.

3D_papa_snow_shot_42

Шаг №03
Сейчас Card залита одним цветом, а самих снежинок не видно. Для того, чтобы пофиксить это, необходимо назначить на футаж со снегом альфа в режиме Premultiply, чтобы снежинки стали видимыми. Для этого выберите секвенцию снега еще раз, нажмите TAB и впечатайте Shuffle.

Нода Shuffle позволяет менять местами информацию в каналах. Мы хотим сделать альфу из красного канала, поэтому поставьте галочку под R input.

3D_papa_snow_shot_43

Шаг №04
Теперь нужно умножить альфу на значения канала RGB. Темные участки альфы имеют значение 0, белые – 1. Поэтому при умножении 0 на любые значения получается 0, что приводит к появлению прозрачности.

Помня об этом можно воспользоваться инструментом Grade, чтобы настроить значение альфы снежинок в районе 1. Для того, чтобы пофиксить альфу, выберите ноду Shuffle, нажмите TAB и впечатайте Grade. Измените Channels на Alpha так, что они влияли только на альфа канал.

3D_papa_snow_shot_44

Шаг №05
Итак, альфу мы пофиксили. Теперь можно переходить к использованию ноды Premultiply, чтобы умножить альфу на RGB-значения. Выберите ноду Shuffle, нажмите TAB и впечатайте Premultiply. Вносить никаких изменений не требуется, поэтому оставим эту ноду такой, как есть.

Далее можно переходить к размещению снега. Выберите Card, переведите курсор в рабочее пространство и нажмите TAB, чтобы вернуться к 3D-сцене, а затем переместите снег с помощью стрелочек или атрибутов Translate.

С помощью слайдера Uniform Scale можно скейлить Card. Это также отскейлит футаж, поэтому будьте внимательны и придерживайтесь корректного масштаба, чтобы снежинки оставались одинаковыми.

3D_papa_snow_shot_45

Шаг №06
Нам необходимо, чтобы снег был на заднем, среднем и переднем планах, чтобы добавить шоту реалистичности, а снегу глубины. Для это прикрепите к футажу со снегом еще одну ноду Card, переместив ее в место, отличное от предыдущего.

Вы можете заметить, что сейчас наш снег движется синхронно и одинаково, поскольку мы используем один и тот же футаж. Это можно пофиксить с помощью ноды TimeOffset, которая смещает начальный кадр. Я использовал эту ноду для того, чтобы добавить снегу естественности, а также сместить футаж на рандомное число кадров в любом направлении.

Далее это процедуру необходимо повторить несколько раз, необходимое количество снега не покроет сцену.

3D_papa_snow_shot_46

Движущиеся автомобили

Кроме того, я решил добавить в сцену движущиеся автомобили для дополнительного реализма.

Шаг №01
Для того, чтобы создать движущиеся автомобили, их необходимо сначала вырезать из изображения. Поэтому выберите изображение без шума, нажмите TAB и впечатайте Roto. С открытым окном настроек измените Output на Alpha, выберите кривую Безье с левой стороны и нарисуйте необходимую форму.

3D_papa_snow_shot_47

Я немного растушевал выделение по краям, в частности там, где расположены фары. Для этого зажмите Control и перетяните точки, что придаст очертаниям автомобиля милое затухание.

Шаг №02
Теперь нам необходимо умножить наше изображение на только что созданную альфу в обратном порядке. Для этого выберите ноду Roto, нажмите TAB и впечатайте Premult.

Далее нам необходимо поступить с автомобилем также, как мы поступали со снегом. Выберите ноду Premult, нажмите TAB и впечатайте Card. Затем эту ноду необходимо прикрепить к ноде Scene, чтобы мы могли наблюдать ее местоположение. Поместите автомобиль на место с помощью стрелочек.

Теперь мы можем или заанимировать эту ноду, чтобы автомобиль начал двигаться в сцене, или создать новую ноду Transform Geonode. Эта нода позволяет трансформировать геометрию, к которой она присоединена. Поэтому нажмите TAB с выбранной нодой Card и впечатайте TransformGeo.

В открытых настройках RMB на поле рядом с Translate баром и нажмите Set Key. При этом вы должны находиться в первом кадре на таймлайне. Теперь перейдите в послежний кадр и сдвиньте Card с помощью стрелочек на желаемую позицию и поставьте еще один ключ.

3D_papa_snow_shot_48

Градиент

Шаг №01
Далее необходимо добавить на изображение градиент, после чего можно спокойно переходить к добавлению финальных штрихов. Сделать это можно по-разному, но я предпочитаю ноду Grade.

Поэтому выберите ноду Scanline Render, нажмите TAB, впечатайте Grade и нажмите Enter.

Я хотел добавить в шот голубых оттенков. Так, я нажал на бар Color, рядом с Multiply и добавил немного синего.

3D_papa_snow_shot_49

Шаг №02
Кроме того я создал несколько нод Transform (Tab > Transform), чтобы отмасштабировать изображение, лучше вписав его в пространство.

3D_papa_snow_shot_50

Этап №05: Финальные штрихи

Для получения более реалистичного шота необходимо использовать несколько атрибутов, чтобы имитировать съемку камерой. Одним из таких атрибутов является размытие из-за движения камеры или Motion blur. Для получения такого эффекта необходимо выполнить действия, описанные ниже.

Размытие от камеры

Выберите ноду Transform, нажмите TAB и впечатайте VectorBlur, установите Motion для UV Channels. Для того, чтобы настроить количество применяемого размытия, необходимо отрегулировать параметр Multiply до получения желаемого результата.

3D_papa_snow_shot_51

Искажением от объектива

Для большей реалистичности я решил добавить в шот искажение от объектива.

Для этого выберите ноду VectorBlur, нажмите TAB и впечатайте LensDistortion. В созданной ноде поиграйте со значениями атрибута Radial Distortion 1 и 2, пока не добьетесь желаемого эффекта (используйте небольшие значения).

3D_papa_snow_shot_52

Зерно

Мы практически закончили с шотом, осталось добавить ему немного зерна. Зерно обычно особенно заметно в темных участках изображения, поэтому для создания такого эффекта нам придется воспользоваться маской.

Шаг №01

Выберите ноду Lens Distortion  и вновь нажмите TAB и впишите Keyer. Эта нода позволит вытягивать ключи из данных, подсоединенных к ноде. Поэтому откройте настройки ноды Keyer, наведите курсор и зажмите A, чтобы увидеть альфа канал, который мы собираемся создать.

Теперь перетягивайте два бара, один справа, другой слева, до тех пор, пока не добьтесь хорошего контраста между темными и светлыми участками. Мы же не хотим, что в альфе были чисто черные или чисто белые участки.

3D_papa_snow_shot_53

Шаг №02
После того, как LumaKey создан, необходимо создать ноду Grain. Поэтому выберите ноду Keyer, нажмите TAB и впишите Grain.

Эта нода применит зерно ко всему изображению не обращая внимания на альфу, поэтому проверьте, чтобы стояла галочка Apply Only Through Alpha, а также Invert Alpha, что увеличит зерно в темных участках изображения. Далее снова отрегулируйте настройки Keyer, чтобы получить желаемый эффект.

3D_papa_snow_shot_54

Шаг №03
Далее необходимо записать полученный шот. Для этого выберите ноду Grain, нажмите на TAB в последний раз, впишите Write и нажмите на Enter. После того, как откроются настройки ноды Write, нажмите на значок папки рядом с панелью File и выберите место для сохранения файла.

Теперь нам необходимо отрендерить секвенцию кадров. Для этого нам понадобится приписать пару символов # после названия. Эти символы будут отвечать за способ нумерации кадров, например, если я напишу ###, то кадр под номером 001 станет первым кадром.

Затем необходимо сказать Nuke, в каком формате сохранять файлы. Я использую dpx, поэтому я вписываю .dpx после названия и три символа ###. Таким образом, файлы будут называться title###.dpx. Остальные настройки можно оставить по умолчанию, поэтому далее можно просто нажать на кнопку Render.

3D_papa_snow_shot_55

В очередном диалоговом окне проверьте Frame Range и нажмите OK.

3D_papa_snow_shot_56

Вывод

В ходе этого 3D-урока вы научились создавать атмосферный шот со снегопадом из статичной фотографии с помощью Nuke и Maya.

Читайте в нашей предыдущей статье о симуляции жидкости в Real Flow.

Хотите знать больше? Приходите на наш фундаментальный курс по Nuke.

Журналист: Алена

Источник

Вас могут также заинтересовать:

Тэги: , , , ,


Присоединяйтесь к нашему сообществу вКонтакте и читайте свежие новости и статьи о мире 3D