Обзор ключевых концепций Godot

Каждый игровой движок основывается на абстракциях, которые используют для сборки приложений. В Godot, игра - это дерево узлов , которое группируют в сцены, что могут обмениваться информацией с помощью сигналов.

Есть четыре основные концепции, с которыми вы познакомитесь. Мы рассмотрим их кратко, чтобы дать представление того, как работает движок. В цикле «Начало работы» вы воспользуетесь ими на практике.

Сцены

В Godot вы разбиваете свою игру на многократно используемые сцены. Сцена может быть персонажем, оружием, меню пользовательского интерфейса, отдельным домом, целым уровнем или всем, что вы можете придумать. Сцены Godot гибки; они одновременно выполняют роль префабов и сцен из некоторых других игровых движков.

../../_images/key_concepts_main_menu.png

Вы также можете вкладывать сцены. Например, вы можете поместить своего персонажа на уровень и перетащить сцену как его дочерний элемент.

../../_images/key_concepts_scene_example.png

Узлы

Сцена состоит их одного или большего числа узлов. Узлы — самые маленькие строительные блоки вашей игры, которые вы выстраиваете в деревья. Это пример узла, содержащего персонажа.

../../_images/key_concepts_character_nodes.png

Он состоит из узла KinematicBody2D, именуемого "Character", Sprite, Camera2D и CollisionShape2D.

Примечание

Имена узлов заканчиваются на "2D" из-за того, что это 2D-сцена. Имена их аналогов в 3D заканчиваются на "3D".

Заметьте, как одинаково выглядят узлы и сцены в редакторе. Когда вы сохраняете древо узлов как сцену, она отображается одиночным узлом, внутренняя структура которого скрыта в редакторе.

Godot предоставляет обширную библиотеку базовых типов узлов, которые вы можете совмещать и расширять для создания более функциональных. 2D, 3D или пользовательский интерфейс — вы будете делать большинство вещей при помощи этих узлов.

../../_images/key_concepts_node_menu.png

Дерево сцены

Все сцены вашей игры собираются вместе в дереве сцены, буквально дереве из сцен. И, так как сцены — деревья узлов, дерево сцены также является деревом узлов. Но проще воспринимать вашу игру с точки зрения сцен, поскольку они могут представлять персонажей, оружие, двери или пользовательский интерфейс.

../../_images/key_concepts_scene_tree.png

Сигналы

Узлы транслируют сигнал, когда происходит какое-то событие. Эта возможность позволяет задать взаимодействие узлов без жёсткого указания их в коде. Это даёт вам большую гибкость в структурировании сцен.

../../_images/key_concepts_signals.png

Примечание

Сигналы — это шаблон "наблюдателя" в исполнении Godot. Подробнее об этом можно прочитать здесь: https://gameprogrammingpatterns.com/observer.html

Например, кнопка испускает сигнал при нажатии. Вы можете подключить такой сигнал для выполнения кода в ответ на это событие, к примеру, для начала игры или открытия меню.

Другие встроенные сигналы могут сообщить вам о столкновении двух объектов, о том, что персонаж или монстр вошёл в заданную область, и многом другом. Вы также можете определить новые сигналы, адаптированные к вашей игре.

Подведение итогов

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

Узлы — это самые маленькие строительные блоки вашей игры. Вы комбинируете их для создания сцен, которые, в свою очередь, объединяются и вкладываются в дерево сцен. Вы можете использовать сигналы для задания реакции узла на события в других узлах или различных ветвях дерева сцены.

После этого краткого обзора, вы, наверное, имеете множество вопросов. Потерпите, так как вы получите ответы на многие вопросы на протяжении цикла «Начало работы».