Глава 13.1: Компоновка и рендеринг. Практика

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

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

Автор Колин Литстер (Colin Litster)

Перевод PalSan

Содержание

Почему композиция?

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

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

Рис. 1: Сцена шторма составленная из нескольких изображений.
Увеличить
Рис. 1: Сцена шторма составленная из нескольких изображений.

Процесс комбинирования различных элементов в одно изображение называется "составление" (Compositing). В Blender’е имеются встроенный Компоновщик (Compositor) и пост-обработочные средства компоновки. Они могут быть использованы для точного контроля облика законченного рендера и помогают существенно уменьшить время, затрачиваемое на рендер анимации. Что более важно, они дают вам полный контроль над результатом.

Рис. 2: Единственная разница между изображениями в том, что на левой – сырой рендер, а на правой – обработанный Компоновщиком.
Увеличить
Рис. 2: Единственная разница между изображениями в том, что на левой – сырой рендер, а на правой – обработанный Компоновщиком.

Рабочий процесс (Production Pipeline)

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

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

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

Вместо того, чтобы загружать вас массой деталей на этой ранней стадии обучения, мы изучим простой композиционный эффект, чтобы понять главные моменты. Позже вы выполните несколько более сложных упражнений, которые показывают несколько индивидуальных типов нод и некоторые простые эффекты, такие как световые эффекты (bloom), коррекция цвета (color correction) и векторное размытие (vector-based motion blur). Эти упражнения также покажут, как система позиционирования позволяет значительно уменьшить время рендера.

Расположение экранов для позиционирования

Хотя расположение экранов по умолчанию в Blender’e подходит для большинства задач, оно не подходит для позиционирования. Рекомендованное расположение экранов для этой главы изображено на рисунке:

Рис. 3: Удобное расположение экранов
Увеличить
Рис. 3: Удобное расположение экранов

Если вам удобно пользоваться инструментами модификации интерфейса из Главы 2, вам не составит труда воссоздать это расположение у себя. В противном случае, вы можете взять его из файла "composite_screen.blend" в папке "example" на прилагаемом CD.

Начальное упражнение по Компоновщику

Давайте используем Компоновщик (Compositor) для создания фоновой тени от простой модели. Запустите Blender и начните новую сцену (Ctrl-X). По умолчанию в центре окна у вас должен быть куб. Если вы хотите полного сходства с нашим примером - добавьте сферу и обезьянку из панели инструментов. Поскольку для работы Компоновщику требуется рендер, отрендерьте сцену нажатием F12.

Рис. 4: Наша сцена
Увеличить
Рис. 4: Наша сцена

С настройками по умолчанию рендер производится без использования Компоновщика. Вы должны указать рендереру отправить результат Компоновщику и создать окно, необходимое для настройки эффекта составления. В панели Anim кнопок рендера (F10) включите кнопку Do Composite. С этого момента любой рендер будет выводить результат в Компоновщик для получения готового изображения. Если вы не используете показанный ранее композиционный экран, вам потребуется сменить одно из ваших окон на Редактор Нод (Node Editor). В окошке Window Type, расположенном в левой части главного меню 3D-view, выберите Node Editor.

Рис. 5: Выбор окна Node Editor.
Увеличить
Рис. 5: Выбор окна Node Editor.

В заголовке Редактора Нод нажмите на иконку с изображением лица, чтобы указать окну работать с составленными нодами (он так же может создавать материалы, основанные на нодах), и на кнопку Use Nodes, которая даст сцене команду рассчитать текущую конфигурацию нод. В случае, если дерево нод достаточно сложное, расчёт текущей конфигурации может занимать несколько секунд каждый раз. Если вы хотите сделать несколько незначительных изменений и не желаете ждать каждый раз, то можете временно отключить эту опцию.

Рис. 6: Обе кнопки - Composite и Use nodes должны быть включены.
Увеличить
Рис. 6: Обе кнопки - Composite и Use nodes должны быть включены.

Для вас будет создана система нод по умолчанию, состоящая из входящей ноды с именем Render Layer и исходящей с именем Composite.


Ноды

Процесс композиции обычно включает получение данных (таких, как рендер), применение фильтров и других модификаторов и вывода результата, обычно рендера. Этот процесс может быть легко проиллюстрирован с помощью диаграммы, в которой каждый процесс – получение, фильтры и вывод – представлен панелью и соединен с другими панелям линиями, обозначающими их связи. Ноды – это панели.

Используйте колесо прокрутки мыши для масштабирования в окне редактора нод.

Каждая нода содержит:

  • Коннекторы ввода/вывода;
  • Заголовок, включающий:
    • Стрелочку вниз для свертывания ноды;
    • Название ноды;
    • Знак плюса, нажатие которого очистит экран, скрыв неиспользуемые коннекторы;
    • Кнопку double bar, которая скрывает и показывает кнопки контроля ноды;
    • Регулятор кругового обзора, скрывающий или показывающий предварительный просмотр ноды.
Рис. 7: Ноды по умолчанию.
Увеличить
Рис. 7: Ноды по умолчанию.

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

Базовое задание по нодам

Вы уже знакомы со стандартными методами добавления, перемещения и удаления объектов в Blender’e. Blender использует множество интерфейсных элементов, одинаковых как для манипулирования объектами и каркасом, так и для редактирования нод и даёт лишь несколько дополнительных инструментов.

Упорядочивание нод

Нода может быть выбрана нажатием на ней ПКМ - либо на заголовке, либо на любом свободном пространстве ноды. Так как в Редакторе Нод нет 3D-курсора, щелчок ЛКМ так же будет работать, как инструмент выделения.

Ноды можно двигать с помощью инструмента Захват (Grab, горячая клавиша G) или просто нажатием ЛКМ и перемещением.

Переместите ноду Composite подальше вправо, чтобы освободить немного пространства между нодами. Вы заметите, что когда вы выделили ноду, её заголовок стал подсвечен и часть коннектора, прилегающая к ноде стала белой. Теперь нажмите клавишу X для её удаления. Если вы когда-нибудь по ошибке удалите ноду, вы можете восстановить её нажатием клавиш Ctrl + Z.

Добавление ноды

Новые ноды добавляются тем же путём, что и объекты в 3D вид: с панели инструментов. Откройте панель инструментов пробелом и выберите Add->Output->Composite. Появится новая нода Composite. Переместите её вправо, если она ещё не там.

Создание связей

Отмеченные точки на сторонах панелей – это сокеты. Сокеты на правой стороне ноды – для вывода, они выдают некоторую информацию: изображение или значение. Сокеты на левой стороне – для ввода. Они принимают информацию, переданную другими сокетами. Чтобы соединить вывод одной ноды с вводом другой, нажмите ЛКМ на исходящий сокет и подведите к входящему сокету ноды, с которым хотите установить связь. Когда линия связи будет достаточно близко, коннектор захватит её.

Создайте таким образом связь между исходящим сокетом Image ноды RenderLayer и входящим Image ноды Composite. Когда вы это сделаете, нода Composite покажет уменьшенную версию рендера в окне предварительного просмотра. Если ничего не произошло, вы, скорее всего забыли отрендерить начальную сцену. Если это так, сделайте рендер сейчас (F12).

Удаление связи

Существует несколько способов убрать связь между нодами. Первый – удерживая ЛКМ отвести линию свзяи от сокета, с которым она соединена. Другой способ хорошо подходит для удаления нескольких связей одновременно: удерживая нажатой ЛКМ обозначить прямоугольную область над линиями связи в окне Редактора Нод. Когда вы отпустите кнопку, все коннекторы, попавшие в описанную область, будут удалены.

Замечание:
Не путайте такой путь удаления связей с обычным методом выделения других программ. Если вы попробуете выделить таким путём несколько связей, вы их удалите. Вы можете восстановить их комбинацией клавиш Ctrl + Z.

Поэкспериментируйте с удалением связей. Когда связи удалены, удалите также ноду Composite. У нас есть ещё один метод создания и связывания нод.

Автоматическое связывание нод

Выделите ноду RenderLayer (ЛКМ или ПКМ), и войдите в Add->Output->Composite в панели инструментов. В этот раз появившаяся нода уже связана с нодой RenderLayer. Если вы создадите новую ноду, в то время, как существующий выделен, Blender попытается создать связь между двумя нодами наиболее подходящим способом. Это делает создание целой сети нод довольно легкой и быстровыполнимой задачей.

Изменение размера ноды

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

Простая тень

Рис. 8: Alpha-сокет ноды RenderLayer соединен с Image-сокетом  ноды Composite.
Увеличить
Рис. 8: Alpha-сокет ноды RenderLayer соединен с Image-сокетом ноды Composite.

Настало время организовать небольшую сеть нод для того, чтобы создать эффекты, которых трудно будет добиться имея доступ только к 3D-объектам и простому рендеру. В этом примере вы уберёте фон рендера и замените его на эффект внешнего свечения (outer glow).

Уберите связь между входом Render Layer и выходом Composite, захватив коннектор левой кнопкой мыши. Создайте новую связь между Alpha-выводом RenderLayer и Image-входом ноды Composite. Отрендерите сцену, нажав F12.

Что вызвало такой результат? Выходной Alpha-сокет RenderLayer’a содержит альфа-канал сырого (raw) рендера. Альфа-канал – это изображение шкалы яркости, которое показывает непрозрачность различных частей рендера: белый для непрозрачного, черный для абсолютно прозрачного и всё остальное между ними. Соединив альфа-вывод с Image-вводом ноды Composite вы указываете Компоновщику использовать альфа-канал, как результирующее изображение.

Альфа-каналы (иногда называемые Альфа маски или просто маски) полезны для разделения и наложения рендеров в Компоновщике.

Теперь используйте белые, непрозрачные области для отбрасывания тени позади ваших объектов. Хотя в данный момент – это неправильные цвета. Также, поскольку они такого же размера, как сам объект, видно их не будет. Для того, чтобы превратить маску в тень, которую будет видно, необходимо сделать следующее:

  • Немного её увеличить;
  • Размыть её;
  • Инвертировать её значения (белый в черный и наоборот);
  • Наложить оригинальный слой рендера на тень
  • Добавить немного цвета.

Увеличение маски

Если вы пользовались графическими пакетами до этого, вы должны знать о фильтрах для расширения/сужения или увеличения/уменьшения. Вкратце их задача – добавлять и убирать пиксели вокруг выделения. Нода Composite имеет такие фильтры, которые находятся, в Add->Filters панели инструментов, что, в общем-то, не удивительно. Нажмите пробел, чтобы добавить ноду и выберите Filters->Dilate/Erode.

Соедините выходной Alpha-сокет ноды RenderLayer с входным Mask-сокетом ноды Dilate/Erode, а выходной Mask-сокет ноды Dilate/Erode с входным Image-сокетом ноды Composite. Установите значение Distance ноды Dilate/Erode равным 10.

Рис. 10: Нода Dilate/Erode на месте.
Увеличить
Рис. 10: Нода Dilate/Erode на месте.

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

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

Улучшенный предосмотр

В Blender’е есть более удобный метод предосмотра разных этапов композиционного процесса, это нода Viewer. Используйте пробел чтобы добавить ноду из Output->Viewer в вашу сеть.

Замечание: Меню Add в заголовке Редактора Нод также содержит все эти команды.


Иногда, в зависимости от размера окна и значения приближения, Blender может создать новую ноду за пределами экрана. Если это произошло, легко переместить её туда, где она будет видна, так как свежесозданная нода всегда выделена. Таким образом, нажав на клавишу G вы сможете двигать ноду куда угодно. Другой способ – масштабирование колесом мыши и перемещение экрана с нажатой СКМ. Легче всего осуществлять такое масштабирование нажатием клавиши Home.

Тут есть пара интересных моментов. Во-первых, если нода Viewer была создана при выделенной ноде RenderLayer, она будет автоматически связана с выходным Image-сокетом. Если нет, то самостоятельно соедините Image-сокет RenderLayer’a с одним из сокетов Viewer’a. Во-вторых, если в окне пред. просмотра ноды Viewer ничего не появилось после создания связи, попробуйте отрендерить сцену (F12).

Хоть Viewer и даёт изображение, оно всё ещё довольно мало. Увеличьте размер ноды, потянув за правый нижний его угол. Сделайте его максимально большим. Так как сейчас вам не нужны сокеты Alpha и Z, можете скрыть их нажав + в заголовке ноды.

Рис. 14: Правильный вид ноды Viewer.
Увеличить
Рис. 14: Правильный вид ноды Viewer.

Давайте создадим ещё одну ноду Viewer, чтобы посмотреть Alpha-канал до того, как он пройдёт через увеличивающий фильтр (Dilate/Erode). Вы можете добавить новую ноду из панели инструментов и заново её настроить, но почему бы просто не скопировать уже существующию? Сделайте это комбинацией клавиш Shift + D при выделенной существующей ноде, копию которой вы хотите получить. Затем переместите новую ноду ниже ноды Dilate/Erode. Проведите линию связи между выходным Alpha-сокетом ноды RenderLayer и входным Image-сокетом новой ноды Viewer. Кстати, необходимо знать, что к одному выходному сокету можно подвести несколько коннекторов.

Как вы видите, Viewer-ноды более подходят для пред. просмотра, чем маленькие изображения остальных нод. Было бы неплохо сделать их такими же большими и детализированными, как стандартное окно рендера.

Если вы используете файл композиционной раскладки с CD-диска, вам уже должны быть видны два окна UV-редактора (UV/Image Editor). Если нет, разделите одно из окон вашего рабочего пространства (нажатием средней кнопкой мыши на его границу, смотрите Главу 2), и измените его на окно UV/Image Editor.

Рис. 16: Создание окна UV/Image Editor.
Увеличить
Рис. 16: Создание окна UV/Image Editor.

В заголовке этого окна выберите пункт Viwer Node из выскакивающего меню.

Рис. 17: Выбор Viewer Node.
Увеличить
Рис. 17: Выбор Viewer Node.

C этого момента окно будет показывать полноразмерное изображение активной в данный момент ноды. Вы можете масштабировать изображение колесом мыши и двигать СКМ. Также, все рендеры теперь могут иметь ещё одно отдельное окно. Вы можете направить рендер как в окно Render Result, так и в UV/Image Editor. Настроить это можно в разделе Output tab панели Render buttons (F10).

Рис. 18: Выбор окна Image Editor для вывода рендера по умолчанию.
Увеличить
Рис. 18: Выбор окна Image Editor для вывода рендера по умолчанию.

С такой настройкой гораздо легче создавать композиционные структуры. Хотя вы не можете видеть 3D-сцену в этом экране, помните, что композиция – это пост-рендерный процесс. Моделирование, создание материала и анимации скорее всего будет завершено до того, как вы начнете работу с Композитором.

Размытие маски

Возвращаясь к нашему примеру, вам нужно размыть наложенную альфа-маску для того, чтобы придать тени надлежащий вид. Существует несколько нод, используемых для размытия. Все они находятся в меню Add->Filters: Векторное размытие (Vector Blur): самый быстрый метод создания размытости для анимации. Расфокусировка (Defocus): Симулирует различные размытия уровня камеры для создания различных эффектов, в частности эффекта глубины резкости (Depth of Fild). Размытие (Blur): простое размытие изображений несколькими различными способами. Если вы не собираетесь использовать движение, а просто хотите создать камерные эффекты, обычного размытия будет достаточно. Добавьте соответствующую ноду из меню: Add->Filter->Blur.

Соедините Mask-выход ноды “Dilate/Erode” с Image-входом ноды “Blur”. Затем соедините Image-выход ноды “Blur” с Image-входом ноды “Composite”.

Замечание: Когда вы соедините новый коннектор к уже занятому входной ноде, Blender попытается перестроить некоторые связи нод. Обычно это довольно полезно, но иногда, например, когда альфа-сокет напрямую соединен с Image-сокетом, Blender может сделать неправильный выбор. В этом случае, вам придётся удалять ненужные связи.

Рисунок 19a: Сеть нод с добавленным “Blur”.
Увеличить
Рисунок 19a: Сеть нод с добавленным “Blur”.

На панели ноды выберите тип размывки по Гауссу (“Gauss”), которая подходит в большинстве случаев. Установите значения X и Y равным 30. Значение Size можно проигнорировать – оно задает размер размывки в процентном соотношение значений X и Y и должно быть равным 1.00.

Рисунок 19: Настройка ноды “Blur”.
Увеличить
Рисунок 19: Настройка ноды “Blur”.

Если вы настроили ваши экраны как полагается, вы могли заметить, что экран “UV/Image Editor”, настроенный на “Render Result” обновился и показывает эффект размытия, не требуя при этом перерендеринга.

Рисунок 20: Обновленный вид рендера появится автоматически.
Увеличить
Рисунок 20: Обновленный вид рендера появится автоматически.

Чтобы сделать это размытое изображение тенью, вам необходимо инвертировать его – сделать белое черным и наоборот.

Инвертирование изображения для создания тени

Ноды “Composite” часто предоставляют несколько путей для достижения определенного эффекта. Существует несколько способов инвертировать изображение, и в этом примере мы покажем как сделать это с добавлением цвета. Отдалите сеть нод с помощью колеса мыши и передвиньте ноду “Composite” вправо, чтобы освободить немного пространства для добавления нод.

Кривые RGB (RGB Curves)

Добавьте ноду “RGB Curves” через Add->Color->RGB Curves.

Рисунок 21: Нода “RGB Curves”.
Увеличить
Рисунок 21: Нода “RGB Curves”.

Поместите её между нодами “Blur” и “Composite”, соединив её Image-вход с Image-выходом ноды “Blur”, а Image-выход с Image-входом ноды “Composite”. К этому моменту вы уже должны неплохо уметь проводить линии связи.

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

В начальном состоянии, эта нода показывает прямую диагональную линию от левого нижнего угла к правому верхнему. Она изображает изменение входящего значения, обрабатываемого нодой. Горизонтальная ось отображает входящий цвет: черный слева, наполовину серый в центре и белый справа. Вертикальная ось представляет исходящие значения цвета: черный внизу, наполовину серый в центре и белый вверху. Кривая отражает изменение входящего значения по сравнению с исходящим. Хотя она и называется кривой, что отражено в названии ноды, пока она таковой не является. Если вы измените кривую, соотношение между входом и выходом также изменить в зависимости от того, какой формы будет кривая. Вы можете использовать эту кривую для изменения значений цветов на исходящем изображении, сделав черное белым, а белое черным. Наведите мышь на левый конец кривой и, нажав ЛКМ , ведите его максимально вверх, удерживая при этом у левого края графика. Сделав это, вы указали ноде принимать любое значение 0%(черное, вдоль горизонтальной оси) и изменять его на выходе на 100% (белый, вдоль вертикальной оси) Теперь проделайте тоже самое, но наоборот - с правым концом кривой, чтобы получить следующую картину:

Рисунок 22: Инвертированная кривая RGB.
Увеличить
Рисунок 22: Инвертированная кривая RGB.

Помните, что в случае ошибки вы можете вернуть всё как было, нажав комбинацию клавиш Ctrl-Z. Второе изменение превращает весь принимаемый белый цвет в черный. Линия, проходящая между двумя точками, даёт смесь этих двух трансформаций. Окно “UV/Image Editor” должно отобразить инвертированное изображение рендера, которое уже будет похоже на тень, которая нам нужна.

Рисунок 23: Эффект инвертированной RGB кривой, показанный в окне “Render Result”.
Увеличить
Рисунок 23: Эффект инвертированной RGB кривой, показанный в окне “Render Result”.

Мы ещё возвратимся к кривой RGB, чтобы добавить немного цветов. А сейчас, давайте поместим тень позади самих объектов. Вы должны взять оригинальный слой рендера и его альфа-канал и поместить над тенью, сгенерированной нодами. Для этого можно воспользоваться нодой “AlphaOver”.


Размещение изображения “RenderLayer” поверх тени

Добавьте ноду “AlphaOver” из меню Add->Color->AlphaOver. У вас уже есть небольшой кластер нод, так что будет целесообразно либо отдалить их, либо каким-либо образом перестроить, так чтобы освободить немного места. Поместите AlphaOver-ноду между нодами “RGB Curves” и “Composite”.

Заметьте, что у AlphaOver-ноды есть два входящих Image-сокета. Это из-за того, что она принимает два изображения и комбинирует их в один вывод. Соедините Image-выход ноды “RGB Curves” к верхнему входу Image ноды “AlphaOver”. Соедините оригинальный Image-выход RenderLayer'а с нижним Image-входом AlphaOver'а. И, наконец, соедините его Image-выход с Image-входом ноды “Composite”.

Рисунок 24: Сеть нод с подключенным AlphaOver
Увеличить
Рисунок 24: Сеть нод с подключенным AlphaOver

Результат рендера в окне “UV/Image Editor” должен обновиться и отобразить объекты поверх тени.

Рисунок 25: [без текста]
Увеличить
Рисунок 25: [без текста]

Проблемы композиции

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

Рисунок 25a: Отвратительная рамка вокруг позиционированных объектов.
Увеличить
Рисунок 25a: Отвратительная рамка вокруг позиционированных объектов.

Глядя на результат рендера, можно заметить небольшую синюю рамку вокруг объектов. Проблема тут не в самой сети нод, а в настройках рендера. Дело в том, что до сих пор вы рендерили всё со стандартным синим фоном. В “Render buttons” на панели рендера находиться блок кнопок выбора: Sky, Premul и Key. Так как вы сейчас заняты композицией, используйте Premul вместо Sky. Не вдаваясь в технические подробности, скажем, что Premul (что является сокращением от Premultiplied - предумноженный) комбинирует рендер с альфа-каналом прежде чем передать их Композитору, создавая довольно красивую рамку.

Рисунок 26: Выбор Premul в настройках рендера.
Увеличить
Рисунок 26: Выбор Premul в настройках рендера.


Теперь можно нажать F12 для ререндера всей сети или нажать ЛКМ на небольшую иконку рендера рядом с селектором всплывающего окошка RenderLayers чтобы активировать рендер только этой ноды.

Рисунок 26a: Кнопка “Render this node”
Увеличить
Рисунок 26a: Кнопка “Render this node”
Рисунок 27: Композиция с использованием Premul.
Увеличить
Рисунок 27: Композиция с использованием Premul.

Порядок обработки (врезка)

Некоторые композиционные ноды имеют несколько входов, например AlphaOver-нода. Важно знать порядок обработки, чтобы вы могли точно рассчитать результат работы Композитора. В примере вам нужно поместить оригинальное RenderLayer-изображение над тенью. Порядок наложения в Blender’е противоположен тому, который вы предполагаете. То есть изображение из нижнего входа помещается на верхний слой. Как правило, несколько раз ошибившись, вы запомните этот порядок. Просто помните, что ноды с несколькими входами считают нижний сокет более важным.


Добавление цветов

Можно оставить тень такой, какой мы её создали, но нода “RGB Curves” позволяет сделать изображение гораздо более живым. Иллюстрации этой книги черно-белые, так что вам придётся смотреть на свой собственный экран, чтобы увидеть результат этой части. Давайте начнём с тени и добавим немного цвета. В узле “RGB Curves” есть четыре кнопки C, R, G и B. При нажатии на кнопки R, G и B вам откроется доступ к регулированию кривой только для одного канала цвета (R - красный, G - зеленый и B - синий), оставляя остальные неизменными. Режим C (Combined, комбинированный), которым вы уже пользовались, объединяет все 3 канала в один. Это значит, что вы можете изменить как отдельные цвета, так и все сразу.

Комбинированная кривая уже настроена на инвертирование изображения. Выберите R для работы только с одним каналом и нажмите ЛКМ где-нибудь в центре кривой. Это создаст новую точку на кривой. Перетащите эту точку вверх так, чтобы она была примерно на половине пути до следующей линии разделяющей сетки, как показано на рисунке:

Рисунок 29: [без текста]
Увеличить
Рисунок 29: [без текста]

Переключитесь на канал синего цвета, нажав кнопку B, создайте новую точку на кривой и перетащите так, как показано в правой части иллюстрации. Поскольку мы уже инвертировали цвет с помощью комбинированной кривой, эффект от манипуляций с каналами R и B будет отличным от обычного в противоположную сторону. Как бы то ни было, изменение цвета с помощью кривой RGB всегда носит интуитивный характер и вы вольны экспериментировать, изменяя форму кривой и наблюдая эффект. Однако прежде чем продолжить после экспериментов, верните форму кривых в положение, схожее с тем, которое вы видите на иллюстрации.

Окно результата рендера сейчас должно показывать довольно красивую чернильно-синюю тень. В качестве последнего упражнения, давайте попробуем добавить желтый оттенок к фону и тени. Вы можете сделать это, продолжив работу с нодой “RGB Curves”. Вместо этого, однако, мы будем использовать новый тип ноды, который даёт больше контроля. Освободите место для ещё одной ноды, сдвинув “AlphaOver” и “Composite” вправо. Уберите связь между нодами “RGB Curves” и “AlphaOver”. Выделив “RGB Curves”, добавьте ноду Mix из меню Add->Color->Mix. Его Image-вход должен быть автоматически соединен с выходом ноды “RGB Curves”. Соедините Image-выход ноды Mix с верхним входом ноды “AlphaOver”.

Рисунок 31: Mix-нода включена в сеть и соединена.
Увеличить
Рисунок 31: Mix-нода включена в сеть и соединена.

Смешивание изображений

У ноды “Mix” также есть два входных сокета. Если только один из них принимает данные, то другой автоматически используется для цвета. Цвет может быть настроен в стандартном окне выбора цвета Blender’a. Это позволит наложить область равномерного цвета на изображение.

Как упоминалось раньше, нижний входной сокет ноды “Mix” принимает изображение, которое будет находиться вверху композиции, так что перетащите коннектор от верхнего сокета к нижнему. Нажмите на цветовой образчик возле верхнего сокета и задайте цветовые значения, как на рисунке:

Рисунок 32: Установка цвета: R 0.98, G 0.92, B 0.79
Увеличить
Рисунок 32: Установка цвета: R 0.98, G 0.92, B 0.79

Выберите значение Multiply в выпадающем меню Mix mode и установите значение Fac(Mix Factor, фактор смешивания) равным 0.65. Этот фактор указывает, что доминирующее изображение (нижнее в стеке) будет непрозрачно на 65%.

Рисунок 33: [без текста]
Увеличить
Рисунок 33: [без текста]

Вы могли заметить, что существует большое количество режимов смешивания, когда выбирали Multiply из выпадающего списка. В текущей версии программы есть 16 разных режимов. Эти режимы смешивания могут быть вам знакомы, если вы работали до этого в графических редакторах, и вы можете попробовать их использовать, чтобы посмотреть, как они изменяют изображение. С режимом, выбранным нами, вы получите такой результат:

Рисунок 34: Наш финальный рендер.
Увеличить
Рисунок 34: Наш финальный рендер.

А так будет выглядеть наша сеть нод:

Рисунок 35: Финальная композиционная сеть.
Увеличить
Рисунок 35: Финальная композиционная сеть.

Заключение

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

Порядок обработки (врезка)

Некоторые композиционные ноды имеют несколько входов, например AlphaOver-нода. Важно знать порядок обработки, чтобы вы могли точно рассчитать результат работы Композитора. В примере вам нужно поместить оригинальное RenderLayer-изображение над тенью. Порядок наложения в Blender’е противоположен тому, который вы предполагаете. То есть изображение из нижнего входа помещается на верхний слой. Как правило, несколько раз ошибившись, вы запомните этот порядок. Просто помните, что ноды с несколькими входами считают нижний сокет более важным.

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