Ноды композиции/Искажающие ноды композиции

Материал из Blender3D.

Перейти к: навигация, поиск

Перевод: Striver

Оригинал здесь

Содержание

Эти ноды искажают изображение некоторым способом, действуя или целиком на всё изображение, или используя маску, чтобы изменить отдельный эффект на изображении.

Нод Translate (Переноса)

Панель: Node EditorNode Composition

Меню: Shift A → Distort → Translate

Нод Translate
Нод Translate

Нод translate переносит (перемещает) изображение на определенные расстояния в X и Y направлениях. X И Y задаются в пикселях, и могут быть положительными или отрицательными. Для того чтобы перемещать изображение вверх и влево, например, Вы должны задать отрицательное X и положительное Y смещение.

Используйте этот нод, чтобы позиционировать изображение в конечном составном изображении. Обычно, выход этого нода подключен к ноду AlphaOver или Mix, чтобы смешать его с базовым изображением. В примере ниже, вход RenderLayer с одной сцены (Box) перенесён влево (отрицательное перемещение X) и соединяется через alphaover с входом RenderLayer со сценой Hello.


Пример: Использование нода Translate Node для сдвигания титров

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

Использование нода Translate Node для сдвигания титров
Использование нода Translate Node для сдвигания титров


На этой нодовой карте, вход RenderLayer содержит список вовлеченных людей и достигает высоты в 150 пикселей; он подаётся на вход image нода Translate. Величина Y (вертикальная) смещения нода Translate исходит от масштабированного временного показателя, который изменяется от -150 до 150 в течении 30 кадров. Сдвигаемое изображение перекрывает сверху фоновое изображение вихря. Так, в течение 30 кадров, нод Translate перемещает изображение от 150 пикселей внизу (ниже экрана), вверх через вихрь, перекрывая его сверху, и, наконец, покидает экран сверху. Эти кадры генерируются, когда кнопки Render Animation установлены и нажат Anim. Прямо сейчас, кадр 21 показывает Moe и Curly, а Larry перемещён за пределы экрана.

Альфа канал: Не забывайте сохранять ваше изображение титров в формате, который поддерживает альфа-канал, например, PNG, чтобы нод AlphaOver мог перекрыть им фон и позволил показывать фон через него.

Вы могли иметь анимацию всего текста, прокручивающегося перед вашей камерой, но рендерить потребовалось бы всегда. Использование нода translate - значительно быстрее для смешивания, и более гибко. Для того чтобы добавить кого-нибудь к списку, просто измените изображение титров, и анимируйте заново. Поскольку это - простая манипуляция с изображением, Блендер чертовски быстро регенерирует ваши титры. Аналогично, изменение фона является также простым; просто загрузите другое изображение фона и анимируйте заново.

Пример: Движение Matte

(см. попытку объяснения термина matte здесь – прим. пер.)

В некоторых 2D и 3D анимациях и кино, matte painting используется как фон. В большинстве сцен, тем не менее Вы можете легко переместить его, используя нод Translate. Mattes огромные; в примере, использованном ниже его действительный размер 1440x600 пикселей, даже если сцена была рендерена для ТВ. Это превышение размеров дает нам место для перемещения matte. Макароны примера ниже вводят танцующий "Hello!" справа в кадрах 1-30. Когда "Hello!" достигает центра сцены, мы подделываем перемещение камеры, перемещая matte налево, таким образом, это выглядит похожим на то, что "Hello!" все еще двигается, с перемещением камеры вместе с ним.

Перемещение Matte обратно движению анимации (кадр 60)
Перемещение Matte обратно движению анимации (кадр 60)


Используйте нод Map Value, чтобы масштабировать смещение X (слева направо), которое подаётся на нод Translate. Заметьте, что смещения используются, чтобы позиционировать танцующий "Hello!" вплоть до похожести на прогуливание вдоль улицы (в визуализируемой сцене, он отцентрирован в камере и просто танцует на месте). Matte настроен, чтобы подделать высоту камеры как у наблюдателя, приводя горизонт вверх.

Пример: Тряска, Треск и Перевороты

Реальный мировой эффект потрясение камеры. БУМ! Мы ожидаем, что почувствуем столкновение и увидим как это качает наш мир. В нашем виртуальном мире компьютерной графики, все же мы - в вакууме пространства. Так, мы должны подделать тряску камеры. Есть два места в цикле разработки, где можно это сделать: во время Render-Scene (Рендера сцены), и во время Композиции.

Во время Render-Scene, разработчик модели должен добавить кривую Ipo и ключевые кадры, которые вращают и/или перемещают камеру за короткое время. Преимущество тряски render-scene в том, что художник управляет ей и редактор не должен беспокоиться об этом; одна меленькая вещь благодаря хорошему качеству. Недостаток - в том, что художник может только моделировать актеров, а не фоновый пейзаж, бутафорию, или matte, так что любую тряску он вводит, не передавая в набор, бутафорию, или фон. Следовательно, лучше всего вводить тряску камеры после всех сцен, которые были отрендерены и собраны, когда они дошли до композиции.

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

Движение Камеры случается, поскольку камера физически перемещается; но её масса и её штатив также действуют как демпфирующее устройство, смягчающее и поглощающее начальный удар. Кинооператор также действует как демпфер, также как и корректор, пытающийся, вернуть камеру туда, где она была первоначально.

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

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

Для использования нодов Блендера, чтобы имитировать Движение Камеры, используйте макароны, показанные ниже. Макароны имеют группу Blur сверху, которая питает группу Translate ниже её.

Эффект: Тряска камеры
Эффект: Тряска камеры


В вышеуказанном примере, мы используем График зависимости во времени, который имитирует интенсивность и длительность типичного БУМА!. В этом случае, обе кривых имеют четыре пика в течение 16-кадрового периода, чтобы имитировать БУМ! (фактически одна кривая была создана и затем продублирована для создания другой, чтобы удостовериться, что объем обеих кривых был одинаковым). Заметьте, как кривая демпфируется (уменьшается в величине с развитием времени), как обсуждалось выше. Заметьте как кривая замедляется (увеличивается период), чтобы имитировать кинооператора, получающего управление. Обратите внимание, что кривая синусоидальная, чтобы имитировать пере-коррекцию и вибрацию.

БУМ! слева: Смещающая кривая начинается в 0.5. Максимальное отклонение вверх - целая половина, а вниз - только на четверть. Это смещение имитирует БУМ! покидаем наше лево, поскольку камера трясется дальше вправо, прочь от БУМА!

Движение и Blur (Размазывание) похожи, но различны: Обратите внимание, что две кривых - идентичны за исключением выделенных стартовой и конечной точек; мы хотим, нулевого размазывания и нулевого смещения перед и после тряски, но минимум размазывания должен быть во время максимума смещения. Два нода Map Value настроены по-разному для достижения этого; математику оставим читателю.

Используйте эти макароны Блендера, чтобы имитировать тряску камеры. Количество тряски устанавливается величиной Size, и размазывание должно быть пропорциональным количеству и направлению движения (преимущественно по X в этом примере). Используйте start и end нода Time, чтобы менять длительность тряски; десять секунд для землетрясения, одна минута для корабля, покачивающегося на волнах, полсекунды для F-14, пролетающего и забирающего ваш слух.
Примечание Автора: Я обратил внимание, как холодная камера тряслась при просмотре превью Halo 3.

Нод Rotate (Вращения)

Нод Rotate
Нод Rotate

Панель: Node EditorNode Composition

Меню: Shift A → Distort → Rotate

Этот нод вращает изображение. Положительные величины вращают по часовой стрелке и отрицательные - против часовой стрелки.

Нод Scale (Масштабирования)

Панель: Node EditorNode Composition

Меню: Shift A → Distort → Scale

Нод Scale
Нод Scale

Этот нод масштабирует размер изображения. Масштабирование может быть или абсолютным или относительным. Если переключатель Absolute включен, Вы можете определить размер изображения, используя реальные величины в пикселях. В относительном режиме используются проценты.

Например, при X: 0.50 и Y: 0.50 должно получиться изображение, у которого ширина и высота будут половиной тех, что были на входе. При увеличении изображения существенно, вероятно, Вы захотите размыть его отчасти, чтобы удалить квадратные края, которые могут появиться. Если конечно, Вы не хотите этого эффекта; в этом случае, проигнорируйте то, что Я только что сказал.

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

Нод Flip (Переворота)

Нод Flip
Нод Flip

Панель: Node Editor > Node Composition

Меню: Shift A → Distort → Flip

Этот нод переворачивает изображение по заданной оси, которая может быть X или Y. Также переворот может быть сделан по обеим осям X и Y одновременно.

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

Нод Displace (Смещения)

Панель: Node EditorNode Composition

Меню: Shift A → Distort → Displace

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

Это может быть полезным для многих вещей, подобно искажению нагретого воздуха, быстрому-и-некачественному преломлению, композиции живого видеоматериала за преломляющими объектами, выглядящими подобно изгибающему стеклу или стеклянными блокам, и больше! Помните, что видел HAL в Космической Одиссее:2001; это искажалось широкоугольной линзой? Да, этот нод может взять плоскую картинку и наложить маску, чтобы произвести это изображение.

Количество смещения по X и Y направлениям определяется

  • Значением в маскирующем канале:
  • Масштабированием маскирующего канала

(Красный) канал 1-ой величины определяет положительное или отрицательное смещение вдоль оси X. (Зеленый) канал 2-ой величины определяет положительное или отрицательное смещение вдоль оси Y. Если обе величины каналов равные (то есть изображение в серых тонах), входное изображение сместится одинаково как в X так и в Y направлениях, и также согласно кнопкам масштаба X и Y. Эти масштабирующие кнопки действуют как множители, чтобы увеличить или уменьшить силу смещения вдоль соответствующих осей. Они должны быть установлены в ненулевую величину, чтобы нод имел какой-нибудь эффект.

Из-за этого, Вы можете использовать нод displace двумя путями, с серой маской (легко нарисовать, или взять из процедурной текстуры), или с векторным каналом или изображением RGB, таким как проход нормали, который сместит пиксели, основываясь на направлении нормалей.

Пример

Пример искажения музыкального видео используя Displace
Пример искажения музыкального видео используя Displace


В этом примере она поет о мечтах о будущем. Так, чтобы представить это, мы используем двигающуюся текстуру облаков (снятую просто рендерингом текстуры cloud на движущейся плоскости) как карту смещения. Теперь, цвета в черно-белом изображении ходят от нуля (черного) до единицы (белый), которая, если подключена непосредственно без масштабирования должна перемещать пиксели только на одну позицию. Теперь мы масштабируем этот эффект в X и Y направлениях. При просмотре этого, иногда растягивание как в X так и Y направлениях сделало ее лицо выглядящим толстым, и мы все можем догадаться о её реакции на то, что она выглядит толстой в камере. Тогда, мы масштабируем по X вдвое меньше, так что ее лицо выглядит длиннее и худее. Здесь, это единственное изображение не даёт оценить должным образом анимационный эффект при перемещений облака, и эти простые макароны не отражают использование размытия и перекрытия, чтобы расширить (и усложнить) эффект, но это - основа.

Фотография любезно предоставлена Becca, никакие права не резервировались.

Нод Map UV (UV-карта)

Панель: Node EditorNode Composition

Меню: Shift A → Distort → Map UV

нод Map UV
нод Map UV

Так, Я думаю что мы все согласимся, что проблема в том, что... мы просто не знаем того, чего мы хотим. То же истинно для редакторов. Несмотря на нашу наилучшую работу по отекстуриванию наших моделей, в пост-производстве, неизбежно редактор изменяет их решения. "Парень, Я действительно хочу, чтобы он выглядел более неровно. Кто делал makeup, во всяком случае?" приходит замечание. Пока что Вы могли делать немного раскраски в пост-производстве, были ограничены. Хорошо, теперь пришел этот небольшой нод, и у вас есть возможность отекстурить заново ваши объекты после того, как они были отрендерены. Да, Вы прочитали это правильно; это - не опечатка и Я не сумасшедший. По крайней мере, не сегодня.

Используя этот нод (и имея сохранённую UV-карту в последовательности изображений многоуровневого формата OpenEXR), Вы можете приложить новые плоские изображения текстуры ко всем объектам (или к индивидуальным объектам, если Вы использовали очень классный нод ID_Mask, чтобы пронумеровать ваши объекты) на сцене.

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

Конечно, когда рисуете новую текстуру, помогает наличие UV-карт для оригинальных объектов на сцене, так что сохраняйте эти схемы UV-текстур недалеко даже после окончания всех съёмок.

Примеры

Добавление UV-Текстур Сетки для Трекинга Движения (motion tracking)
Добавление UV-Текстур Сетки для Трекинга Движения (motion tracking)


В примере сверху, мы перекрыли образцом сетки поверх двух голов Emo после того, как они были отрендерены. Во время рендеринга, мы включили слой UV во вкладке RenderLayer (окно Кнопок, Контекст Render, вкладка RenderLayer). Используя нод mix, мы примешиваем эту новую UV-Текстуру поверх оригинального лица. Мы можем использовать эту текстуру сетки для помощи в любом трекинге движения, который нам нужно сделать.

Добавление UV-Текстур в пост-производстве
Добавление UV-Текстур в пост-производстве


В этом примере, мы перекрываем флагом поверх кубообразной штуковины, и мы удостоверились, что мы включили кнопку Alpha premultiply в ноде Смешивания. Флаг используется как дополнительная UV-Текстура поверх сетки. Другие примеры включают возможность, что мы использовали нелегальные материалы во время нашего начального анимирования, и нам нужно заменить их другими материалами спонсора после рендеринга.

Конечно, этот нод НЕ дает редакторам полномочий спешить с пред-производственным рендерингом под видом "мы исправим это позже", так что, может быть, Вы не захотите сообщать им об этом ноде. Давайте сохраним это сейчас для себя.

Личные инструменты