Nodes in Nuke DepthGenerator
Узел DepthGenerator (только в NukeX и Nuke Studio) позволяет создавать карту глубины из отснятого материала. Узел использует информацию с отслеживаемой камеры для создания канала, отображающего изменения глубины.
Карта глубины — это изображение, в котором яркость каждого пикселя используется для определения расстояния между точкой 3D-сцены и виртуальной камерой, использованной для захвата сцены.
DepthGenerator также позволяет выводить глубину в виде нормалей и позиционных проходов, а также создавать узел Card3D, расположенный в 3D-пространстве и смещенный в соответствии с каналом глубины.
Input
Mask - Маска используется для игнорирования областей исходного изображения. DepthGenerator ожидает значения альфа-канала либо 0 (для используемых областей), либо 1 (для игнорируемых областей).
Глубина может быть рассчитана только там, где реальное трехмерное положение объектов не меняется. Если в исходном видеоматериале есть движущиеся объекты, DepthGenerator, вероятно, будет испытывать трудности с созданием точной карты глубины для этих областей. Чтобы предотвратить это, вы можете исключить движущиеся области переднего плана из расчета глубины, подключив маску к этому входу и установив параметр Ignore Mask в свойствах DepthGenerator на канал, содержащий маску.
Вход Mask появляется только после подключения двух других входов.
Camera - Отслеживаемая камера, соответствующая исходному видеоматериалу. При необходимости её можно создать с помощью узла CameraTracker.
Source - Исходный видеоматериал, на основе которого была создана Camera track.
DepthGenerator Tab
Ignore Mask
Задает тип маски для исключения областей исходного видеоматериала при вычислении глубины. DepthGenerator ожидает значения 0 (для используемых областей) или 1 (для игнорируемых областей).
Глубина может быть вычислена только там, где реальное трехмерное положение не меняется. Если ваш исходный видеоматериал содержит движущиеся объекты переднего плана, рекомендуется указать маску, чтобы предотвратить искажения в движущихся областях:
• None — ни одна область видеоматериала не игнорируется.
• Source Alpha — используйте альфа-канал исходного клипа для определения областей, которые следует игнорировать.
• Source Inverted Alpha — используйте инвертированный альфа-канал исходного клипа для определения областей, которые следует игнорировать.
• Mask Luminance — используйте яркость входного сигнала маски для определения областей, которые следует игнорировать.
• Mask Inverted Luminance — используйте инвертированную яркость входного сигнала маски для определения областей, которые следует игнорировать.
• Mask Alpha — используйте альфа-канал входного сигнала маски для определения областей, которые следует игнорировать.
• Mask Inverted Alpha — используйте входной альфа-канал инвертированной маски, чтобы определить, какие области следует игнорировать.
В качестве альтернативы можно попробовать использовать меньшее Frame Separation для захвата движущихся объектов.
Output
Depth Output
Задает тип выходных данных:
• Depth 1/Z — выходное значение 1/Z, где Z — расстояние вдоль оси Z камеры. Это соответствует выходным данным глубины узла ScanlineRender.
• Distance — выходное значение расстояния вдоль луча от центра камеры до точки на 3D-поверхности.
Create Card
Нажмите, чтобы создать группу, содержащую смещенную карту, для визуализации глубины в виде поверхности в трехмерном пространстве.
Примечание: для параметра DepthOutput необходимо установить значение Depth (1/Z).
Surface Point
Задает канал(ы) для вывода глубины в виде позиционного прохода.
Позиционный проход включает координаты X, Y и Z для каждого пикселя изображения. Его можно использовать с узлом Relight или с узлом PositionToPoints для визуализации глубины в виде трехмерного облака точек.
Surface Normal
Устанавливает канал(ы) для вывода глубины в виде прохода нормалей. Используйте элемент управления NormalDetail, чтобы повлиять на плавность прохода нормалей.
Проход нормалей содержит три вектора информации для каждого пикселя изображения: направление по оси X, направление по оси Y и направление по оси Z. Другими словами, он хранит направление, в котором обращена каждая точка изображения. Вы можете использовать проход нормалей с узлом Relight.
Frame Separation
Analyze Sequence
Нажмите, чтобы автоматически рассчитать расстояние между кадрами (FrameSeparation) для использования в последовательности.
Для этого необходимо, чтобы камера во входном параметре Camera была определена для всех кадров в заданном диапазоне.
Примечание: Если вы анализируете последовательность и только потом решаете добавить маску игнорирования, вам следует повторно проанализировать последовательность после добавления маски.
Analyze Frame
Нажмите, чтобы рассчитать расстояние между кадрами для использования в кадре воспроизведения.
Это дает вам больше контроля, чем анализ последовательности, поскольку вы можете работать по временной шкале, анализировать отдельные кадры и при необходимости вручную корректировать значение расстояния между кадрами.
Камера во входном поле «Camera» должна быть определена для всех кадров в пределах диапазона кадров.
Frame Separation
Регулирует смещение между текущим кадром и кадром, относительно которого рассчитывается глубина для входных данных.
Используйте небольшое значение разделения для быстрых движений камеры и большее значение для медленных движений камеры.
Увеличение разделения обеспечивает большую базовую линию и более точную глубину. Однако большое разделение снижает качество сопоставления изображений и приводит к некорректным 3D-точкам.
Анимируйте FrameSeparation для компенсации переменной скорости камеры.
Камера во входных данных Camera должна быть определена для всех кадров в пределах диапазона кадров.
Примечание: Кнопки Analyse Sequence и Analyse Frame пытаются рассчитать наилучшее разделение.
Calculated Accuracy
Отображает точность определения глубины, рассчитанную при анализе разделения кадров. Значения, близкие к 1, считаются точными, а значения, близкие к 0, — неточными.
Используйте кадры с высокой точностью при размещении элементов в 3D (например, нажав кнопку «Create Card» или используя узел PositionToPoints).
Если вы получаете неточные значения глубины, попробуйте отрегулировать разделение кадров или использовать Ignore Mask.
Depth Generation
Depth Detail
Настройте этот параметр, чтобы изменить разрешение изображений, используемых для расчета карты глубины. Значение по умолчанию 0,5 равно половине разрешения изображения. Более низкие значения ускоряют обработку и обеспечивают более плавный результат. Более высокие значения позволяют получить более мелкие детали, но также увеличивают время обработки.
Normal Detail
Регулирует разрешение нормалей поверхности. Уменьшите детализацию, чтобы сгладить проход нормалей.
Значение по умолчанию 0,25 приводит к тому, что проход нормалей рассчитывается с разрешением в четверть от исходного.
Noise
Задает уровень шума, который следует игнорировать во входном видеоматериале при вычислении карты глубины.
Попробуйте увеличить это значение, чтобы сгладить глубину в плоских областях изображения.
Strength
Задает интенсивность сопоставления пикселей между кадрами. Увеличьте это значение, чтобы принудительно устанавливать соответствие, например, в случаях, когда упускаются мелкие детали, или уменьшите его для плавного изменения глубины.
В большинстве случаев можно оставить значение по умолчанию.
Sharpness
Определяет, насколько четкими должны быть границы объектов. Увеличьте резкость для разделения объектов и уменьшите ее для сглаживания глубины.
Smoothness
Регулирует весовые коэффициенты сглаживания при вычислении диспаритета. Вместо влияния на вычисление глубины, это применяет интеллектуальное размытие к результату.
Высокий уровень сглаживания может упустить множество локальных деталей, но с меньшей вероятностью приведет к появлению шумных значений глубины. Низкий уровень сглаживания будет концентрироваться на сопоставлении деталей, даже если результирующая карта глубины будет неровной.
Depth Limits
Near Clip Plane
Задает минимальную глубину по оси Z. Все значения глубины, меньшие этого числа, устанавливаются равными этому значению.
Far Clip Plane
Задает максимальную глубину по оси Z. Все значения глубины, превышающие это число, устанавливаются равными этому значению.
Mark Bad Regions
При включении этой функции области, где расчет глубины неоднозначен, отмечаются на карте глубины очень большими значениями.