Опробуйте новые демонстрационные сцены Terrain Unity для HDRP и URP

XIAOXI LIU / UNITY TECHNOLOGIESContributor
Feb 18, 2022|18 Мин
Опробуйте новые демонстрационные сцены Terrain Unity для HDRP и URP
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.
Слушайте технических художников за кулисами и получайте лучшие практики для создания органических игровых окружений.

Создание высококачественных окружений для вашей игры может быть огромной задачей. Вот почему мы представили ряд обновлений во время выпуска Tech Stream 2021.2, включая новые кисти для штамповки ландшафта, уточненные элементы управления рисованием материалов, возможности GPU-инстансирования для деталей ландшафта и интеграцию SpeedTree, среди других улучшений в процессе создания ландшафта. Мы даже обновили бесплатный Пакет образцов ландшафта, чтобы помочь вам начать разработку. За всем этим команда технических художников работала над созданием и оптимизацией правдоподобной сцены окружения с использованием Высококачественного рендеринга (HDRP) Unity для ПК и высококлассных консолей, а также мигрировала ее в Универсальный рендеринг (URP) Unity для кроссплатформенной доступности. Теперь мы представляем вам коллекцию советов, приемов и лучших практик, которые помогут вам с новой сценой URP Demo и HDRP Demo в Unity.

Познакомьтесь с техническими художниками
Сяоси Лю

Здравствуйте всем. Меня зовут Сяоси Лю, и я присоединился к Unity в 2018 году в качестве технического художника, сосредоточенного на улучшении функций и рабочих процессов художников в Unity, от системы ландшафта до Shader Graph. В свободное время я люблю проводить время на свежем воздухе с моим очень активным четырехлетним сыном.

Баррингтон Кэмпбелл

Привет, меня зовут Баррингтон Кэмпбелл. Я присоединился к Unity в 2019 году в качестве стажера, а затем перешел на полную ставку в качестве технического художника в 2020 году. Работая в Unity, я стремился улучшить систему ландшафта, специализируясь на разработке инструментов и рабочих процессах пользователей. Вне работы я люблю строить свой гоночный автомобиль и гонять на нем по выходным.

Советы и приемы для создания органических сцен окружения
Создание мира с помощью последних инструментов ландшафта

Хотя пакет Инструменты ландшафта изначально был проверен в выпуске Tech 2021.2, он теперь доступен для установки в вашем проекте через Менеджер пакетов и набор функций создания мира. Пакет поставляется с дополнительными художественными кистями для рисования ландшафта и утилитами, чтобы ускорить ваши процессы создания мира.

Единое ландшафтное спутниковое изображение

Обратная связь от DCC

На этапе предпроизводства проекта Terrain Demo наша команда технических художников выделила несколько ключевых элементов для акцента, в конечном итоге приоритизировав детализированную высотную карту ландшафта и плотное покрытие листвой.

Мы использовали инструмент процедурной генерации ландшафта под названием Gaea для создания высококачественной высотной карты и сплатмапа, после чего использовали Toolbox для импорта этих карт в редактор. Для высотной карты ландшафта мы использовали инструмент Импорт высотной карты для применения ее к ландшафту с плиткой 4x4 в Unity на масштабе 4,000 единиц. Используя инструмент Импорт сплатмапа, мы применили сплатмап к плиточному ландшафту. Этот процесс был определен во время создания нашего проекта, который предоставил основные рабочие процессы обратной связи от Gaea к Unity Terrain.

После первоначального импорта в Unity у нас была очень прочная поверхность ландшафта, с которой можно было начать, но с определенными участками, которые мы хотели вручную закрасить.

Рисование с помощью высотных штампов

Кисть Штамп ландшафта является отличным инструментом для быстрой адаптации информации о высоте ландшафта для реалистичных результатов. Мы выпустили несколько готовых к использованию высотных карт в Пакете образцов ландшафта, но вы также можете создать свои собственные высотные карты из DCC.

Рисование с помощью материалов слоев ландшафта

Как вы, возможно, уже знаете, материалы ландшафта Unity состоят из активов Слой ландшафта. Кисть Краска текстуры позволяет вам выбирать и переключать материал в окне сцены, в то время как Фильтры маски кисти и недавно улучшенный пользовательский интерфейс из пакета инструментов ландшафта позволяют вам создавать потрясающие результаты с меньшими усилиями.

Например, вы можете ограничить область рисования, добавив фильтр наклона. Сначала примените слой травяного материала к боковой поверхности ландшафта, затем используйте фильтр вогнутости, чтобы ограничить слой почвы по кривым. Вы можете изолировать один фильтр, отключив другие, или даже комбинировать фильтры при необходимости.

В пакете есть дополнительные скульптурные кисти, такие как эффекты эрозии и шума, которые вы также можете интегрировать в свой процесс создания ландшафта для оптимальных результатов.

Покрыть ландшафт плотной листвой

С момента выхода версии 2021.2, Unity Terrain использует мощность вашего GPU для рендеринга огромного количества листвы с поддержкой инстансированных деталей. Это полезно для участков листвы, которые требуют плотного покрытия, таких как трава и кусты.

Unity Terrain Озеро

На большинстве ПК-платформ вы можете рендерить миллионы инстансированных деталей с частотой более 60 fps. В сцене Демо, например, рендерится более 50 миллионов треугольников под несколькими углами обзора. Чтобы включить инстансирование, перейдите в Изменить детали сетки и отметьте поле Использовать инстансирование GPU.

изображение

Расширенное затенение с инстансированными деталями

Инстансированные детали позволяют использовать пользовательские материалы – это большое преимущество при работе как с HDRP, так и с URP. Для наилучшего опыта мы рекомендуем создавать материалы для травы с помощью Shader Graph. Давайте подробнее рассмотрим TerrainGrass.shadergraph.

С поддержкой Пользовательских интерполяторах, недавнего дополнения к Shader Graph, мы теперь можем выполнять манипуляции с вершинами на стадии вершин с более высокой общей производительностью. В этом проекте мы использовали стадию вершин для анимации ветра, а также для появления исчезающей травы через цвет и амбиентное затенение, в зависимости от расстояния до камеры. Учитывая высокое количество инстансов для рандомизации, а также возможность захватывать и позиционировать отдельные объекты травы, вы можете создавать классные эффекты на основе местоположения в своем шейдере, такие как волны ветра и смешивание цветов с Terrain внизу.

Однако стоит отметить, что компонент LOD Группа несовместим с деталями Terrain, хотя вы все равно можете использовать префабы для деталей и настраивать расстояние отсечения в шейдере Shader Graph или через настройку расстояния деталей на Terrain.

Усиленный SpeedTree

Unity Terrain Лес

Естественно, деревья необходимы для создания правдоподобных окружений. Сцены Демо содержат разнообразные пользовательские деревья от SpeedTree, моделлера, который позволяет создавать высокопроизводительную растительность с помощью процедурных генераторов для практически любого проекта, независимо от масштаба. С поддержкой интеграции Shader Graph вы можете использовать готовые шейдеры, которые содержат все функции SpeedTree в Unity – подумайте о ветре, изменении оттенка, рендеринге билбордов и многом другом. Похожие на редактируемые экземпляры материалов, шейдеры Shader Graph настраиваемы, поэтому вы можете сохранять новые шейдеры в своем проекте и начинать редактировать их свободно. Ищите Извлечь материалы в разделе Настройки импорта, чтобы начать свою настройку.

заголовок

Деревья и детали обычно рисуются с помощью кистей Рисовать деревья и Рисовать детали соответственно, как и в существующих рабочих процессах рисования, с которыми вы, вероятно, знакомы. Вы можете создать пользовательскую кисть благодаря API кистей, доступным в инструментах ландшафта. Затем сослитесь на Модуль ландшафта для вашего собственного проекта.

С поддержкой экземпляров деталей и интеграцией SpeedTree у вас есть возможность создавать листву ландшафта с расширенной настройкой из Shader Graph. Мы говорили об этом на Siggraph в прошлом году, охватывая некоторые дополнительные детали, которые могут вас заинтересовать.

Достижение световой точности в HDRP
Ландшафт Unity на склоне холма

С HDRP в Unity 2021.2 вы можете создавать правдоподобные и динамичные небеса, используя новую систему Объемные облака. В частности, система Физического неба в HDRP предоставляет стандартные параметры для генерации физически корректного освещения неба.

Смотря на дневную среду, которую мы пытаемся достичь в сцене, интенсивность солнца установлена на значение, которое мы ожидаем вне ослабляющего эффекта атмосферы – 130,000 люкс – в то время как цветовая температура установлена на значение, приближенное к черному телу при 5,800 K. С помощью постобработки температура света может быть компенсирована, так же как это было бы в Физической камере.

Вы не захотите, чтобы короткая трава отбрасывала тени, когда она помещена в стиле ковра, так как это было бы дорого для потока рендеринга – не говоря уже о том, что это было бы нереалистично и менее визуально привлекательно. Вот почему мы использовали несколько техник для правильного освещения и теней на объектах деталей ландшафта, таких как Контактные тени, чтобы создать гораздо лучшие визуальные эффекты с меньшими затратами.

Объекты деталей ландшафта, такие как трава и низкая растительность, все используют окружающий зонд сцены для улучшения производительности рендеринга. Поскольку эти объекты получают незащищенное освещение от неба, результат может быть слишком ярким. Чтобы исправить это, мы решили использовать отдельный объем "выпекания неба". Это позволило нам уменьшить экспозицию неба, используемого для генерации окружающего зонда, снижая интенсивность освещения травы без изменения визуального вида неба в сцене.

Перенос ландшафта из HDRP в URP

Наша цель заключалась в том, чтобы продемонстрировать Terrain в обоих скриптовых рендер-пайплайнах, что оказалось отличной возможностью для обучения всей команды.

Как мы показали, активы TerrainData могут быть использованы в проектах HDRP и URP. Мы начали с построения Terrain в проекте HDRP и перенесли активы TerrainData в проект URP после фазы массового материала и листвы. Преобразовав плитки Terrain в Prefab, мы ускорили процесс интеграции в URP.

Хотя масштаб Terrain и разрешения имеют одинаковые настройки для обоих проектов, мы выбрали режим смешивания материалов на основе высоты в HDRP и режим смешивания по умолчанию в URP для оптимальной визуальной четкости. Обратите внимание, что HDRP позволяет смешивать до восьми слоев Terrain.

Мы создали освещение и постобработку в обоих проектах, чтобы максимизировать последние доступные функции рендеринга. В проекте HDRP мы настроили объемные облака и процедурное небо, как упоминалось ранее. Затем мы запекли процедурное небо в текстуры, чтобы использовать его в качестве HDRI неба в проекте URP.

Туман обрабатывается по-разному в каждом случае. Мы использовали объемный туман для низкого тумана вокруг озера в HDRP, но создали пользовательские эффекты частиц из Visual Effect Graph в URP.

Вот обзор функций, которые мы использовали для сравнения:

Таблица сравнения Terrain Unity
Максимизация производительности для вашего проекта Terrain Unity

Производительность имеет решающее значение, когда речь идет о интерактивных 3D-опытах в реальном времени, и в этом проекте мы использовали несколько подходов для ее улучшения. Актив рендер-пайплайна, доступный в HDRP и URP, позволяет создавать настраиваемые параметры для целевых платформ. В качестве примера сцены Terrain URP мы создали активы высокого и низкого качества, где карты теней высокого разрешения и функции HDR доступны только для версии высокого качества. Таким образом, вы можете легко настраивать параметры для каждой целевой платформы через Настройки качества в Окне настроек проекта. На самом деле, вы можете переключать и предварительно просматривать различные настройки в вашей рабочей сцене прямо в редакторе; просто замените актив рендер-пайплайна в Настройки графики.

изображение

В дополнение к настройкам уровня проекта для повышения производительности мы сделали несколько оптимизаций контента в Terrain. В сцене Terrain HDRP, например, мы уменьшили разрешение для внешних тайлов Terrain на расстоянии. Однако вы должны выполнять это изменение разрешения только после завершения процесса рисования Terrain. В противном случае рисование по соседним тайлам может привести к несоответствиям из-за разницы в разрешении.

Плотные детали являются наиболее распространенными виновниками производительности, когда дело касается платформ низкого уровня. Важно поддерживать низкое количество вершин сетки. В сцене HDRP мы установили плотность деталей на 0.75, с более близким расстоянием отсечения в 145 метров на центральных тайлах Terrain. Вы можете попробовать увеличить или уменьшить параметры плотности и расстояния отсечения, чтобы увидеть, что хорошо работает вместе. В качестве альтернативы вы можете настроить расстояния LOD на деревьях, чтобы они отображали LOD и Billboard раньше, для разумного прироста.

Если вы используете URP и строите для платформ, которые не поддерживают GPU инстансирование или имеют очень ограниченную пропускную способность оборудования, вы можете выбрать режим Vertex Lit для рендеринга деталей Terrain. Но в отличие от инстансированных деталей, этот режим не поддерживает тени, двусторонний рендеринг или альфа-клиппинг.

Хотите узнать больше? Для дополнительных советов и приемов по оптимизации производительности обязательно ознакомьтесь с этой статьей в блоге и нашими видео Unite Now видео.

Начать сейчас

Чтобы получить доступ к новым демонстрационным сценам Terrain Unity как для HDRP, так и для URP, перейдите в Asset Store и импортируйте их непосредственно в ваш проект Unity 2021.2. Как только вы полностью исследуете сцены, дайте нам знать, что вы думаете на форуме по созданию миров.

Для получения дополнительной информации о том, что будет дальше, пожалуйста, посетите дорожную карту Unity.

Наконец, техническая арт-команда Unity нанимает сотрудников. Вы можете ознакомиться с открытыми вакансиями на нашем веб-сайте. Мы с нетерпением ждем вашего ответа!