Eevee
Первые впечатления
Ранее мы уже публиковали вводную статью про Eevee – новый движок вьюпорта, который станет частью грядущего Blender 2.80. Стали появляться тестовые сборки со включенным Eevee, так что наступило время для более детального обзора всех возможностей новинки.
Для тех, кто не в курсе, поясним: Eevee (Extra Easy Virtual Environment Engine) позволяет отображать сцену во вьюпорте с качеством, сравнимым с Blender Internal – полноценное попиксельное освещение, отражения, преломления, мягкие тени, эффекты постобработки... Фактически, для большинства простых проектов можно будет вовсе отказаться от BI и просто снимать скриншоты вьюпорта!
Концептуально Eevee вдохновлен Cycles – материалы на узлах, все те же шейдеры и BSDF. В качестве основного предлагается Principled BSDF – стандартный PBR-шейдер с параметрами альбедо, шероховатости и металличности (albedo, roughness, metallic). Есть и несколько других шейдеров – Diffuse, Emission, Glossy, Glass, Specular (блестящий диэлектрик), Transparent. К сожалению, преломления для шейдера стекла пока не учитывают объекты сцены – только карту окружения.
Очень порадовало то, что шейдеры можно смешивать и суммировать, как в Cycles. Есть также различные режимы смешивания для материалов – альфа, суммирование, умножение и т.д. Также порадовала поддержка мягких теней от источников света типа Point, Spot, Area. Но почему-то пока нет теней для Sun. Что касается динамических отражений – уже имеется базовая поддержка отражений в экранном пространстве (screen-space reflections), однако их качество, по сравнению с тем же Unreal Engine, пока оставляет желать лучшего – будем ждать световые зонды. Кстати, есть поддержка HDR-карт окружения, которая также роднит Eevee с Cycles.
Реализовано несколько эффектов постобработки – SSAO, DoF, отображающийся в режиме просмотра через камеру, а также bloom. В скачанной мной сборке был также motion blur, но я его так и не увидел в действии. Теперь о недостатках. В Eevee пока нет поддержки модификаторов мешей – эта проблема включена в список первоочередных задач по разработке нового движка (https://wiki.blender.org/index.php/Dev:2.8/Source/Viewport/Priorities). Eevee не работает под macOS, поскольку остальная часть Blender не переведена на OpenGL Core Profile (под macOS нельзя одновременно использовать старый фиксированный конвейер и возможности новых версий OpenGL). Эта проблема также входит в число приоритетных задач по Blender 2.80 – новая версия пакета будет требовать OpenGL 3.3. По той же причине, кстати, Blender под macOS пока не включает поддержку OpenSubdiv.
Производительность Eevee уже находится на достаточно хорошем уровне, но на бюджетном железе явно недостаточна для серьезной работы – при отображении вершин и ребер вьюпорт сильно тормозит.
Можно выделить два основных способа применения нового движка:
- быстрый предпросмотр сцен для последующего рендеринга, хорошая альтернатива вьюпорт-режиму Cycles; - PBR-раскрашивание моделей с интерактивным просмотром, как в Substance Painter.
Тестовые сборки Blender 2.80: