Рендирование местности с Shader Graph
Terrain использует по умолчанию шейдер для своего материала, но вы можете создать свой собственный материал с помощью Shader Graph, чтобы соответствовать конкретным целям и улучшить производительность.
Возможности включают в себя высококачественные решения повторения плиток, отображение деталей, плавное смешивание с удаленным материалом, отображение параллакса, автоматические материалы, трехпланарную проекцию и многое другое.
Создание и назначение материала местности из Shader Graph
Чтобы создать новый материал Территория с Shader Graph:
-
В окне Project щелкните правой кнопкой мыши и выберите Создать > Shader Graph > URP или HDRP > Территориальное освещение Shader Graph.
Unity создает ассет Shader Graph. Этот ассет настроен на использование типа материала по умолчанию Terrain Lit, и график пустой, за исключением Master Stack.
Примечание: Если вы хотите начать с Простая местность шаблон вместо пустого графика, см. Создание графа шейдера из шаблона.
Используйте Shader Graph окно в построить график в соответствии с вашими потребностями с доступные узлы, и сохранить Shader Graph ассет.
-
В вашем проекте щелкните правой кнопкой мыши Shader Graph и выберите Создать > Материал.
Unity создает материал, основанный на вашем графе шейдеров. С этого момента этот материал автоматически обновляется, если вы измените и сохраните свой граф шейдеров снова.
Откройте свой Территорию GameObject в окне Inspector.
Перейдите в Настройки местности > Основная местность.
Замените материал по умолчанию материалом, созданным из вашего графа шейдера.
Используйте параметры рендеринга в Shader Graph для улучшения местности
Используйте Shader Graph для улучшения производительности и визуальной достоверности.
Повышение производительности
Чтобы улучшить производительность рендеринга местности, необходимо меньше семплировать текстуры. По умолчанию шейдер местности выполняет три семплирования на слой и еще одно семплирование контрольной карты. Чтобы уменьшить семплирование, выполните одно из следующих действий:
- Упаковка материалов рельефа в меньшее количество текстур. Например, используйте реконструкцию касательного пространства для хранения нормалей в меньшем количестве каналов.
- Упаковка материала Terrain в массивы текстур и выборка только одной записи для массива на основе данных в карте управления.
- Не семплировать вообще. Вместо этого построить материалы местности процедурно в шейдере.
Улучшение визуальной точности
Чтобы улучшить визуальную точность, выполните одно из следующих действий:
- Разбить сетку местности с выборкой UV.
- Удалить Растяжение местности на крутых поверхностях с трехпланарным отображением.
- Добавить глубину к местности с параллакса отображения.
- Используйте смешивание на основе высоты для материалов местности.
Примечание: Многие из этих методов увеличивают количество образцов текстуры, что может снизить производительность.
Дополнительные ресурсы
Чтобы начать работать с рендерингом Shader Graph Terrain, ознакомьтесь с документацией Shader Graph Terrain Samples.
Дополнительную информацию о конкретной поддержке конвейера см. по адресу:
- URP: освещение местности Shader Graph ссылка на URP
- HDRP: Справочная информация по Terrain Master Stack