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

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

Без паники! 

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

  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. Применяем дисторсию

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

Комментарии (0)