Виртуальный текстурный материал
Вы можете использовать потоковое виртуальное текстурирование (SVT) с шейдерами, созданными в Shader Graph. Чтобы использовать SVT для потокового передачи одной или нескольких текстур, вам необходимо правильно настроить свой материал и Shader Graph. Более подробно см. Использование потокового виртуального текстурирования в Shader Graph.
Если текстура не настроена правильно, Unity не может отобразить материал. Вместо этого Unity отображает текстуру с ошибкой Virtual Texturing (VT) с фиолетовым и синим шаблоном шахматной доски. Эта текстура остается видимой, пока вы не исправите ошибку проверки.
Текстура ошибки виртуального текстурирования:
Ошибки проверки
Стек текстур — это группа текстур, которые Unity семплирует одновременно по одним и тем же UV-координатам. Ошибка проверки возникает, когда стек текстур или текстура в стеке находится в недопустимом состоянии.
Ошибку проверки можно увидеть в Материал Inspector:
Этот пример ошибки проверки вызван текстурным стеком с тремя слоями, в котором назначены только два слота текстуры.
Распространенные причины ошибок проверки стеков текстур включают:
- Слот текстуры в стеке текстур не имеет назначенной текстуры.
- Текстурный стек используется в материале, который является частью AssetBundle.
- Текстурный стек используется в материале, который является частью SubScene.
- Текстурный стек не поддерживает тип данных (см. Требования к потоковому виртуальному текстурированию и совместимость).
Ошибки также возникают, когда одна или несколько текстур в стеке находятся в недопустимом состоянии. Причины ошибок проверки текстур:
Текстура не является типа Texture2D (SVT не поддерживает массивы или кубические отображения).
Текстура использует режим зеркального обвода.
Текстура использует различные режимы зажима по оси (например, повторяя горизонтально при вертикальном зажиме).The Разрешение текстуры не является степенью двух.
Соотношения сторон всех текстур не одинаковы.
Текстура не соответствует минимальному размеру 128 на 128 пикселей.
Текстура не имеет mipmap.
Текстура имеет Использовать сжатие Crunch включено в текстуры импортера.
Ошибка сборки игрока
Для того, чтобы Unity смог построить проигрыватель с помощью SVT, все материалы должны использовать действительные текстуры с соответствующими соотношениями сторон и иметь действительные свойства Виртуальной Текстуры (см. Ошибки проверки). Если материал в вашей сборке плеера находится в недопустимом состоянии, это вызывает ошибку сборки, которая появляется в журнале консоли.
Соглашение об ошибках в именовании
Когда Unity регистрирует ошибку проверки, он именует стеки текстур в соответствии со следующим соглашением:
- Число слоев, имеющихся в стеке текстур.
- Названия слоев Текстурного стека, установленные в ShaderGraph.
Вот два примера этого соглашения о названиях:
- Имя ошибки в стеке текстур с двумя слоями: Текстура 2(Layer_Name_1, NULL)
- Имя ошибки в стеке текстур с тремя слоями: Текстура 3 (Layer_Name_1, Layer_Name_2, NULL)
Когда в журнале консоли появляется ошибка, в названии ошибки также указывается материал, использующий стек текстур. Например:
- «Стек текстур 2 (3_BaseColorMap, NULL)» материала «materialname3».