Рендер с оверсканом без мам, пап и плагинов

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

Наглядная ситуация: после применения дисторсии на рендер его границы предательски лезут в кадр.

Большой сфере слева явно плохо
Большой сфере слева явно плохо

Без паники! 

Для решения проблемы потребуются:

  1. композер джун обыкновенный - одна штука

  2. продукт компании The Foundry - «Nuke»

  3. несколько минут для прочтения данной статьи

За данность примем наличие трекнутой камеры и модели дисторсии линзы. Разрешение исходника 3840 х 2160. Начинаем!

В Нюке к отснятому материалу 

Наш условный "исходник"
Наш условный "исходник"

применяем андисторт - bounding box(пунктирная линия по периметру) картинки увеличится. 

андистортнутый исходник
андистортнутый исходник

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

Левый нижний угол
Левый нижний угол

-248 - значение по х

-141 - значение по у

Правый верхний угол
Правый верхний угол

4088 - значение по х

2301 - значение по у

Далее добавляем ноду Reformat, ставим ей тип ресайза(resize type) на none и в поле разрешения вписываем размер ббокса (сумма по горизонтали Х и вертикали Y, все значения приводим к абсолютным значениям). Сложение можно прописывать непосредственно в поле ввода, ставя знак «+».

Настройки ноды Reformat
Настройки ноды Reformat

У нас получилось новое разрешение 4336 х 2442.

Затем разделим его на старое - получим коэффициент увеличения кадра по горизонтали и вертикали.

4336 х 2442 - новое разрешение

3840 х 2160 - старое разрешение

4336/3840 = 1,13 - горизонтальный коэффициент

2442/2160 = 1,13 - вертикальный коэффициент

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

Атрибуты нашей камеры
Атрибуты нашей камеры

Горизонтальный размер - 24,576

Вертикальный размер - 18,672

24,576 * 1,13 = 27,77 - новый горизонтальный размер матрицы

18,672 * 1,13 = 21,1 - новый вертикальный размер матрицы

Далее выбор за вами:

  • забить новые значения размеров матрицы в камеру и передать ее 3д отделу

  • передать камеру как было и попросить 3д отдел самим у себя вписать новые размеры матрицы(ориентируйтесь на слова filmback size или sensor size)

Выводим сиквенцию с андистортом и новым форматом для 3д отдела для подстановки на бэк.

Схема подключения нод
Схема подключения нод

В синеме я накидал вот такую простую сцену:

Условная сцена в 3д
Условная сцена в 3д

Расположил четыре сферы на пересечениях линий для более наглядного примера. Заменил старый размер матрицы на новый 27,77:

Атрибуты камеры в синеме
Атрибуты камеры в синеме

Как только получили отрендеренную сиквенцию

Изображение, полученное из 3д пакета
Изображение, полученное из 3д пакета

применяем к ней обратный алгоритм:

  1. Реформатим к старому разрешению. Используем ноду Reformat, режим none, галочку напротив preserve bounding box, разрешение ставим старое - кадр кропится к исходному формату с появлением увеличенного ббокса

    Настройки ноды Reformat
    Настройки ноды Reformat
  2. Применяем дисторсию

Вуаля! Рендер корректно наложился с дисторсией съемочной линзы на исходный материал без обрезанных краев!

Источник: https://habr.com/ru/articles/757468/


Интересные статьи

Интересные статьи

Kubectl (Kubernetes Control) — это по сути основной интерфейс для взаимодействия с Kubernetes-кластером. Сторонние разработчики сделали для него много полезных плагинов, которые в той или иной ситуаци...
В одной из прошлых статей с подозрительно похожим заголовком мы показали, как построить модель месторождения и посчитать свойства пласта глубоко под землёй, используя кро...
В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для ...
Введение Рендеринг 3D графики — непростое занятие, но крайне интересное и захватывающее. Эта статья для тех, кто только начинает знакомство с OpenGL или для тех кому интересно, как работают граф...
Часть 1. Молнии В этой части мы рассмотрим процесс рендеринга молний в Witcher 3: Wild Hunt. Рендеринг молний выполняется немного позже эффекта занавес дождя, но всё равно происходит в прох...