Это перевод статьи Stirling VFX. Статья написана Пьером Бурниго, редактор Лайф Педерсен, 18 апреля 2025 г.
Перевод выполнен студией "Химера Фильм" 3 июня 2025 г. Основные термины, используемые в индустрии, указаны в их оригинальных названиях в скобках.
Как 3D-художник, вы постоянно совершенствуете свои навыки. Я хотел максимально использовать свое свободное время, исследуя область, которой раньше никогда не занимался: визуальные эффекты в реальном времени (live-action vfx). Чтобы бросить вызов самому себе, я вышел на улицу и записал видео на телефон, убедившись, что мне приходится работать с органичным, непредсказуемым движением камеры. Кроме того, я взял напрокат камеру Theta 360°, чтобы научиться записывать свои собственные HDRI изображения и интегрировать их в свой рабочий процесс.
В этом уроке я создам композицию из слегка измененной версии модели Stirling от RenderMan и отснятой парковки. Давайте погрузимся и исследуем этот процесс вместе!
Управление цветом
Прежде чем двигаться дальше, нам нужно убедиться, что наша сцена настроена должным образом. Вы можете включить настройки ACES в настройках рендеринга вашей сцены. Если RenderMan установлен правильно, он должен автоматически получить конфигурационный файл OCIO из папки RenderMan, который также называется RMANTREE в переменных среды.
Кроме того, убедитесь, что программа IT также отображается в ACES, проверив ее окно настроек. Это обеспечит точность цветопередачи на протяжении всего рабочего процесса. Из всех цветовых профилей OCIO для большинства компьютерных работ наиболее подходящим будет acesCG.
Освещение
Поскольку это экстерьерная сцена, освещенная солнцем, мы будем использовать источники света distant, поскольку они лучше всего подходят для равномерного освещения больших пространств и создания параллельных теней, например, от солнца. Однако для работы с HDRI требуется немного проб и ошибок.
Чтобы получить высококачественное изображение с высоким динамическим диапазоном (HDRI), убедитесь, что ваша камера настроена на режим мультиэкспозиции (multi-exposure). Чем больше уровней экспозиции вы снимаете, особенно на предельных уровнях яркости и затемнения, тем лучше будет конечный результат. В моем случае я сделал 12 различных снимков с разной экспозицией, максимально увеличив настройки затвора, чтобы добиться максимально широкого динамического диапазона.
После того, как вы отсняли все свои изображения, вы можете легко объединить в Photoshop. Только не забудьте экспортировать готовое изображение в 32-разрядный формат, например .exr, чтобы сохранить полный динамический диапазон и избежать потери деталей.
Чистка HDRI
Теперь у нас есть высококачественный HDRI-снимок, который идеально соответствует месту, где будет размещен наш автомобиль на кадрах. Однако, как вы можете видеть, все еще есть некоторые недостатки, такие как блики объектива, искажения и то, что виден штатив. Поскольку эти артефакты могут оказывать непредсказуемое воздействие на наши отражения, нам необходимо их устранить.
В первую очередь мы удалили блики от объектива, штатив и его тень, а также белый автомобиль. Поскольку во время съемки автомобиль был расположен очень близко к камере, из-за искажений объектива он казался намного больше, чем должен был быть в 3D-сцене. Вместо этого мы будем использовать плоскость для отражений (plane for reflections), чтобы обеспечить более точный и контролируемый результат. Не бойтесь грубо работать с Фотошопом, так как самое главное — обеспечить плавное отражение.
Текстурирование и UV-развертки
Прежде чем мы перейдем к, возможно, самой технической части этого урока, я хочу подчеркнуть важность правильного наложения слоев. Если делать это небрежно, это может быстро обернуться головной болью. Я настоятельно рекомендую потратить время на изучение специальных страниц документации, посвященных холдаутам (Holdouts), слоям (Layering) и наборам трассировок (Trace Sets).
В этой сцене у нас есть два типа объектов: отраженные объекты (reflected objects) и отражатели (reflectors, которые выступают в роли холдаутов). Во-первых, давайте взглянем на то, как было настроено наложение слоев на отраженные объекты.
Что касается самого автомобиля (изображение слева), то настройка довольно проста: я сделал все, кроме автомобиля, прямо или косвенно невидимым для камеры. Однако вы заметите, что я решил скрыть стеклянные окна.
Со стеклом может быть сложно работать, если вы хотите добиться точного преломления света (refractions) при монтаже. Чтобы упростить процесс, я поместил его на отдельный слой, как показано на изображении справа. Подход, который я использовал здесь, заключался в том, чтобы извлечь набор видимых элементов из моего первого слоя (который включает в себя весь автомобиль, но исключает его окна и интерьер) и создать коллекцию матируюющих объектов (Matte Objects). Эта настройка гарантирует, что я смогу легко вписать стекло обратно в сцене в Nuke, избегая каких-либо проблем с пересечением (intersection).
Для преломлений (refractions) я создал плоскость (plane) с помощью шейдера PxrConstant и привязал ее к камере. В этом PxrConstant я просто соединил последовательность изображений отснятого материала (base plate) и сместил ее достаточно далеко, чтобы она всегда оставалась позади автомобиля.
Эта настройка позволяет мне плавно перемещать стекла обратно в салон автомобиля, обеспечивая при этом надлежащее преломление света (refractions). Без этой настройки искаженный фон в HDRI был бы основной помехой.
Теперь давайте перейдем к слоям автомобильных отражателей (reflectors).
Мы будем использовать слой с фургоном, который показан в начале видео, поскольку он представляет собой наиболее полный пример. Однако все слои с отражателями (reflectors) настроены аналогичным образом.
Во-первых, мы создадим маскировку для фургона (не стесняйтесь проверить на специальной странице документации, посвященной холдаутам (holdouts)), которая была быстро затенена, чтобы соответствовать отснятому материалу. Все, что находится за пределами нашего основного объекта (фургона), снова делаем невидимым для камеры. Однако на этот раз основное внимание будет уделено косвенной видимости (indirect visibility). Именно здесь наборы трассировок (trace sets) по-настоящему помогут нам.
На наших кадрах мы видим, что автомобиль и его отражение должны получать тень с правой стороны, отбрасываемую черным автомобилем. Однако, чтобы наши объекты были разделены для более четкой и управляемой композиции, мы отключили косвенную видимость для прокси черной машины. В результате тень, которую он отбрасывает на наш автомобиль, исчезает, нарушая реалистичность отражения.
Вот тут-то и пригодятся наборы трассировок (trace sets), позволяющие нам использовать лучшее из обоих миров.
Чтобы создать набор трассировок, обратитесь к разделу Создание наборов трассировок (Creating Trace Sets in Maya) в документации Maya. В данном случае я просто создал набор, содержащий все объекты, которые я не хотел отражать в своем холдауте, и исключил их из наборов трассировок фургона.
Рад видеть, что у вас все получилось! Теперь повторите этот процесс для стольких слоев, сколько потребуется для вашего проекта, и вы, наконец, будете готовы перейти к настройкам рендеринга.
Рендеринг
Теперь, когда мы настроили слоb, осталось учесть всего несколько моментов в настройках рендеринга. Поскольку мы работаем с сопоставлением изображений, размытие в движении (motion blur) является важным фактором, о котором следует помнить.
Уделите время просмотру отснятого материала и оцените, насколько четкими получаются изображения. Даже если ваши кадры выглядят чистыми и четкими, всегда выполняйте тестовый рендеринг, чтобы убедиться, что размытие в движении соответствует изображению на вашем отснятом материале.
Я настоятельно рекомендую добавить хотя бы небольшое размытие при движении, так как это помогает создать более плавную интерполяцию между кадрами, повышая общую правдоподобность и реалистичность. Степень размытия при движении зависит от вашего материала, поэтому убедитесь, что вы настроили ее соответствующим образом.
Прежде чем перейти к композитингу, я бы также рекомендовал вам потратить время на рендеринг Occlusion pass и криптоматов (Cryptomatte). Это позволит вам сэкономить время на композитинге и избавит вас от многочасового утомительного ротоскопа. Не стесняйтесь ознакомиться с документацией о том, как настроить криптоматы.
Мой последний совет по рендерингу касается некоторых полезных переопределений (overrides). При работе с LPE (Light Path Expression) проходы рендеринга (render passes) могут быть невероятно эффективными, но в нашем случае в их рендеринге для всех слоев нет необходимости. Поскольку отражатели в основном состоят из зеркальных поверхностей, создание сотен EXR-файлов, требующих большого объема памяти, практически не имеет смысла.
Чтобы оптимизировать свой рабочий процесс, вы можете ограничить рендеринг слоев только для прохода beauty (beauty pass), отключив LPE. Просто не забудьте каждый раз перепроверять, правильно ли вы настраиваете параметры рендеринга для нужного слоя — вы же не хотите неприятных сюрпризов при просмотре ваших рендеров в офисе в понедельник утром!
Композитинг
Это был непростой путь, но мы наконец-то достигли последнего этапа нашей интеграции!
Во-первых, мы позаботимся о том, чтобы наш рабочий процесс ACES оставался неизменным и в Nuke. Не беспокойтесь — это займет всего несколько кликов, и Nuke преобразует отснятый материал в формате sRGB в правильное цветовое пространство acesCG для нас.
Чтобы получить доступ к настройкам вашего проекта в Nuke, наведите курсор мыши на окно нод (Node Graph) и нажмите "S". Перейдите на вкладку "Цвет" (Color) и установите параметр "Nuke по умолчанию" (Nuke Default) на "OCIO". Это гарантирует, что Nuke автоматически откроет все ваши файлы в правильном цветовом пространстве.
Теперь не стесняйтесь загружать файл проекта, в который я добавил множество заметок, объясняющих весь процесс композитинга, ноду за нодой.
Один из полезных советов по работе с Nuke, который помог мне избежать утомительного и отнимающего много времени ротоскопирования — это использование 3D карт для создания дополнительных масок. Вот как работает эта настройка:
При рендеринге последовательности изображений для сгенерированной маски убедитесь, что ваш файл .png будет сгенерирован с использованием альфы для получения лучших результатов.
Эта базовая настройка 3D-сцены в сочетании с рабочим пространством с двумя режимами просмотра (dual-viewer) позволяет рисовать “напрямую” на плоских неподвижных поверхностях, таких как земля. Создавая единую форму ротоскопа (rotoscope shape) и используя данные отслеживания камеры, вы гарантируете, что ротоскоп остается стабильным на протяжении всего снимка, что значительно экономит ваше время и усилия.
В данном случае я использовал эту технику, чтобы создать окклюзионную маску (occlusion mask) для тени, которую будет отбрасывать наш автомобиль в этой части отснятого материала.
Однако, если у вас нет другого выбора, кроме как взяться за выполнение страшной задачи ручного ротоскопирования, запаситесь терпением, решимостью и, возможно, хорошим подкастом, который составит вам компанию.
Когда дело доходит до ротоскопирования, мой лучший совет — старайтесь, чтобы ваши фигуры были как можно более простыми. Гораздо проще работать с 20 фигурками меньшего размера, состоящими из 6 точек каждая, чем бороться с одной чрезмерно сложной фигурой, которая, скорее всего, сведет вас с ума к концу дня. Поэтому не стесняйтесь разбивать свой объект на несколько фигур для лучшего контроля и эффективности.
Еще один полезный прием — настройка параметра "Время жизни" (Life) для каждой фигуры. Это позволяет деактивировать фигуру, когда она больше не нужна, предотвращая появление ненужных фигур на экране.
Кроме того, чем меньше ключевых кадров, тем меньше проблем. Чтобы сэкономить время, начните с приблизительного перехода, устанавливая ключевой кадр каждые 5-10 кадров (вы можете использовать клавиши Shift + стрелки для перехода на заданное количество кадров). Это поможет вам быстро определить, какие рамки требуют наибольшей доработки.
И, наконец, хотя кривые Безье (Bezier curves) являются основным инструментом для ротоскопирования, я настоятельно рекомендую поэкспериментировать с формами В-сплайна (B-spline). Они часто требуют меньшего количества контрольных точек, что облегчает их точную настройку и стабилизацию, особенно при работе с органичным движением.
Можете ознакомиться с представленной сценой в Nuke, чтобы получить более глубокое представление обо всем процессе. Вы найдете заметки, объясняющие процесс от ноды к ноде.
Однако, если бы мне пришлось обобщить ключевые моменты, на которые следует обратить внимание при работе с подгонкой к отснятому материалу, основываясь на моем собственном опыте:
- Экстремальные значения: все, что слишком темное или слишком яркое, мгновенно разрушит иллюзию. Следите за контрастом и обеспечивайте плавную интеграцию.
- Пиксельные дефекты: 3D-рендеры, как правило, получаются слишком резкими сразу после обработки. Потратьте время на смягчение краев и их естественное смешивание с несовершенными кадрами реального мира.
- Иллюзия важна больше всего: в некоторых случаях я даже закрашивал мелкие детали, даже если они были настоящими, потому что они слишком бросались в глаза и могли заставить зрителя подсознательно почувствовать, что что-то не так.
В конечном счете, цель состоит в том, чтобы органично вписать компьютерную графику в живое действие, избегая при этом всего, что может вызвать подозрение у зрителя.
Лично я считаю это очень непростым, но творчески увлекательным занятием, потому что даже самый неопытный зритель может мгновенно определить, когда что-то кажется не так. Наши глаза от природы приучены наблюдать за окружающим миром в течение всей жизни, поэтому любая несогласованность в восприятии сразу же становится заметной.
Удачи в проекте!
Художник
Пьер Бурниго — художник и сорежиссер "L'Ogre du Danube". В настоящее время он ищет возможность начать свою карьеру в области визуальных эффектов и полнометражной анимации.
С указанием авторства-Некоммерческая версии 4.0 Международная