Principled Hair BSDF
Больше не требуется настройка сложной связки нодов для достижения физически корректных волос. Всего этого теперь можно достичь с помощью нода Principled Hair BSDF. Цвет волос можно указать с помощью меланина, чтобы он соответствовал естественным цветам человеческих волос, или подкрасить для имитации окрашенных волос. Точный контроль шероховатости позволяет имитировать различные виды шерсти животных, а средства рандомизации помогают добавить реализма.
Principled Volume Shader
Новый шейдер Principled Volume упрощает настройку материалов объема. Объемы, такие как дым и огонь, могут быть отображены с помощью одного нода, который включает в себя рассеивание, поглощение и излучение.
Cryptomatte
Cryptomatte — это стандарт для эффективного создания масок для композитинга. Cycles выводит требуемые проходы рендеринга, которые затем можно использовать во время пост-обработки в Blender или другом ПО, с поддержкой Cryptomatte для создания масок для указанных объектов.
По сути это более мощная версия Object и Material ID с двумя преимуществами:
- Объекты, для которых создается маска, не нужно указывать заранее, их можно выбирать во время пост-обработки.
- Размытие движения, глубина резкости, прозрачность и сглаживание поддерживаются значительно лучше, нежели при использовании Object и Material ID.
Типичный рабочий процесс:
- Включите Cryptomatte, на вкладке слоев в меню Passes.
- Создайте нод Cryptomatte и свяжите слой рендеринга с соответствующими входами нода Cryptomatte.
- Присоедините нод Viewer к выходу Pick нода Cryptomatte.
- Используйте кнопки Add/Remove для добавления/удаления объектов с помощью нода Viewer.
- Используйте выход Matte нода Cryptomatte, чтобы получить альфа-маску.
Random Walk Subsurface Scattering
Новый метод подповерхностного рассеивания Random Walk обеспечивает более точные результаты для тонких и изогнутых объектов. Это происходит за счет увеличения времени рендеринга или шума для таких поверхностей, как кожа, но также он лучше сохраняет геометрические детали меша. Он доступен для нодов Subsurface Scattering и Principled BSDF.
Random Walk использует истинное объемное рассеивание внутри меша, что означает, что он лучше всего работает для закрытых мешей. Пересекающиеся грани и отверстия в меше могут вызвать проблемы.
Подразделение и смещение
Новый алгоритм подразделения поверхности (offscreen dicing scale) помогает значительно сократить использование памяти, уменьшая частоту подразделения объектов по мере их удаления от поля зрения камеры. Чтобы избежать появления артефактов во время анимации, теперь можно указать отдельную камеру, чтобы сохранить геометрию фиксированной. Обычно эта камера должна быть расположена так, чтобы покрывать всю область, видимую основной камерой, для финального рендера.
При использовании смещения в материалах теперь должен использоваться новый нод Displacement. Этот нод будет автоматически добавлен в существующие blend-файлы. Причиной этого изменения является поддержка вектора смещения и упрощение настройки масштаба смещения и среднего уровня (midlevel).
Смещение вектора теперь поддерживается через новый нод. Обычные карты смещения смещают поверхность только вдоль нормали, тогда как векторные карты смещения работают в любом направлении и могут использоваться для более точного запекания мешей высокого разрешения из другого программного обеспечения. Карты касательного пространства могут быть использованы для мешей, которые будут деформированы, например, анимированные персонажи, поэтому смещение следует за их деформацией. Карты пространства объектов работают для статических мешей и рендерятся немного быстрее при меньшем использовании памяти.
Шейдер Bevel
Для рендеринга закругленных углов был добавлен новый шейдер Bevel. Как и карты объема (bump), этот шейдер не изменяет фактическую геометрию, затрагивается только затенение. Небольшое скругление по краям помогает захватывать зеркальные блики, которые мы видим в реальном мире.
Обратите внимание, что это очень ресурсозатратный шейдер, и он может замедлить рендеринг на 20%. По этой причине рекомендуется использовать его лишь для запекания или рендеринга отдельных кадров, когда время рендеринга не так уж важно. Модификатор Bevel — более быстрый вариант, но иногда он не работает должным образом со сложной геометрией.
Шейдер Ambient Occlusion
Окружающая окклюзия теперь может выводить цвет или число с плавающей точкой для процедурного текстурирования. Например, этот шейдер может быть использован для добавления погодных эффектов только в углах и щелях объектов.
Как и шейдер Bevel, это ресурсозатратный шейдер, который может значительно замедлить рендеринг. Если время рендеринга имеет значение, использование Pointiness из нода Geometry или запеченная карта Ambient Occlusion будут рендериться быстрее.
Новые настройки этого шейдера:
- Samples: количество используемых сэмплов. Используйте их как можно меньше, чтобы обеспечить наилучшую производительность.
- Inside: выявляет выпуклые, а не вогнутые формы меша.
- Only Local: позволяет обнаруживать окклюзию только от самого объекта (к которому применен данный шейдер), и при этом не учитывать остальные объекты.
- Distance: расстояние, на котором происходит поиск окклюзии (длина луча трассировки).
Ноды
- Ноды Hair Info и Particle Info теперь имеют выход Random, который является случайным значением для волоса или частицы в диапазоне от 0 до 1. Это может использоваться в сочетании с нодом ColorRamp для рандомизации цвета волос или частиц.
- Запекание карты нормалей теперь поддерживает запекание нодов Bump, подключенных к BSDF, вместо вывода смещения.
- Запекание карты нормалей теперь использует сглаживание и AA сэмплы, когда в материале присутствуют ноды bump или bevel.
- Principled BSDF: новые входы Alpha и Emission для легкого создания прозрачности и излучения света.
- Нод Math: добавлены Arctan2 (конвертирует Декартовые координаты в полярные), Floor (округляет к меньшему), Ceil (округляет к большему), Fract (дробная часть), Square Root (квадратный корень).
- Текстура Voronoi: добавлены параметры пространственных объектов и расстояний для вывода различных паттернов и придания ячейкам различных форм, аналогичных тем, которые были доступны в Blender Internal.
- Подключение цветовых и числовых сокетов к шейдерным сокетам теперь автоматически воспринимается как излучение (emission). Подключение шейдерного сокета к другим сокетам теперь выделяется красным, чтобы указать, что это недопустимый тип соединения.
- Управление цветом: Cycles теперь полностью следует конфигурации Blender OpenColorIO. Ноды Image texture теперь используют цветовое пространство изображений, шейдерные ноды могут работать в линейных цветовых пространствах сцены.
Прочее
- Лампы Area теперь поддерживают форму диска и эллипса.
- Стекло теперь можно рендерить на прозрачном фоне. Включается данная опция в меню Film, с возможностью контролировать уровень шероховатости, ниже которого стекло будет становиться прозрачным.
- Параметр Holdout для объектов работает так же, как шейдер Holdout, но для всего объекта.
- Появилась возможность запекать шероховатость.
- Motion Blur теперь поддерживает анимированный масштаб объекта.
- Размытие движения камеры и объекта теперь поддерживает произвольное количество шагов движения.
Оптимизации
- Параметр минимального количества отскока луча был удален и теперь определяется автоматически. За счет этого в различных сценах возможно ускорение рендеринга на 10-30%, при аналогичном количестве шума. Возможно, потребуется изменить параметры количества сэмплов и отсечения непрямого света (clamp indirect), чтобы соответствовать предыдущим результатам.
- Более качественное сэмплирование для мешей с шейдером Emission возле геометрии и в объемах.
- Меню «Performance» содержит новую опцию «Pixel Size» для управления разрешением рендеринга в области просмотра. Предварительный рендеринг на дисплеях с высоким DPI теперь по умолчанию отображается с более низким разрешением.
- Отскоки AO на панели Simplify теперь визуализируют больше глянцевых и полупрозрачных отскоков, нежели диффузных. Это позволяет получить хорошо выглядящие результаты с низким количеством отскоков AO, что полезно, например, для ускорения рендера интерьеров. Фактор АО теперь также контролирует интенсивность.
- Автоопределение значения опции Multiple importance sampling для текстур окружающей среды. Раньше пользователям приходилось вручную устанавливать соответствующее разрешение для уменьшения шума, теперь этот процесс является автоматическим для типичных случаев.
- Убрана опция прозрачных теней, теперь она всегда включена, так как оптимизирована для всех вычислительных устройств.
- Опции Filter glossy и Indirect light clamping теперь включены по умолчанию.
GPU рендеринг
- Появилась поддержка одновременного рендеринга на CPU и GPU. Количество ядер процессора для рендеринга будет автоматически уменьшено, чтобы рендеринг графического процессора не замедлялся.
- Для CUDA-рендеринга больше не нужно использовать большие плитки. Во многих случаях рендеринг с размером плитки, например, 32×32, теперь будет быстрее. При использовании шумоподавления все еще может быть несколько быстрее использовать большие плитки, но это связано с высоким потреблением памяти.
- CUDA-рендеринг теперь поддерживает сцены, которые не помещаются в память графического процессора, но могут храниться в памяти процессора (наверное, речь идет об ОЗУ). Эта функция автоматическая, но влечет за собой снижение производительности в зависимости от сцены и используемого оборудования. Когда текстуры не помещаются в память графического процессора, происходит замедление скорости рендеринга на 20-30%. Когда данные других сцен также не помещаются в GPU, рендеринг может стать настолько медленным, что лучше будет рендерить лишь на CPU.
- Время компиляции ядра OpenCL значительно сократилось, рендеры теперь запускаются намного быстрее. Сложные сцены также рендерятся быстрее.
- CUDA и OpenCL теперь поддерживают кубическую интерполяцию с изображениями и объемами.
- CUDA больше не поддерживает графические карты с compute capability 2.0 и 2.1, включая GTX 480 и 580. К сожалению, в последних версиях средств разработки NVIDIA отказались от поддержки этих графических процессоров, поэтому для поддержки более новых графических процессоров Volta и более быстрого рендеринга пришлось обновиться. CUDA также более не доступен на 32-битных сборках по тем же причинам.
- OpenCL теперь поддерживает текстуры с двойной точностью.
- Из-за ошибок компилятора OpenCL и прекращения его поддержки компанией Apple он был отключен на платформе MacOS. Другие платформы по-прежнему поддерживают OpenCL.
Исправления
- Карты рельефа и нормалей с высоким значением силы больше не приводят к появлению черных пятен.
- Объекты улавливатели теней (Shadow catcher) больше не отбрасывают тени друг на друга.
- Способ наложения текстур box mapping был изменен, чтобы избежать переворачивания текстур.
- Исправлена ошибка, из-за которой некоторые объекты выглядели ярче, чем должны были бы.
- Для Anisotropic, Glossy, Glass и Refraction BSDF теперь используется квадратный корень значения шероховатости, чтобы соответствовать шейдеру Principled BSDF и другому программному обеспечению.