Настройка разрешения тени во Встроенном Render Pipeline
Чтобы рассчитать разрешение карты тени, Unity:
Определяет площадь экрана, которую может осветить Свет. Для направленных светильников может освещаться весь экран. Для светильников Spot Lights и Spot Lights площадь представляет собой экранную проекцию формы распространения света: сферу для точечных светильников или конус для светильников Spot Lights. Проекцию формы в пикселях на экране; затем принимается большее из этих двух значений. Это значение называется размером пикселя Света.
- Определяет множитель качества тени. Unity Разрешение тени для этого, который устанавливается в Настройки качества Настройки качества соответствуют следующим значениям:
- Очень высокий: 1.0
- Высокий: 0.5
- Среда: 0.25
- Низкий: 0.125
Выполняет следующие расчеты, а затем зажимает результат до максимального размера:
| Тип света: | Формула: | Максимальное разрешение, в пикселях: |
|---|---|---|
| Направленный | NextPowerOfTwo (размер пикселя * множитель качества тени * 3.8) | 4096 x 4096, когда Разрешение Тени очень высокое и/или если GPU имеет 512МБ или больше RAM, 2048 x 2048 в противном случае. |
| Светодиодные фонари | NextPowerOfTwo (размер пикселя * множитель качества тени * 2.0) | 2048 x 2048, если GPU имеет 512 МБ или больше RAM, 1024 x 1024 в противном случае. |
| Точечные огни | NextPowerOfTwo (размер пикселя * множитель качества тени * 1.0) | 1024 x 1024, если GPU имеет 512 МБ или больше RAM, 512 x 512 в противном случае. |
Переопределить разрешение теневого отображения
В Built-in Render Pipeline вы можете установить разрешение карты тени Света, установив свойство Light.shadowCustomResolution на значение больше 0. Когда это значение больше 0, Unity выполняет следующие расчеты для всех типов Света:
NextPowerOfTwo (shadowCustomResolution)
Затем он зажимает максимальное разрешение на основе типа света и оборудования, как показано в таблице выше.