Вузли та Сцени

У Огляд ключових понять Godot ми побачили, що гра Godot — це дерево сцен, а кожна сцена — це дерево вузлів. У цьому уроці ми розповімо про них трохи більше. Ви також створите свою першу сцену.

Вузли

Вузли є основними будівельними блоками вашої гри. Вони як інгредієнти в рецепті. Існують десятки видів вузлів, які можуть демонструвати зображення, відтворювати звук, імітувати камеру та багато іншого.

../../_images/nodes_and_scenes_nodes.png

Усі вузли мають такі властивості:

  • Ім'я.

  • Властивості, які можна редагувати.

  • Вони отримують зворотні виклики для оновлення кожного кадру.

  • Ви можете розширити їх за допомогою нових властивостей і функцій.

  • Ви можете додати їх до іншого вузла як нащадків.

Останній атрибут є ключовим. Разом вузли утворюють дерево, яке є потужною функцією для організації проектів. Оскільки різні вузли мають різні функції, їх поєднання призводить до складнішої поведінки. Як ми бачили раніше, ви можете створити ігрового персонажа, за яким слідує камера, використовуючи кінематичний вузол тіла під назвою "Персонаж", вузол спрайтів, вузол камери та вузол форми зіткнення.

../../_images/nodes_and_scenes_character_nodes.png

Сцени

Коли ви організуєте вузли в дереві, як наш персонаж, ми називаємо цю конструкцію сценою. Після збереження сцени працюють як нові типи вузлів у редакторі, куди ви можете додати їх як нащадків до існуючого вузла. У цьому випадку екземпляр сцени з’явиться як вузол із прихованим внутрішнім елементом.

Сцени дозволяють структурувати код вашої гри так, як ви хочете. Ви можете компонувати вузли, щоб створювати власні та складні типи вузлів, як-от ігрового персонажа, який бігає і стрибає, панель життя, скриню, з якою ви можете взаємодіяти, тощо.

../../_images/nodes_and_scenes_3d_scene_example.png

Редактор Godot по суті є редактором сцен. Він має безліч інструментів для редагування 2D і 3D сцен, а також інтерфейс користувача. Проект Godot може містити стільки цих сцен, скільки вам потрібно. Але рушію потрібна лише одна - головна сцена вашої програми. Це сцена, яку Godot вперше завантажить, коли ви або гравець запускаєте гру.

Крім вузлів, сцени мають такі властивості:

  1. Вони завжди мають один кореневий вузол, як «Персонаж» у нашому прикладі.

  2. Ви можете зберегти їх на жорсткому диску та завантажити пізніше.

  3. Ви можете створити стільки екземплярів сцени, скільки забажаєте. Ви можете мати п’ять або десять персонажів у вашій грі, створених зі сцени персонажа.

Створення першої сцени

Давайте створимо нашу першу сцену з одним вузлом. Для цього спочатку потрібно створити новий проект. Після відкриття проекту ви повинні побачити порожній редактор.

../../_images/nodes_and_scenes_01_empty_editor.png

У порожній сцені панель Сцена зліва показує кілька варіантів швидкого додавання кореневого вузла. "Плоска сцена»" додає вузол Node2D, "Просторова сцена" додає Spatial вузол, "Інтерфейс користувача" додає Control вузол. Ці попередні заготовки тут для зручності; вони не обов'язкові. а "Інший вузол" дозволяє вибрати будь-який вузол для кореня, "Інший вузол" еквівалентний натисканню кнопки "Додати дочірній вузол" у верхньому лівому кутку панелі Сцена, яка додає новий вузол, як дочірній, до поточного вибраного вузла.

Ми збираємося додати один вузол Label до нашої сцени. Його функція — відобразити текст на екрані.

Натисніть кнопку «Додати дочірній вузол» або «Інший вузол», щоб створити кореневий вузол.

../../_images/nodes_and_scenes_02_scene_dock.png

Відкриється діалогове вікно Створення вузла, у якому буде показано довгий список доступних вузлів.

../../_images/nodes_and_scenes_03_create_node_window.png

Виберіть вузол Label (Node/CanvasItem/Control/Label). Ви також можете ввести його назву, щоб відфільтрувати список.

../../_images/nodes_and_scenes_04_create_label_window.png

Натисніть на вузол Label, щоб вибрати його, і натисніть внизу вікна кнопку Створити.

../../_images/nodes_and_scenes_05_editor_with_label.png

Багато чого відбувається, коли ви додаєте перший вузол сцени. Сцена змінюється на 2D робочу область, оскільки Label є типом 2D вузла. Вибрана мітка з’являється у верхньому лівому куті вікна перегляду. Вузол з’являється на панелі «Сцена» зліва, а властивості вузла – на панелі «Інспектор» праворуч.

Зміна властивостей вузла

Наступним кроком буде зміна властивості мітки "Text". Давайте змінимо її на "Hello World".

Перейдіть до панелі Інспектор праворуч від вікна перегляду. Клацніть всередині поля під властивістю Text і введіть «Hello World».

../../_images/nodes_and_scenes_06_label_text.png

Ви побачите відображення тексту у вікні перегляду під час введення.

Ви можете перемістити вузол мітки у вікні перегляду, вибравши інструмент переміщення на панелі інструментів.

../../_images/nodes_and_scenes_07_move_tool.png

Вибравши мітку, клацніть і перетягніть у будь-яке місце у вікні перегляду, щоб перемістити її до центру перегляду, обмеженого прямокутником.

../../_images/nodes_and_scenes_08_hello_world_text.png

Запуск сцени

Все готово для запуску сцени! Натисніть кнопку Відтворити сцену з правої верхньої частини екрану F6 (Cmd + R на macOS).

../../_images/nodes_and_scenes_09_play_scene_button.png

Спливаюче вікно пропонує вам зберегти сцену, яку потрібно запустити.

../../_images/nodes_and_scenes_10_save_scene_popup.png

Натисніть кнопку Так і в браузері файлів, що з’явиться, натисніть кнопку Зберегти, щоб зберегти її як «Label.tscn».

../../_images/nodes_and_scenes_11_save_scene_as.png

Примітка

Діалогове вікно «Зберегти сцену як», як і інші файлові діалогові вікна в редакторі, дозволяє зберігати файли лише всередині проекту. Шлях res:// у верхній частині вікна представляє кореневий каталог проекту і означає "шлях ресурсу". Для отримання додаткової інформації про шляхи до файлів у Godot див. Файлова система.

Програма повинна відкритися в новому вікні і відобразити текст «Hello World».

../../_images/nodes_and_scenes_12_final_result.png

Закрийте вікно або натисніть F8, щоб вийти з запущеної сцени.

Примітка

Якщо це не спрацює, і у вас є дисплей hiDPI принаймні на одному з моніторів, перейдіть в Проєкт → Параметри проєкту → Дисплей → Вікно, а потім увімкніть Дозволити Hidpi у підрозділі Dpi.

Встановлення головної сцени

Щоб запустити нашу тестову сцену, ми використали кнопку «Відтворити сцену». Кнопка поруч з нею дозволяє встановити та запустити основну сцену проекту. Ви можете натиснути F5 (Cmd + B на macOS) для цього.

../../_images/nodes_and_scenes_13_play_button.png

З’явиться спливаюче вікно з пропозицією вибрати головну сцену.

../../_images/nodes_and_scenes_14_main_scene_popup.png

Натисніть кнопку Виділити, а потім у діалоговому вікні файлу, що з’явиться, двічі клацніть Label.tscn.

../../_images/nodes_and_scenes_15_select_main_scene.png

Демонстрація має запуститися знову. Щоразу, коли ви запускаєте проект, Godot використовуватиме цю сцену як відправну точку.

Примітка

Редактор зберігає шлях до основної сцени у файлі project.godot у каталозі вашого проекту. Хоча ви можете безпосередньо редагувати цей текстовий файл, щоб змінити налаштування проекту, ви також можете використовувати для цього вікно «Проект -> Параметри проекту».

У наступній частині ми обговоримо ще одну ключову концепцію в іграх і в Godot: створення екземплярів сцени.