Использование редактора ландшафта.
При создании любой игры, которая реализует открытые пространства, редактор ландшафта (terrain editor) – обязательный инструмент разработчика. Unity, начиная с версии 2.0, имеет встроенный редактор ландшафта, что делает создание окружения быстрым и легким.
В представлении Unity, ландшафт (terrain) - это просто игровой объект (game object), к которому прикреплен компонент инструментария ландшафта (terrain toolkit component). Начав с Plane - плоскости, односторонней 3D фигуры – в скором времени, вы преобразуете ландшафт в завершенную реалистичную геометрию, с дополнительными деталями, такими как деревья, камни, трава, и даже атмосферными эффектами, такими как скорость ветра.
Функции меню ландшафта.
Для того, что бы использовать функции, описанные ниже, в первую очередь, вам необходимо создать ландшафт (terrain). Поэтому давайте начнем, введя в игру нового объекта ландшафта (terrain object) – это ресурс (Asset), который может быть создан в пределах Unity, для этого выберете в меню Terrain –> Create Terrain.
Прежде чем изменять ваш ландшафт(terrain), вы должны настроить различные параметры размера и детализации. Меню Terrain, в верхней части Unity, не только позволяет создать ландшафт, но и выполнить следующие операции:
Importing and exporting heightmaps. Карта высот (Heightmaps) - это 2D изображение со светлыми и темными областями, которые представляют рельеф ландшафта, и может быть импортировано, как альтернатива использованию инструментов “рисования” высот (height painting tools) Unity. Карта высот (heightmaps) может быть создана либо в графическом редакторе, например Photoshop, либо в специализированной программе генерации ландшафтов, после чего карта высот должна быть сохранена в файле формата .RAW. Т.к. для создания окружения мы будим использовать инструментарии Unity, подробно вопрос об использовании карт высот(heightmaps), в рамках этой книги, рассмотрен не будет.
Set
Heightmap resolution.
Данное
диалоговое окно позволяет установить
ряд свойств нового ландшафта, который
вы создали. Эти параметры должны быть
настроены до создания рельеф ландшафта,
т.к. их изменение может привести
к пересозданию ландшафта.
•
Terrain Width, Height and Length (ширина,
высота и длина ландшафта):
Измеряется
в метрах. Отметьте, что Height (Высота)
здесь означает максимальную высоту
рельефа ландшафта;
•
Heightmap Resolution (разрешение
карты высот): в пикселях, разрешение
текстуры, которую Unity хранит для представления
рельефа. Обратите внимание, что хотя
большинство текстур Unity должно имеет
разрешение равное степени двойки - 128,
256, 512 и т.д., разрешение карт высот
(heightmap) всегда на один пиксель больше,
например, мы имеем ландшафт 4х4, это
значит, что сетка/меш ландшафта имеет
4 клетки в ширину и 4 в длину,
но при этом, у нее 5 = 4+1 вершин, как в
высоту, так и в длину – см. рисунок
ниже;
•
Detail resolution:
разрешение изображение, известного
как Detail resolution map (карта разрешения
деталей). Она определяет, как точно
можно разместить Details (детали) на ландшафте.
Details (детали) – это дополнительные
элементы ландшафта, такие как камни,
трава, кусты и т.п. Чем больше значение,
тем более точно вы можете разместить
Details на ландшафте, с точки зрения
позиционирования;
•
Control Texture Resolution:
разрешение текстур наносимых на ландшафт.
В Unity известна как Splatmap текстура,
значение Control Texture Resolution (разрешение
контрольной текстуры) управляет размером,
а, следовательно, и детализацией,
любой текстуры наносимой на ландшафт.
Высокое разрешение сильно влияет
на производительность, поэтому стало
хорошей практикой, оставлять это значение
равным 512;
•
Base Texture Resolution:
разрешение текстуры используемой Unity
для визуализации(render) рельефа ландшафта
на расстоянии, при значительном
отдалении игровой камеры или на слабых
компьютерах.
Creating
the lightmap.
Это
диалоговое окно используется, для создания
карты освещений (lightmap) - метод освещения
пространства в 3D-приложениях,
заключающийся в том, что создается
текстура, содержащая информацию об
освещённости трехмерных моделей. Этот
метод значительно экономит ресурсы
системы, так как игровому движку
не приходится рассчитывать падение
света в режиме реального времени,
но при этом проигрывает динамическому
освещению в реалистичности.
Этот диалог позволяет создавать карту освещений (lightmap), от нескольких источников света. К примеру, на вашей сцене размещен Directional light, для имитации солнечного света, так же на сцене имеется несколько Point light, в качестве фонарей или огня. Поскольку мы создаем новый рельеф ландшафта, используя внутренний инструментарий Unity, в процессе работы нам придется пересоздавать карту освещений (lightmap) несколько раз.
Mass Place Trees. Эта функция делает точно то, что говорит ее имя (Много деревьев) - размещает указанное количества деревьев на ландшафте, конкретное дерево и его параметры, определяются в Place Trees компонента Terrain (Script) в Инспекторе (Inspector). Эта функция не рекомендуется для общего использования, поскольку она не дает вам контроля над положением деревьев. Я рекомендую вам использовать в Place Trees компонента Terrain (Script), чтобы вручную ‘нарисовать’ более реалистическое размещение.
Flatten Heightmap. Flatten Heightmap позволяет вам выровнять весь ландшафт по указанной высоте.
Refresh Tree and Detail Prototypes. Если вы внесли изменения в ресурсы (assets), из которых созданы деревья или детали(details) размещенные на ландшафте, вам необходимо выбрать Refresh Tree and Detail Prototypes,что бы обновить.
