Unity 6.3
0 онлайн 20 гостей 3 в системе
Вход

Виртуальный текстурный материал

Эта функция является экспериментальной и не готова для использования в производстве. Функция и документация могут быть изменены или удалены в будущем.

Вы можете использовать потоковое виртуальное текстурирование (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».