Terrain: рельеф
Регионы, материалы, скульптинг, коллизии и сохранение.
Когда использовать Terrain
Terrain — встроенный объект для поверхности земли: высоты, текстуры, растительность, коллизии и навигация. Проектный аддон для него не нужен. Данные разбиваются на регионы; clipmap LOD уменьшает детализацию вдали от камеры.
В каждой точке X/Z хранится высота поверхности. Для пещер, навесов и разрушения объёма используйте Voxel Tools либо отдельные меши. Отверстие в Terrain убирает участок поверхности, но не создаёт стены пещеры.
Интерфейс Terrain ещё дорабатывается. Ниже указаны имена объектов и свойств; расположение кнопок может меняться. Для работы с материалом начните с Forward+ или Deferred и проверьте выбранный рендерер на своей целевой платформе.
Создайте первый регион
- В 3D-сцене добавьте объект
Terrain. - Задайте
Data Directory: отдельную папку внутри проекта, напримерasset://World/TerrainData. Регионы хранятся отдельно от файла сцены. - Убедитесь, что назначены ресурсы
TerrainMaterialиTerrainAssets. - В режиме добавления регионов создайте один регион. Пустой объект без регионов ещё не является готовой поверхностью.
- Выберите инструмент высоты, задайте размер и силу кисти. Измените небольшой участок и сгладьте границу.
- Сохраните данные Terrain и сцену. После повторного открытия должен сохраниться тот же рельеф.
Сначала проверьте масштаб одного региона, затем расширяйте мир. Vertex Spacing меняет расстояние между вершинами: увеличение шага уменьшает плотность деталей в мировых единицах. Размер региона и LOD не заменяют настройку масштаба.
Материалы и покраска
В TerrainAssets добавьте текстуры поверхности. Для каждого слоя задайте albedo, нормали, масштаб и нужные параметры материала. Нормаль должна импортироваться как карта нормалей, а не как цветное изображение.
Выберите слой и покрасьте небольшой участок. Проверьте результат вблизи и издалека: слишком крупный масштаб даёт растянутые камни, слишком мелкий — заметные повторения и шум. В системе доступны смешивание текстур, поворот, цвет, шероховатость и автоматический материал по параметрам рельефа.
Сначала добейтесь правильного масштаба текстур; затем регулируйте переходы и автоматическое смешивание. Один удачный слой полезнее десятков непроверенных материалов.
Скульптинг и импорт heightmap
| Действие | Когда применять |
|---|---|
| Поднять или опустить | Создать крупные формы рельефа |
| Выставить высоту | Подготовить ровную площадку |
| Сгладить | Убрать резкие ступени между мазками |
| Градиент | Соединить участки разной высоты |
| Отверстие | Освободить вход под отдельную геометрию |
| Импорт heightmap | Перенести подготовленные высоты с заданным масштабом |
Для исходной heightmap используйте формат с достаточной точностью высот. Обычная 8-битная картинка при большом перепаде может дать ступени. При импорте проверьте размер, положение, вертикальный диапазон и соседние регионы. Экспорт heightmap сохраняет данные высот, а не полноценную сцену с материалами и растительностью.
Коллизии, растения и навигация
Collision Mode задаёт, где строятся коллизии: в игре, в редакторе либо отключены. Если персонаж проваливается, сначала проверьте этот режим и пересечение collision layer/mask. Видимая поверхность не доказывает наличие физической формы.
Размещайте растения через инстансер Terrain или отдельные подготовленные префабы. Проверьте масштаб моделей, тени, LOD и плотность. Не распределяйте декор по покрытиям, на которых он не должен расти.
Метки навигации определяют разрешённые участки, но сами по себе не запускают движение NPC. Подготовьте навигационные данные и проверьте путь с агентом. Геометрия коллизий, видимая поверхность и навигация решают разные задачи.
Данные, экспорт и частые проблемы
| Проблема | Причина и действие |
|---|---|
| После открытия исчезли изменения | Проверьте сохранение регионов и Data Directory, а не только .rscene |
| Поверхность не видна | Нет регионов, неверная камера или отсутствуют материал/ассеты |
| Текстуры растянуты | Проверьте масштаб текстур и Vertex Spacing |
| Персонаж проваливается | Проверьте Collision Mode, слои и маску персонажа |
| После экспорта нет рельефа | Сохраните регионы внутри проекта и проверьте их включение в сборку |
| Слишком большая нагрузка | Сравните LOD, размер регионов, тени и количество растительности |
Штатный экспорт учитывает данные регионов. Храните их внутри проекта и проверяйте готовую сборку отдельно от редактора. Копия только файла сцены недостаточна для передачи Terrain другому разработчику.
Запекание mesh создаёт геометрию поверхности для отдельной задачи; оно не заменяет исходные редактируемые регионы. Сохраняйте исходные данные, если планируете продолжать скульптинг.