Godot Encyclopedia

3D-разработка в Godot глазами веб-программиста

Практическое руководство по Godot 4.x для тех, кто пришёл из мира JS/TS. Open-source движок с собственным языком GDScript, сценами вместо префабов и MIT-лицензией — другой философией, чем Unity.

Введение

3D-разработка в Godot

02.01
Godot Editor, сцена и узлы

Scene tree, Node3D — фундамент всего в Godot.

02.02
GDScript, lifecycle и сигналы

Как Godot вызывает ваш код — _ready, _process, _physics_process, signals, await.

02.03
Ввод — Input Map и action-based система

Как читать клавиатуру, мышь, геймпад и тач через единую action-систему.

02.04
Физика — Bodies, Collision, Jolt

StaticBody3D, RigidBody3D, CharacterBody3D, Area3D — и почему с 4.6 физика стала быстрее.

02.05
Камера и Phantom Camera

Camera3D, виды от первого/третьего лица, и плагин-аналог Cinemachine.

02.06
Рендеринг и материалы

Forward+/Mobile/Compatibility, BaseMaterial3D, gdshader — как Godot рисует кадр.

02.07
Освещение и тени

DirectionalLight3D, OmniLight3D, SpotLight3D, lightmaps и SDFGI.

02.08
Анимация — AnimationPlayer и AnimationTree

AnimationLibrary, state machine, blend spaces, root motion.

02.09
3D-аудио и AudioBus

AudioStreamPlayer3D, маршрутизация через AudioBus, эффекты.

02.10
UI — Control-узлы и контейнеры

Control, anchors, контейнеры, Theme и StyleBox.

02.11
PackedScene и Resource

Универсальный контейнер сцены/префаба и data-only ассеты.

02.12
Практика — контроллер от первого лица

CharacterBody3D, move_and_slide, RayCast3D — играбельный FPS-каркас.

02.13
Навигация — NavigationServer и AI

NavigationRegion3D, NavigationAgent3D — поиск пути и преследующий враг.

02.14
Частицы — GPUParticles3D и CPUParticles3D

ParticleProcessMaterial, эмиттеры, sub-emitters, collision.

02.15
Мультиплеер — MultiplayerAPI и RPC

ENet/WebSocket/WebRTC peers, RPC, MultiplayerSpawner и Synchronizer.

02.16
Загрузка ресурсов — preload, load, threaded

Как Godot загружает ассеты — синхронно, асинхронно, с прогрессом.

02.17
Сборка и оптимизация

Export Presets, Profiler, веб-таргет и WASM, чек-лист релиза.

02.18
Практика — 3rd-person платформер с NavMesh-врагом

PhantomCamera FreeLook, CharacterBody3D, double jump, coyote time, преследующий враг, чекпойнты.

02.19
gdshader подробнее — vertex, fragment, light

Структура spatial-шейдера, встроенные функции, uniforms, варинги, шаги оптимизации.

02.20
Path3D, PathFollow3D и сплайны

Curve3D, Path3D, PathFollow3D — движение по сплайну, AI-патрули, кат-сцены камеры.

02.21
GridMap — модульные уровни

MeshLibrary + GridMap для сборки локаций из переиспользуемых блоков.

02.22
Threading — WorkerThreadPool и Thread

Параллельные задачи в Godot — генерация карт, обработка данных, длинные операции без фриза UI.

02.23
Decals — наклейки в 3D

Decal-узел для bullet holes, граффити, dirt-масок, footprint'ов и других накладок на геометрию.

02.24
@tool и EditorPlugin — расширение редактора

Tool-скрипты, custom inspectors, EditorPlugin, добавление узлов и docks к редактору Godot.

02.25
TileMap (2D) — модульные 2D-уровни

TileMapLayer, TileSet, terrains, autotile, navigation для 2D-проектов в Godot 4.x.

02.26
XR / OpenXR — VR-приложения в Godot

XROrigin3D, XRCamera3D, XRController3D — базовая VR-сцена для Meta Quest и SteamVR.

02.27
GDExtension — нативные плагины на C++ и Rust

godot-cpp, gdext (Rust), когда нужны нативные расширения, как они работают.

02.28
C# в Godot — практика и нюансы

Godot .NET edition, отличия от GDScript, миграция, gotcha'и для разработчиков из мира Unity.

02.29
Save / Load — сохранение прогресса

FileAccess, ConfigFile, ResourceSaver, JSON, encryption, user:// пути.

Глоссарий