Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Как работает Streaming Virtual Texturing

Система потокового виртуального текстурирования (SVT) делит текстуры на плитки.

Во время выполнения, когда SVT сэмплирует текстуру, он делает следующее:

  • Он сэмплирует косвенную текстуру, вычисляет невиртуальные UV-развертки и сэмплирует кэш-текстуру с этими UV-развертками.
  • Он преобразует виртуальные UV-развертки в идентификатор тайла и привязывает дополнительную цель рендеринга, которая получает эти идентификаторы тайла. ЦП асинхронно копирует этот целевой объект рендеринга обратно в основную память и обрабатывает его в отдельном потоке, чтобы создать запросы к диспетчеру асинхронного чтения для загрузки этих фрагментов с диска в кэш памяти графического процессора (если они еще не присутствуют).

Стоимость этих операций во время выполнения означает, что более эффективно группировать текстуры вместе и одновременно сэмплировать их все. Этот процесс называется наложением текстур. Группа текстур, сэмплированных одновременно с одинаковыми координатами UV, называется стеком текстур.

SVT выдает запросы на плитки во время отрисовки кадрапроцесса отрисовки графики на экран (или текстуры отрисовки). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь
, так что это может занять от миллисекунд до секунд, пока запрошенные тайлы не загрузятся в кеш GPU, а в некоторых случаях они могут вообще не загрузиться в кеш GPU. Если запрошенный тайл не загружается в кеш, SVT имеет автоматический резервный механизм: он выбирает тайлы с более высокого уровня MIP-карты до тех пор, пока запрошенный тайл не окажется в кеше. Это приводит к более низкому уровню детализацииТехника Level Of Detail (LOD) представляет собой оптимизацию, которая уменьшает количество треугольников, которые Unity должна отображать для GameObject, когда его расстояние от камеры увеличивается. Подробнее
Смотрите в Словарь
, пока плитка полностью не загрузится.

SVT в представлении отладки конвейера рендеринга высокого разрешения

Представление отладки конвейера рендеринга высокого разрешения (HDRP) показывает, сколько соседних экранов пикселейнаименьшая единица компьютерного изображения. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
Посмотрите в Словарь
запрос той же плитки.

Чтобы открыть представление отладки HDRP, перейдите в верхнее меню Unity и выберите Окно > Конвейер рендеринга > Отладка конвейера рендеринга > Рендеринг. Чтобы просмотреть данные отладки для SVT, установите для параметра Полноэкранный режим отладки значение RequestedVirtualTextureTiles.

Представление отладки использует разные цвета для каждого идентификатора плитки.
Представление отладки использует разные цвета для каждого идентификатора плитки.

Пиксели, представляющие один и тот же фрагмент текстуры, имеют одинаковый цвет. Оттенок цвета (зеленый, красный и т. д.) представляет уровень MIP-карты, к которому принадлежит плитка. Например, все желтоватые плитки принадлежат MIP-карте 1 текстуры.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3