Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

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

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

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

Сцены

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

../../_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".

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

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

../../_images/key_concepts_node_menu.webp

Дерево сцены

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

../../_images/key_concepts_scene_tree.webp

Сигналы

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

../../_images/key_concepts_signals.webp

Примечание

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

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

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

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

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

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

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