Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Налаштування ігрової зони
У першій частині ми збираємося створити ігрову зону. Почнемо з імпорту стартових активів і налаштування ігрової сцени.
Ми підготували проєкт Godot із 3D-моделями та звуками, які ми використовуватимемо для цього посібника, посилання на які є на сторінці індексу. Якщо ви ще цього не зробили, ви можете завантажити архів тут: Squash the Creeps активи.
Once you've downloaded it, extract the .zip archive on your computer. Open the Godot Project Manager and click the Import button.
У спливаючому вікні імпорту введіть повний шлях до щойно створеного каталогу 3d_squash_the_creeps_starter/. Ви можете натиснути кнопку Огляд праворуч, щоб відкрити браузер файлів і перейти до файлу project.godot, який міститься в папці.
Натисніть кнопку Імпорт, щоб відкрити проєкт у редакторі.
Може з’явитися вікно з повідомленням про те, що проєкт було створено за допомогою старішої версії Godot. Натисніть OK, щоб конвертувати проєкт у вашу поточну версію Godot.
If it doesn't open immediately, open the project from your project list.
Початковий проект містить піктограму та дві папки: art/ і fonts/. Там ви знайдете активи та музику, яку ми будемо використовувати в грі.
Там є дві 3D-моделі, player.glb та mob.glb, деякі матеріали, які належать цим моделям, і музичний трек.
Налаштування зони гри
Ми збираємося створити нашу головну сцену з простим Node як її коренем. У док-станції Scene натисніть кнопку Add Child Node, представлену значком «+» у верхньому лівому куті, і двічі клацніть на Node. Назвіть вузол Main. Альтернативним способом перейменування вузла є клацання правою кнопкою миші Node і вибір Rename (або F2). Крім того, щоб додати вузол до сцени, ви можете натиснути Ctrl + A (Cmd + A на macOS).
Збережіть сцену як main.tscn, натиснувши Ctrl + S (Cmd + S на macOS).
Ми почнемо з додавання підлоги, яка запобігатиме падінню персонажів. Для створення статичних коллайдерів, таких як підлога, стіни чи стелі, ви можете використовувати вузли StaticBody3D. Їм потрібні дочірні вузли CollisionShape3D для визначення області зіткнення. Вибравши вузол Main, додайте вузол StaticBody3D, а потім CollisionShape3D. Перейменуйте StaticBody3D на Ground.
Ваше сцена має виглядати так
Біля CollisionShape3D з’являється попереджувальний знак, оскільки ми не визначили його форму. Якщо натиснути піктограму, з’явиться спливаюче вікно з додатковою інформацією.
Для створення форми виберіть CollisionShape3D, перейдіть до Інспектора і натисніть поле [порожньо] поруч із властивістю Shape. Виберіть Новий Box Shape3D.
Коробчаста форма ідеально підходить для рівної поверхні та стін. Її товщина дозволяє надійно блокувати навіть швидко рухомі об'єкти.
Каркас коробки з’являється у вікні перегляду з трьома помаранчевими крапками. Ви можете клацнути та перетягнути їх, щоб інтерактивно редагувати розміри фігури. Також ми можемо точно встановити розмір в інспекторі. Натисніть на BoxShape3D, щоб розгорнути ресурс. Встановіть його Size на 60 для осі X, 2 для осі Y і 60 для осі Z.
Форми зіткнення невидимі. Нам потрібно додати візуальну підлогу, з якою будуть вони будуть стикатися. Виберіть вузол землі Ground та додайте MeshInstance3D в якості нащадка.
У Інспекторі натисніть на поле поруч з Mesh і створіть ресурс BoxMesh, щоб створити видимий куб.
Знову ж таки, він занадто малий за замовчуванням. Клацніть піктограму куба, щоб масштабувати його, і встановіть Size на 60, 2 та 60.
Ви повинні побачити широку сіру плиту, яка покриває сітку і сині та червоні осі в вікні перегляду.
Ми збираємося перемістити землю вниз, щоб побачити сітку підлоги. Для цього можна використовувати функцію прив'язки сітки. Прив'язку сітки можна активувати двома способами в 3D-редакторі. Перший – натисканням кнопки Використовувати прив'язку (або натисканням клавіші Y). Другий – вибравши вузол, перетягнувши маркер на гізмо, а потім утримуючи Ctrl (Cmd на macOS), одночасно утримуючи вибраний вузол.
Почніть із налаштування прив’язки за допомогою бажаного методу. Потім перемістіть вузол Ground за допомогою осі Y (зелена стрілка на gizmo).
Примітка
Якщо ви не бачите маніпулятор 3D-об'єктів, як на зображенні вище, переконайтеся, що на панелі інструментів над виглядом активовано Режим трансформації.
Перемістіть землю вниз на 1 метр. Мітка в нижньому лівому куті вікна перегляду повідомляє вам на скільки ви перетягуєте вузол.
Примітка
Разом із вузлом Ground вниз тягнуться і обоє його нащадків. Переконайтеся, що ви переміщуєте вузол Ground, а не MeshInstance3D, чи CollisionShape3D.
Врешті-решт transform.position.y для Ground має бути -1
Давайте додамо спрямоване світло, щоб наша сцена не була повністю сірою. Виділіть вузол Main і додайте дочірній вузол DirectionalLight3D.
Нам потрібно перемістити та повернути вузол DirectionalLight3D. Перемістіть його вгору, клацнувши та перетягнувши зелену стрілку маніпулятора, а потім клацніть і перетягніть червону дугу, щоб повернути його навколо осі X, доки земля не засвітиться.
У Інспекторі увімкніть Тінь, натиснувши прапорець.
На даний момент ваш проект повинен виглядати так.
Це наша відправна точка. У наступній частині ми будемо працювати над сценою гравця і базовим рухом.