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

Слои местности

A Слой местности является ассетом, который определяет качества поверхности местности. Слой местности содержит Текстуры и другие свойства, которые Материал Территории использует для рендеринга поверхностей Территории. Поскольку Слои Территории являются Ассетами, вы можете повторно использовать их на нескольких плитках Территории.

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

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

Территория с песчаной текстурой
Территория с песчаной текстурой

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

Чтобы создать слой местности непосредственно в местности Inspector, нажмите на значок кисти на панели инструментов в верхней части местности Inspector и выберите Текстура рисования из раскрывающегося меню. В нижней части раздела Слои местности нажмите кнопку Изменить слои местности и выберите Создать слой.

Создать слой в рельефе Inspector
Создать слой в рельефе Inspector

Для редактирования слоев рельефа из наложения:

  1. В накладке Инструменты для местности выберите Materials Mode Кнопка меню «Режим материала». Инструменты режима материалов отображаются в конце накладки Инструменты для местности.
  2. Из доступных инструментов режима материалов на накладке Инструменты для местности выберите Текстура краски Текстура краски.
  3. В накладке Tool Settings выберите Edit Terrain Layers.
Создать слой в накладках
Создать слой в накладках

Когда вы выбираете Создать слой, Unity открывает Выбрать Texture2D здесь выберите изображение, которое будет использоваться в качестве Диффузная канал слоя местности. Чтобы назначить Нормальная карта или Карта маски Текстуру к слою местности, выберите соответствующий слой местности в Project и использовать его Inspector окно.

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

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

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

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

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

Свойства слоя местности

В зависимости от материала, установленного в Настройки местности и используемого Render Pipeline, вы можете видеть различные параметры и свойства в Inspector.

Настройки слоя местности в Inspector
Настройки слоя местности в Inspector

Диффузные настройки

Диффузная Текстура представляет базовую цветовую Текстуру слоя Территория. Альфа-канал Диффузной Текстуры имеет различные назначения, которые зависят от активного Scriptable Render Pipeline и Shader, используемых для рендеринга Территории.

Например, High Definition Render Pipeline (HDRP) и Universal Render Pipeline (URP) используют Альфа-канал для Гладкости. Однако, если на слое Территория есть Текстура Маски, то для значений Плотности используется Альфа-канал Диффузной Текстуры.

Свойство Описание
Цвет Тон Если вы назначаете диффузную текстуру, в настройках слоя «Территория» появляется новое поле под названием Цветовой оттенок. Нажмите на поле выбора цвета и выберите цвет, который нужно использовать.

Цветовой оттенок является функцией, доступной в HDRP и URP.
Непрозрачность как плотность Определяет, следует ли рендировать слой местности с использованием значения, хранящегося в альфа-канале диффузной текстуры слоя местности, вместо обычного значения толщины слоя или значения высоты из карты маскировки. Unity использует значение альфа-канала в качестве порогового значения для смешивания слоев.

Непрозрачность как плотность является функцией, доступной в HDRP и URP. Эта опция становится доступной на каждом слое местности, когда вы отключаете Включить смешивание на основе высоты в материале освещения местности, и когда вы назначаете слою местности текстуры диффузной и маскировочной карты.

Карта нормалей

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

  • Если вы не назначаете Текстуру Карты нормалей и включаете инстанционирование в Установках Территории, Территория использует нормы, генерируемые из Terrain heightmap.
  • Если вы назначаете Текстуру Нормального Отображения и включаете экземплярование, Unity использует Текстуру Нормального Отображения вместо нормалей, генерируемых из heightmap.
  • Если вы отключите инстанционирование на Территории, встроенный Материал Территории будет использовать нормы, генерируемые из геометрии Территории, даже если вы назначите Текстуру Карты нормалей на Слой Территории.

Нормальные настройки масштаба

Если вы назначаете текстуру Карты нормалей, в настройках слоя местности появляется новое поле под названием Нормальный масштаб. Это значение действует как фактор масштабирования для нормальных значений, присутствующих в Карте нормалей. Значение 0 означает, что нормальные, хранящиеся в Карте нормалей, имеют масштаб 0, а значение 1 означает, что нормальные находятся в полном масштабе или влияют на него.

Примеры и результаты различных значений Нормального масштаба:

Свойство Описание
Нормальная шкала = 0
• Сила, а следовательно, и длина нормали, будет равна 0, и не влияет на расчеты освещения. Треугольник сетки на Территории эффективно использует нормаль сетки для расчетов освещения.
Нормальная шкала = 1 • Умножает не упакованное нормальное значение на 1.
• Сила нормального будет равна 100%.
Нормальная шкала = 2
• Сила нормы будет равна 200%, и они будут выглядеть в два раза более выраженным, чем нормы с Нормальной Шкалой 1.
Нормальная шкала = –1
• Сила нормы будет равна 100%, но будет отрицательная, что приведет к тому, что нормы будут указывать в противоположном направлении, чем нормы с Нормальной шкалой 1.

Маска

Шейдер TerrainLit, который является частью HDRP и URP, использует эти данные текстуры карты маскировки. Настраиваемые шейдеры местности также могут использовать эту текстуру для определенных пользователем целей, таких как окклюзия окружающей среды или смешивание на основе высоты.

Для шейдеров HDRP и URP TerrainLit каналы RGBA текстуры карты маскировки соответствуют R, G, B или A.

Свойство Описание
R Металлический
G Окклюзия окружающей среды
B Высота
A Гладкость (диффузная альфа становится плотностью)
Переназначение канала Если вы назначаете текстуру Маски, в настройках слоя Территория появляется новое заголовок под названием Channel Remapping. Нажмите треугольник рядом с этим заголовком, чтобы отобразить поля для минимальных и максимальных значений RGBA. Unity использует эти диапазоны для переотображения значений в каждом канале текстуры Маски.

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

Визуальные свойства слоя местности.

Свойство Описание
Зеркало Цвет зеркального выделения слоя «Территория».
Металлический Общее значение металличности слоя местности.
Гладкость Общее значение гладкости слоя местности.

Настройки плитки

Настройки плитки, которые применяются ко всем текстурам, используемым слоем местности.

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

Текстурная живопись

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

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

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

Производительность отображения

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

  • Если ваш Project использует Universal Render Pipeline (URP) или Built-in Render Pipeline, то вы можете использовать четыре слоя местности за проход текстуры, без ограничения количества проходов. Это означает, что хотя вы можете использовать столько слоев местности, сколько хотите, каждый проход увеличивает время, затраченное на рендеринг местности. Для максимальной производительности ограничьте каждую из ваших плиток местности четырьмя слоями местности.

  • Если ваш Project использует High Definition Render Pipeline (HDRP), вы можете добавить до восьми слоев рельефов на каждую плитку рельефов, и система отобразит их в одном проходе. Дополнительные проходы невозможны. Если вы добавите более восьми слоев рельефов, они появятся в окне Inspector, но они не отображаются в редакторе или во время выполнения. Любые области, раскрашенные этими дополнительными слоями, будут выглядеть черными. Чтобы сделать дополнительные слои видимыми, удалите один или несколько существующих слоев из списка слоев рельефов.