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.

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

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

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

Сцены

In Godot, you break down your game into reusable scenes. A scene can be a character, a weapon, a menu in the user interface, a single house, an entire level, or anything you can think of. Godot's scenes are flexible; they fill the role of both prefabs and scenes in some other game engines.

../../_images/key_concepts_main_menu.webp

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

../../_images/key_concepts_scene_example.webp

Узлы

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

../../_images/key_concepts_character_nodes.webp

Здесь он состоит из узла CharacterBody2D с именем "Player", Camera2D, Sprite2D и CollisionShape2D.

Примечание

Имена узлов заканчиваются на "2D" из-за того, что это 2D-сцена. Имена их аналогов в 3D заканчиваются на "3D". Знайте, что узел "Spatial" теперь называются "Node3D" начиная с Godot 4.

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

Godot provides an extensive library of base node types you can combine and extend to build more powerful ones. You'll use these nodes for most things you build, whether that's 2D, 3D, or UI.

../../_images/key_concepts_node_menu.webp

Дерево сцены

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

../../_images/key_concepts_scene_tree.webp

Сигналы

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

../../_images/key_concepts_signals.webp

Примечание

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

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

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

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

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

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

After this short breakdown, you probably have many questions. Bear with us as you will get many answers throughout the Getting Started series.