Using GridMaps¶
Введение¶
Gridmaps - это инструмент для создания 3D уровней игры, подобно тому, как TileMap работает в 2D. Вы начинаете с предопределённой коллекции 3D сеток (библиотека MeshLibrary), которые могут быть размещены на сетке, как если бы вы строили уровень из неограниченного количества блоков Lego.
Столкновения и навигацию также можно добавить к сеткам, как это делается с плитками карт тайлов.
Example project¶
Чтобы узнать как работают GridMaps, скачайте тестовый проект : gridmap_demo.zip
.
Разархивируте этот проект и добавьте его в мэнеджер проекта используя кнопку "импортировать".
Создание MeshLibrary¶
Для начала вам понадобится MeshLibrary, которая представляет собой коллекцию отдельных сеток, которые могут быть использованы в карте сетки. Откройте сцену "MeshLibrary_Source.tscn", чтобы посмотреть пример настройки библиотеки сеток.

Как вы можете видеть, эта сцена имеет узел Spatial в качестве корня, и несколько дочерних узлов MeshInstance.
Если вам не нужна физика в вашей сцене, то всё готово. Однако в большинстве случаев вы захотите назначить тела столкновения сеткам.
Столкновения¶
Вы можете вручную назначить StaticBody и CollisionShape для каждой сетки. В качестве альтернативы можно использовать меню "Mesh" для автоматического создания тела столкновения на основе данных сетки.

Обратите внимание, что тело столкновения "Convex" будет лучше работать для простых сеток. Для более сложных форм выберите "Create Trimesh Static Body". После того как каждой сетке назначено физическое тело и форма столкновения, ваша библиотека сеток готова к использованию.

Материалы¶
При генерации библиотеки сеток используются только материалы из сеток. Материалы, установленные на узле, игнорируются.
Экспорт MeshLibrary¶
Чтобы экспортировать библиотеку, нажмите "Scene -> Convert To... -> MeshLibrary...", и сохраните её как ресурс.

Вы можете найти уже экспортированную MeshLibrary в проекте под названием "MeshLibrary.tres".
Использование GridMap¶
Создайте новую сцену и добавьте узел GridMap. Добавьте библиотеку сетки, перетащив файл ресурсов из панели FileSystem и поместив его в свойство "Theme" в инспекторе.

Свойство "Cell/Size" должно быть установлено на размер вашей сетки. Для демонстрации можно оставить значение по умолчанию. Установите для свойства "Center Y" значение "Off".
Теперь вы можете приступить к проектированию уровня, выбрав плитку из палитры и поместив её с помощью щелчка левой кнопкой мыши в окне редактора. Чтобы удалить плитку, удерживайте Shift и используйте правую кнопку мыши.
Нажмите на меню "GridMap", чтобы увидеть опции и сочетания клавиш. Например, нажатие S поворачивает плитку вокруг оси Y.

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

В меню можно также изменить ось, по которой ведётся рисование, а также сместить плоскость рисунка выше или ниже по оси.

Использование GridMap в коде¶
Подробности о методах и переменных-членах узла см. в GridMap.