Как избежать повторяющихся паттернов в текстурах — процедурное стохастическое текстурирование в Unity
Прототип плагина, который способен решить проблему.
Если использовать тайловые текстуры для покрытия больших поверхностей, то довольно быстро появится проблема — паттерны в изображении будут повторяться. Специалисты Unity Lab Томас Делиот и Эрик Хейц в 2019 году опубликовали метод текстурирования, который позволяет избежать этой проблемы, — процедурное стохастическое (случайное) текстурирование.
Плагин процедурного стохастического текстурирования использует входную текстуру, чтобы сгенерировать бесконечную текстуру — он модифицирует исходный вариант и применяет смешивание, чтобы избежать повторения рисунка.
Сам плагин — это вариация Standard Shader для Unity. После импорта пакета нужно выбрать StandardStochastic shader для материала. При этом интерфейс будет таким же как у Standard shader, но с двумя новыми элементами настройки сверху.
В меню Stochastic Inputs можно выбрать оригинальную текстуру для генерации новой.
Затем достаточно нажать на кнопку Apply, чтобы материал обновился, а сам процесс был завершён.
В следующих примерах показано, как прототип работает с различными материалами, используя небольшие (256²) входные текстуры.
У этого подхода есть несколько ограничений. Например, он совместим только с тайловыми стохастическими текстурами, которые напоминают естественные материалы без точных геометрических форм.