Unity поддерживает различные способы рендеринга (Rendering Paths). Вам следует выбрать подходящий вам способ в зависимости от содержимого вашей игры и целевой платформы / аппаратных средств. Различные способы рендеринга имеют разную функциональность и разные показатели производительности; в основном, это касается теней и источников света.
Выбрать способ рендеринга для всего вашего проекта можно в настройках проигрывателя. Кроме того, вы можете переопределить его в настройках каждой из камер.
Если графический адаптер не поддерживает выбранный способ рендеринга, Unity автоматически переключится на менее требовательный. Так что если GPU не поддерживает отложенное освещение (Deferred Lighting), будет использован упреждающий рендеринг (Forward Rendering). Если и упреждающий рендеринг не поддерживается, тогда будет использовано вершинное освещение (Vertex Lit).
Deferred Lighting - это способ рендеринга с наиболее точным освещением и тенями. Лучше всего применять при большом количестве динамических источников света. Требует определённый уровень аппаратной поддержки и доступен только в Unity Pro.
Для дополнительной информации, посетите страницу про отложенное освещение.
Forward - это способ рендеринга, основанный на шейдерах. Он поддерживает попиксельное освещение (включая карты нормалей и источники света с cookie текстурами) и динамические тени от одного направленного источника света. По умолчанию, небольшое количество самых ярких источников света рендерится в режиме попиксельного освещения. Остальные источники света рассчитываются на вершинах объекта.
Для дополнительной информации, посетите страницу про упреждающий рендеринг.
Legacy Deferred (light prepass) is similar to Deferred Shading, just using a different technique with different trade-offs. It does not support the Unity 5 physically based standard shader.
Для дополнительной информации, посетите страницу про отложенное освещение.
Vertex Lit - это способ рендеринга с наименьшей точностью освещения и без поддержки динамических теней. Лучше всего его применять на старых компьютерах или на ограниченных мобильных платформах.
Для дополнительной информации, посетите страницу про вершинное освещение.
NOTE: Deferred rendering is not supported when using Orthographic projection. If the camera’s projection mode is set to Orthographic, these values are overridden, and the camera will always use Forward rendering.
Deferred | Forward | Legacy Deferred | Vertex Lit | |
---|---|---|---|---|
Возможности | ||||
Попиксельное освещение (карты нормалей, источники освещения с cookie) | Да | Да | Да | - |
Динамические тени | Да | With caveats | Да | - |
Reflection Probes | Да | Да | - | - |
Буферы глубины и нормалей | Да | С дополнительными проходами рендеринга | Да | - |
Мягкие частицы | Да | - | Да | - |
Полупрозрачные объекты | - | Да | - | Да |
Сглаживание Anti-Aliasing | - | Да | - | Да |
Маски выборочного рендеринга у источников света | Ограниченно | Да | Ограниченно | Да |
Точность освещения | Все источники попиксельные | Некоторые источники попиксельные | Все источники попиксельные | Все источники повертексные (вершинные) |
Производительность | ||||
Зависимость потребления ресурсов попиксельным источником света | Количество освещаемых пикселей | Количество освещаемых пикселей * количество освещаемых объектов | Количество освещаемых пикселей | - |
Number of times objects are normally rendered | 1 | Зависимость потребления ресурсов попиксельным источником света | 2 | 1 |
Overhead for simple scenes | High | Ничего | Medium | Ничего |
Поддержка на разных платформах | ||||
PC (Windows/Mac) | Shader Model 3.0+ & MRT | Все | Shader Model 3.0+ | Все |
Мобильные платформы (iOS/Android) | OpenGL ES 3.0 & MRT | Все | OpenGL ES 2.0 | Все |
Консоли | XB1, PS4 | Все | XB1, PS4, 360, PS3 | - |