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
Каждый игровой движок основывается на абстракциях, которые используют для сборки приложений. В Godot игра - это дерево узлов, сгруппированных в сцены, которые могут обмениваться информацией с помощью сигналов.
Есть четыре основные концепции, с которыми вы познакомитесь. Мы рассмотрим их кратко, чтобы дать представление о том, как работает движок. В цикле «Начало работы» вы воспользуетесь ими на практике.
Сцены
В Godot вы разбиваете свою игру на многократно используемые сцены. Сцена может быть персонажем, оружием, меню пользовательского интерфейса, отдельным домом, целым уровнем или всем, что вы можете придумать. Сцены Godot гибки; они одновременно выполняют роль префабов и сцен из некоторых других игровых движков.
Вы также можете вкладывать сцены. Например, вы можете поместить своего персонажа на уровень и перетащить сцену как его дочерний элемент.
Узлы
Сцена состоит из одного или большего числа узлов. Узлы — самые маленькие строительные блоки вашей игры, которые вы выстраиваете в деревья. Это пример узла, содержащего персонажа.
Здесь он состоит из узла CharacterBody2D с именем "Player", Camera2D, Sprite2D и CollisionShape2D.
Примечание
Имена узлов заканчиваются на "2D" из-за того, что это 2D-сцена. Имена их аналогов в 3D заканчиваются на "3D". Знайте, что узел "Spatial" теперь называются "Node3D" начиная с Godot 4.
Заметьте, как одинаково выглядят узлы и сцены в редакторе. Когда вы сохраняете древо узлов как сцену, она отображается одиночным узлом, внутренняя структура которого скрыта в редакторе.
Godot предоставляет обширную библиотеку базовых типов узлов, которые вы можете совмещать и расширять для создания более функциональных. 2D, 3D или пользовательский интерфейс — вы будете делать большинство вещей при помощи этих узлов.
Дерево сцены
Все сцены вашей игры собираются вместе в дереве сцены, буквально в дереве из сцен. И, так как сцены — деревья узлов, дерево сцены также является деревом узлов. Но проще воспринимать вашу игру с точки зрения сцен, поскольку они могут представлять персонажей, оружие, двери или пользовательский интерфейс.
Сигналы
Узлы транслируют сигнал, когда происходит какое-то событие. Эта возможность позволяет задать взаимодействие узлов без жёсткого указания их в коде. Это даёт вам большую гибкость в структурировании сцен.
Примечание
Сигналы - это версия шаблона наблюдатель в Godot. Подробнее о нем вы можете прочитать здесь: https://gameprogrammingpatterns.com/observer.html
Например, кнопка посылает сигнал при нажатии. Вы можете подключить такой сигнал для выполнения кода в ответ на это событие, к примеру, для начала игры или открытия меню.
Другие встроенные сигналы могут сообщить вам о столкновении двух объектов, о том, что персонаж или монстр вошёл в заданную область, и многом другом. Вы также можете определить новые сигналы, адаптированные к вашей игре.
Подведение итогов
Узлы, сцены, дерево сцен и сигналы — четыре ключевых понятия в Godot, которыми вы будете оперировать постоянно.
Узлы — это самые маленькие строительные блоки вашей игры. Вы комбинируете их для создания сцен, которые, в свою очередь, объединяются и вкладываются в дерево сцен. Вы можете использовать сигналы для задания реакции узла на события в других узлах или различных ветвях дерева сцены.
После этого краткого обзора, вы, наверное, имеете множество вопросов. Потерпите, так как вы получите ответы на многие вопросы на протяжении цикла «Начало работы».