Обмеження – Limitations

Мета Eevee - бути інтерактивним рушієм рендера. Деякі функції, можливо, ще не існують, або, ймовірно, неможливо імплементувати в архітектуру Eevee без компрометування продуктивності.

Ось досить вичерпний список всіх обмежень, які ви можете очікувати при роботі з Eevee.

Камери – Cameras

  • Лише перспективні та ортогональні проекції поточно підтримуються.

Освітлювачі – Lights

  • Лише 128 активних освітлювачів можуть підтримуватися Eevee у сцені.
  • Лише 8 тінявих сонцевих освітлювачів можуть підтримуватися одночасно.
  • Наразі, освітлювачі можуть мати лише один колір та підтримують дерева вузлів для освітлення.

Проби Освітлення – Light Probes

  • Eevee підтримує лише до 128 активних Куброзкладок Відбиття – Reflection Cubemaps.
  • Eevee підтримує лише до 64 активних Об’ємів Опроміненості – Irradiance Volumes.
  • Eevee підтримує лише до 16 активних Площин Відбиття – Reflection Planes всередині усіченої піраміди огляду.

Побічне Освітлення – Indirect Lighting

  • Об’ємні – Volumetrics не отримують освітлення від Об’ємів Опроміненості – Irradiance Volumes, але отримують розсіяне освітлювання світу.
  • Eevee не підтримує відскоки освітлення «блікування до розсіяння», ні відскоки освітлення «блікування до блікування».
  • Усе блікове освітлювання вимикається під час запікання.

Тіні – Shadows

  • Лише 128 активних освітлювачів можуть підтримуватися Eevee у сцені.
  • Лише 8 тінявих сонцевих освітлювачів можуть підтримуватися одночасно.

Об’ємні – Volumetrics

  • Лише одиничне розсіювання підтримується.
  • Об’ємні рендеряться лише для «променів» камери. Вони не показуються у відбиттях/заломленнях та пробах.
  • Об’ємні не отримують освітлення від Об’ємів Опроміненості – Irradiance Volumes, але отримують розсіяне освітлення світу.
  • Затінювання об’ємних працює лише на інших об’ємних. Вони не будуть відкидати тіні на суцільних об’єктах у сцені.
  • Затінювання об’ємних працює лише для об’ємів всередині усіченої піраміди огляду.
  • Освітлювання об’ємних не враховує форми освітлювачів. Вони обробляються як точкові освітлювачі.

Ефекти Простору Екрана – Screen Space Effects

Eevee не є рушієм простеження променів і не може обробляти перетин променя з трикутником. Натомість, Eevee використовує буфер глибини як апроксимоване представлення сцени. Це скорочує складність ефектів масштабування сцени та дозволяє вищу продуктивність. Проте, лише те, що знаходиться всередині огляду, може враховуватися при обчислюванні цих ефектів. Також, оскільки це використовує лише один шар глибини, то відома лише відстань до найбільш переднього пікселя.

Ці обмеження створюють кілька проблем:

  • Ефекти простору екрана зникають при досяганні границі екрана. Це може частково бути виправлено шляхом використовування функції понадпрогляду – overscan.
  • Ефекти простору екрана не мають інформації про глибину (або товщину об’єктів). Саме тому більшість ефектів мають параметр товщини для керування тим, як розглядати потенційні пікселі, що перетинаються.
  • Поверхні, що змішуються, не враховуються цими ефектами. Вони не є частиною передпроходу глибини та не показуються у буфері глибини.

Загорода Оточення – Ambient Occlusion

  • Об’єкти обробляються як безкінечно товсті, продукуючи понадзатінювання, якщо Distance є дійсно великою.

Відбиття Простору Екрана – Screen Space Reflections

  • Лише єдиний Glossy BSDF може емітувати відбиття простору екрана.
  • Ця обчислена BSDF поточно обирається довільно.
  • Screen Space Reflections будуть відбивати прозорі об’єкти та об’єкти на основі Screen Space Refraction, але без точного позиціювання через те, що є єдиний шар буфера глибини.

Рефракція Простору Екрана – Screen Space Refraction

  • Лише одна подія заломлення поточно моделюється.
  • Лише безпрозорі та альфа кришені матеріали можуть давати заломлення.

Підповерхневе Розсіювання – Subsurface Scattering

  • Лише одна BSSRDF може продукувати підповерхневе розсіювання простору екрана.
  • Обчислена BSSRDF поточно обирається довільно.
  • Максимум 254 різних поверхонь можуть використовувати підповерхневе розсіювання.
  • Лише масштабування налагоджується для кожного пікселя. Індивідуальні радіуси RGB налагоджуються на стандартне значення гнізда.
  • Увідна сяйність від кожної поверхні не ізолюється під час розмивання, що призводить до протікання світла від поверхні до поверхні.

Матеріали – Materials

Рефракції – Refractions

Заломлення підробляється шляхом відбирання однакової проби відбиття, що використовується глянцевими Glossy BSDF, але використовуючи напрямок огляду, що дає рефракцію, замість напрямку огляду, що дає відбиття. Лише перша подія заломлення моделюється коректно. Апроксимація другої події рефракції може використовуватися для відносно тонких об’єктів, використовуючи глибину заломлення Refraction Depth. Використання заломлення Простору Екрана буде заломлювати те, що видимо всередині огляду, та використовувати найближчу пробу, якщо немає жодних потраплянь.

Screen Space Reflections та Ambient Occlusion не є сумісними із Screen Space Refraction; вони будуть вимкнені на поверхнях, що використовують його. Поверхні, що використовують Screen Space Refraction не буде показуватися у Screen Space Reflections на належному місці. Поверхні, що використовують Screen Space Refraction, не будуть відкидати Ambient Occlusion на інші поверхні.

Розкладання Вигинів – Bump Mapping

Наразі, розкладання вигинів підтримується за допомогою похідних OpenGL, які є однаковими для кожного блоку з 2x2 пікселів. Це означає, що вивідне значення вигину буде показуватися пікселізованим. Рекомендується використовувати натомість розкладання нормалей.

Порада

Якщо вам абсолютно потрібно рендерити за допомогою вузлів Bump, то рендерте з подвійною цільовою роздільністю та зменште масштаб фінального виводу.

Об’єкти Об’ємів – Volume Objects
Шейдери об’єму об’єкта будуть впливати на всю габаритну коробку об’єкта. Форма об’єму повинна бути наладнана за допомогою процедурного текстурування всередині такого шейдера.

Вузли Шейдерів – Shader Nodes

  • Всі BSDF використовують апроксимації для досягнення продуктивності у реальному часі, тому завжди будуть невеликі відмінності між Cycles та Eevee.
  • Деякі практичні вузли ще не сумісні з Eevee (наприклад, вузол Sky Texture).

Дивись також

Повний список непідтримуваних вузлів дивіться Nodes Support.

Управління Пам’яттю – Memory Management

В Eevee, управління пам’яттю графічної карти – GPU робиться через драйвер GPU. У теорії, лише необхідні текстури та сіті (тепер їх називають «ресурсами») для одиничного виклику рисування (тобто, одного об’єкта) потребують вміщування у пам’ять GPU.

Тому, якщо сцена є дійсно важкою, драйвер буде по черзі завантажувати та вивантажувати елементи, щоб гарантувати, що всі об’єкти рендеряться коректно.

На практиці, використовування надто багато пам’яті GPU може дати крах драйвера GPU, зависання або припинення застосунку. Тому будьте обережні щодо того, що ви просите.

Не існує жодного стандартного способу оцінювання того, чи ресурси вмістяться у пам’ять GPU та/або чи GPU рендерить їх успішно.

Рендеринг на CPU – CPU Rendering

Будучи рушієм растеризації, Eevee використовує лише потужність графічної карти – GPU для рендера. Не планується жодної підтримки рендерингу (програмним забезпеченням) на CPU, оскільки він був би дуже неефективний. Потужність CPU все ще необхідна для оброблення високої складності сцени, оскільки геометрія повинна бути підготовлена CPU перед рендерингом кожного кадру.

Підтримка Багатьох GPU – Multiple GPU Support

Наразі немає жодної підтримки для систем з кількома одночасно графічних карт – GPU.

Рендеринг Без графічного інтерфейсу користувача – Headless Rendering

Поточно немає жодної підтримки для використовування Eevee на системах без графічного інтерфейсу користувача (тобто без Менеджера Показу – Display Manager).