Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Unity : forward, rendering

В чём различие forward, forward+ и deferred рендеринга и какие у них trade-offs?

Проверяет глубокое понимание графического пайплайна и выбора рендера под задачи игры.

Короткий ответ

Forward рендерит объект полностью за один проход, но ограничивает количество источников света и плохо подходит для сложных сцен. Deferred рендерит сначала буферы (нормали, глубину, альбедо), а затем освещение, что позволяет использовать сотни динамических источников света, но плохо работает с прозрачностью. Forward+ — модернизированный forward, использующий кластеризацию света и позволяющий иметь много источников света, сохранив преимущества Forward, но сложнее в реализации. Выбор зависит от сцены: много динамических Lights → Deferred, мобильные платформы → Forward, современные проекты с множеством Lights и хорошей прозрачностью → Forward+.

Длинный ответ

1. Forward Rendering

Определение: Освещение рассчитывается сразу для каждого объекта в момент его рендера.

Как работает

  • объект рисуется → рассчитываются все активные источники света

  • шейдер получает Light data напрямую

Преимущества

  • отличная поддержка прозрачности

  • хорошие MSAA возможности

  • минимальный G-Buffer (экономия видеопамяти)

  • подходит для мобильных устройств

Недостатки

  • ограниченное число пиксельных источников света (обычно 1–4)

  • большое количество draw calls при сложном освещении

Где применяется

  • мобильные игры

  • проекты с небольшим количеством Lights

  • stylized графика


2. Deferred Rendering

Определение: Сначала записывает в G-Buffer свойства материала, затем освещение считается на втором проходе.

Как работает

  1. G-Buffer pass:

    • нормали

    • альбедо

    • roughness/metallic

    • глубина

  2. Lighting pass:

    • каждый свет считается отдельно

  3. Composite pass

Преимущества

  • поддерживает сотни динамических источников света

  • высокая визуальная реалистичность

  • освещение отделено от материалов

Недостатки

  • плохая работа с прозрачностью

  • высокая нагрузка на видеопамять

  • нет MSAA (в классическом варианте)

Где применяется

  • AAA графика

  • сцены с большим количеством Lights

  • реалистичные проекты


3. Forward+ Rendering (Clustered Forward / Tiled Forward)

Определение: Гибридный рендеринг, кластеризующий сцену на группы (tiles) и отбирающий Lights только для нужных блоков.

Как работает

  • сцена разбивается на кластеры

  • для каждого кластера вычисляется список Lights

  • шейдер получает только Lights своего кластера

Преимущества

  • поддержка множества Lights (как deferred)

  • корректная прозрачность (как forward)

  • меньше видеопамяти

  • высокая производительность

Недостатки

  • сложнее реализация

  • требует compute shader’ов

  • зависит от платформы (мобильные устройства могут не поддерживать)

Где применяется

  • URP 12+

  • HDRP

  • PC/консоли

  • сцены с большим количеством динамических источников света


Ключевые trade-offs

Forward

  • прозрачность

  • MSAA
    − мало Lights
    − дорогие шейдеры с освещением

Deferred

  • много Lights

  • реалистичное освещение
    − плохая прозрачность
    − много памяти

Forward+

  • много Lights

  • хорошая прозрачность

  • оптимальная память
    − требует современных GPU
    − сложнее отладка


Краткий вывод

Forward — лёгкий, для простых сцен. Deferred — лучший выбор для сцен с большим количеством Lights. Forward+ объединяет сильные стороны обоих и идеально подходит для современных проектов на URP/HDRP.

  • Аватар

    Unity Guru

    Oleg Miroshkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    8

Навыки

  • Unity

    Unity

Ключевые слова

#forward

#rendering

Подпишись на Game Developer в телеграм

  • Аватар

    Unity Guru

    Oleg Miroshkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.