Використання GridMap (Карт ґратки)¶
Вступ¶
Gridmap (Карта ґратки) - це інструмент для створення рівнів 3D-ігор, подібно до, TileMap (Карти плиток) в 2D. Ви починаєте з попередньо визначеної колекції 3D-мешів (MeshLibrary), які можна розміщувати на ґратці і будувати рівень так, ніби це необмежена кількість блоків Lego.
Як і плиткам з карти плиток, мешам також можна додати зіткнення та навігацію.
Приклад проекту¶
Щоб зрозуміти, як працює GridMap, завантажте зразок проекту: gridmap_demo.zip
.
Розпакуйте цей проект і додайте його до Керівника проектів за допомогою кнопки "Імпорт".
Створення MeshLibrary (Бібліотеки мешів)¶
Для початку вам знадобиться бібліотека мешів MeshLibrary, яка являє собою колекцію окремих мешів, які можна використовувати в карті ґратки. Відкрийте сцену "MeshLibrary_Source.tscn", щоб побачити зразок того, як налаштувати бібліотеку мешів.
Як бачите сцена має вузол Spatial, в якості кореня із рядом вузлів-нащадків MeshInstance.
Якщо вам не потрібна фізика у сцені, то ви закінчили. Однак у більшості випадків вам захочеться призначити мешам тіла зіткнення.
Зіткнення¶
Ви можете вручну призначити статичне тіло StaticBody і форму зіткнення CollisionShape кожному мешу. Як варіант, ви можете використовувати меню "Меш" для автоматичного створення тіла зіткнення на основі даних меша.
Відзначимо, що Опукле тіло зіткнення буде краще працювати для простих мешів (сіток). Для складніших фігур виберіть Створити увігнуте статичне тіло. Після того, як кожен меш отримає фізичне тіло та форму зіткнення, ваша бібліотека мешів буде готова до використання.
Матеріали¶
При генеруванні бібліотеки мешів використовуються тільки матеріали мешів. Матеріали, встановлені на вузлі, будуть проігноровані.
Експортування MeshLibrary¶
Щоб експортувати бібліотеку потрібно перейти до Сцена -> Перетворити на.. -> Бібліотека мешів, і зберегти, як ресурс.
Ви можете знайти вже експортований MeshLibrary в проекті під назвою MeshLibrary.tres
.
Використання GridMap¶
Створіть нову сцену та додайте вузол GridMap. Додайте бібліотеку мешів, перетягнувши файл ресурсу з панелі Файлової системи у властивість "MeshLibrary" в Інспекторі.
Властивість "Cell/Size" має бути виставлена під розмір ваших мешів. В цьому занятті ви можете не змінювати її значення. Зніміть галочку "Увімкнено" з властивості "Center Y".
Тепер ви можете почати проектування рівня, вибираючи плитку з палітри і розміщуючи її клацанням лівою клавіші мишки у вікні редактора. Щоб видалити плитку, утримуйте Shift та використовуйте праву клавішу мишки.
Натисніть на меню Карта ґратки, щоб побачити опції та параметри. Наприклад, натискання S обертає плитку навколо осі y.
Утримуючи Shift та обводячи лівою кнопкою миші, можна намалювати поле виділення. Ви можете дублювати, або очищати, вибрану область за допомогою відповідних параметрів меню.
У меню також можна змінити вісь, на якій ви малюєте, а також змістити площину малювання вище, або нижче, по осі.
Використання GridMap в коді¶
Докладніше про методи та змінні-члени вузла дивіться в GridMap.