Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Слой местности – это объект, определяющий местностьландшафт вашей сцены. Игровой объект Terrain добавляет в вашу сцену большую плоскую плоскость, и вы можете использовать окно Terrain Inspector для создания подробного ландшафта. Подробнее
Посмотрите в Словарь
качество поверхности. Слой Terrain содержит текстурыизображение, используемое при рендеринге GameObject, Sprite или элемента пользовательского интерфейса. Текстуры часто применяются к поверхности сетки, чтобы придать ей визуальную детализацию. Подробнее
См. в Словарь
и другие свойства, которые Материал Terrain использует для визуализации поверхностей Terrain. . Поскольку слои ландшафта являются активами, вы можете легко использовать их повторно на нескольких тайлах ландшафта.

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

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

Рельеф с песчаной текстурой
Рельеф с песчаной текстурой

Создание слоев рельефа

Чтобы создать слой Terrain непосредственно в Инспектореокне Unity, в котором отображается информация о выбранном в данный момент игровом объекте, активе или настройки проекта, позволяющие просматривать и редактировать значения. Дополнительная информация
См. в Словарь
, щелкните значок кисти в панель инструментовРяд кнопок и основных элементов управления в верхней части редактора Unity, который позволяет вам взаимодействовать с редактором различными способами (например, масштабирование, трансляция). Подробнее
См. Словарь
в верхней части Terrain Inspector и выберите Нарисуйте текстуру в раскрывающемся меню. В нижней части раздела Слои местности нажмите кнопку Редактировать слои местности и выберите Создать слой.

Создайте слой в Terrain Inspector
Создайте слой в Terrain Inspector

Когда вы выбираете Создать слой, Unity открывает окно Выберите Texture2D. Здесь выберите изображение, которое будет использоваться в качестве канала Diffuse слоя Terrain. Чтобы назначить карту нормалейтип текстуры карты рельефа, который позволяет добавлять детали поверхности, такие как неровности, бороздки и царапины, модель, которая улавливает свет, как будто они представлены реальной геометрией. Подробнее
Просмотрите в Словарь
или Mask Map текстуру вашего Terrain Layer, выберите соответствующий Terrain Layer в представлении Project и используйте его окно Inspector.

В качестве альтернативы, чтобы создать актив слоя Terrain, который не связан автоматически с Terrain, щелкните правой кнопкой мыши окно проекта и выберите Создать > Слой Terrain в контекстном меню. Затем настройте различные свойства нового слоя Terrain в окне Inspector.

Для получения информации о том, как количество слоев Terrain влияет на рендерингпроцесс вывода графики на экран (или на визуализацию текстура). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь
производительность, см. Визуализация производительность. Даже назначенные слои Terrain, которые вы на самом деле не рисуете на плитке Terrain, могут повлиять на производительность рендеринга.

Добавление слоев рельефа

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

После создания слоя Terrain в проекте нажмите кнопку Edit Terrain Layers и выберите Добавить слой, чтобы открыть окно Select TerrainLayer. . Дважды щелкните слой Terrain в этом окне, чтобы добавить его в свой Terrain.

Свойства слоя Terrain

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

Настройки слоя ландшафта в Инспекторе
Настройки слоя ландшафта в Инспекторе
Свойства Описание
Diffuse Diffuse Texture представляет текстуру базового цвета слоя Terrain. Альфа-канал диффузной текстуры используется по-разному, в зависимости от активного конвейера рендеринга с поддержкой сценариев и шейдера, который вы используете для рендеринга ландшафта.

Например, конвейер рендеринга высокого разрешения (HDRP) и универсальный конвейер рендеринга (URP) используют альфа-канал для сглаживания. Однако, если на слое Terrain есть текстура карты маски, она использует альфа-канал диффузной текстуры для значений плотности.

Color Tint Если вы назначите диффузную текстуру, в настройках слоя ландшафта появится новое поле под названием Оттенок цвета. Щелкните поле палитры цветов и выберите цвет для использования.

Оттенок цвета — это функция, доступная в HDRP и URP.

Opacity as Density Указывает, следует ли визуализировать слой Terrain с использованием значения, хранящегося в альфа-канале диффузной текстуры слоя Terrain, вместо обычного веса splatmap или значения высоты из карты маски. Unity использует значение альфа-канала в качестве порогового значения для смешивания слоев.

Непрозрачность как плотность — это функция, доступная в HDRP и URP. Этот параметр становится доступным для каждого слоя Terrain, когда вы отключаете параметр Включить наложение на основе высоты для материала Terrain Lit, а также когда вы назначаете текстуры Diffuse и Mask Map для слоя Terrain.

Normal Map Текстура карты нормалей содержит информацию о нормалях для вашего слоя ландшафта. Unity использует эту информацию в расчетах освещения.

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

• Если вы назначаете текстуру карты нормалей и включаете создание экземпляров, Unity использует текстуру карты нормалей вместо нормалей, сгенерированных из карты высот.

• Если вы отключите создание экземпляров для Terrain, встроенный материал Terrain будет использовать нормали, сгенерированные из геометрии Terrain, даже если вы назначите текстуру карты нормалей на слой Terrain.

Normal Scale Если вы назначите текстуру карты нормалей, в настройках слоя ландшафта появится новое поле с названием Масштаб нормалей. Это значение действует как коэффициент масштабирования для значений нормалей, представленных на карте нормалей. Значение 0 означает, что нормали, хранящиеся на карте нормалей, имеют масштаб 0, а значение 1 означает, что нормали находятся в полном масштабе или влияют.

Примеры и результаты различных значений нормальной шкалы:

Normal Scale = 0 • Умножает неупакованное нормальное значение на 0.
• Сила и, следовательно, длина нормали будут равны 0 и не будут влиять на расчеты освещения. Треугольник сетки на Terrain эффективно использует нормаль сетки для расчетов освещения.
Normal Scale = 1 • Умножает неупакованное нормальное значение на 1.
• Сила нормаля будет 100%.
Normal Scale = 2 • Умножает неупакованное нормальное значение на 2.
• Сила нормалей будет равна 200%, и они будут казаться в два раза более выраженными, чем нормали со шкалой нормалей, равной 1.
Normal Scale = –1 • Умножает значение распакованного нормаля на –1.
• Сила нормали будет равна 100%, но будет инвертирована, заставляя нормали указывать направление, противоположное нормалям со шкалой нормалей, равной 1.
Mask Map Шейдер TerrainLit, который является частью конвейера рендеринга высокой четкости (HDRP) и универсального конвейера рендеринга (URP), использует эти данные текстуры карты маски. Пользовательские шейдеры Terrain также могут использовать эту текстуру для пользовательских целей, таких как окклюзия окружающей среды или смешивание на основе высоты.

Для HDRP и URP TerrainLit Shader каналы RGBA текстуры карты маски соответствуют:

R Metallic
G Окружающая окклюзия
B Высота
A Гладкость (диффузная альфа становится плотностью)
Channel Remapping If you assign a Mask Map Texture, a new heading called Channel Remapping appears in the Terrain Layer settings. Click the triangle next to that heading to display the fields for minimum and maximum RGBA values. Unity uses these ranges to remap values in each channel of the Mask Map Texture.
Specular Цвет бликов слоя Terrain.
Metallic Общее металлическое значение слоя Terrain.
Smoothness Общее значение гладкости слоя Terrain.
Tiling Settings Параметры тайлинга, которые применяются ко всем текстурам, которые использует слой Terrain.
Size Размер текстур в пространстве Terrain и частота плиток текстур.
Offset Базовое смещение, которое Unity применяет к местоположению выборки для каждой текстуры в слое Terrain.

Рисование текстур

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

Если вы добавите новую плитку Terrain без каких-либо слоев Terrain и закрасите ее, система автоматически добавит выбранный слой Terrain к этой новой плитке Terrain. Поскольку это первый слой Terrain, эта Текстура становится базовым слоем и заполняет весь тайл Terrain.

В Terrain Inspector в разделе Кисти есть поле, в котором отображаются доступные кисти, а также параметры Размер кисти и Непрозрачность. под. Дополнительные сведения об этих инструментах см. в разделе Создание и редактирование ландшафтов.

Производительность рендеринга

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

  • Если в вашем проекте используется универсальный конвейер рендеринга (URP) или встроенный в конвейере рендеринга вы можете использовать четыре слоя ландшафта на проход текстуры без ограничения количества проходов. Это означает, что хотя вам разрешено использовать столько слоев ландшафта, сколько вы хотите, каждый проход увеличивает время, затрачиваемое на рендеринг ландшафта. Для максимальной производительности ограничьте каждый из ваших тайлов ландшафта четырьмя слоями ландшафта.

  • Если в вашем проекте используется конвейер рендеринга высокой четкости (HDRP), вы можете добавить до восьми слоев ландшафта на каждый тайл ландшафта, а также система визуализирует их за один проход. Дополнительные проходы невозможны. Если вы добавите более восьми слоев ландшафта, они появятся в редакторе Unity, но будут игнорироваться во время выполнения.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3