<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cadmus</title><description>Unity 6, Godot 4.x и Phaser 4 для веб-разработчика — практические руководства по геймдеву.</description><link>https://cadmus.page/</link><language>ru</language><item><title>[Unity] Зачем веб-разработчику Unity</title><link>https://cadmus.page/unity/01-intro/01-zachem/</link><guid isPermaLink="true">https://cadmus.page/unity/01-intro/01-zachem/</guid><description>Что общего и что нового в Unity по сравнению с фронтенд- и бэкенд-разработкой.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Если вы пишете на TypeScript/React в браузере и в Node на сервере, переход в Unity ощущается одновременно
знакомым и чужим. С одной стороны — управляемая среда выполнения (CLR/Mono/IL2CPP вместо V8),
строгая типизация (C# вместо TS), компонентная архитектура (GameObject + Components вместо React),
циклы перерисовки и события. С другой — настоящая 3D-сцена, физика, рендеринг через GPU и асинхронный
ассет-конвейер.&lt;/p&gt;&lt;p&gt;Эта энциклопедия — практическое введение в разработку 3D-игр в Unity 6 для тех, кому проще
объяснять через знакомые веб-абстракции.&lt;/p&gt;&lt;p&gt;Что вы умеете и что это даст вам в Unity&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Стек Unity и его экосистема</title><link>https://cadmus.page/unity/01-intro/02-stack/</link><guid isPermaLink="true">https://cadmus.page/unity/01-intro/02-stack/</guid><description>Версии Unity, языки, рендер-пайплайны, ключевые инструменты и пакеты.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Unity выпускается в нескольких ветках одновременно. Хронология ключевых релизов 6.x:&lt;/p&gt;&lt;p&gt;Unity 6.0 (октябрь 2024) — первый мажорный релиз новой схемы (вместо ).
Unity 6.1 (март 2025) — public WebGPU backend, Deferred+ для URP, GPU Resident Drawer
 улучшения, DOTS production-ready.
Unity 6.2 (август 2025) — UI Toolkit World Space experimental, Unity AI интеграции, новые
 Awaitable примитивы.
Unity 6.3 LTS (релиз 5 декабря 2025) — текущий рекомендованный LTS, поддержка до декабря
 2027 (Enterprise / Industry-лицензии — до декабря 2028). Здесь legacy Input Manager явно
 помечен deprecated; Box2D v3…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Unity Editor, сцена и иерархия</title><link>https://cadmus.page/unity/02-3d/01-editor-i-iyerarkhiya/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/01-editor-i-iyerarkhiya/</guid><description>Главные окна редактора, GameObject и Transform — DOM 3D-мира.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Editor: с чего вы будете смотреть на мир&lt;/p&gt;&lt;p&gt;Unity Editor — это IDE для контента. Несколько окон-доков, которые можно перетаскивать и сохранять
как layout. Ключевые из коробки:&lt;/p&gt;&lt;p&gt;Scene View — 3D-вьюпорт редактора. Здесь вы летаете и расставляете объекты.
Game View — то, что увидит игрок: рендер с активной камеры.
Hierarchy — дерево объектов в текущей сцене.
Project — файлы проекта (ассеты): модели, текстуры, скрипты, материалы.
Inspector — свойства выбранного объекта. Здесь вы редактируете компоненты.
Console — лог, ошибки, варнинги (, ).&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Скрипты и жизненный цикл MonoBehaviour</title><link>https://cadmus.page/unity/02-3d/02-monobehaviour/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/02-monobehaviour/</guid><description>Как Unity вызывает ваш код — Awake, Start, Update и всё, что между ними.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;MonoBehaviour — базовый класс ваших скриптов&lt;/p&gt;&lt;p&gt;Любой ваш C#-скрипт, который вешается на GameObject как компонент, наследуется от .
Это даёт Unity точки входа — методы с особыми именами, которые движок вызывает сам в нужный момент.&lt;/p&gt;&lt;p&gt;Атрибут делает приватное поле видимым в Inspector — это идиоматичный способ
выставлять параметры. Публичные поля тоже сериализуются по умолчанию, но это считается плохим тоном
(нарушает инкапсуляцию).&lt;/p&gt;&lt;p&gt;Жизненный цикл — порядок вызовов&lt;/p&gt;&lt;p&gt;Полный жизненный цикл MonoBehaviour сложнее, но вот основные методы, отсортированные по порядку
вызова:&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Ввод — Input System и legacy Input</title><link>https://cadmus.page/unity/02-3d/03-input/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/03-input/</guid><description>Клавиатура, мышь, геймпад и тач — два пути и почему стоит идти новым.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Unity сейчас сосуществуют две системы ввода. Legacy класс — старый и простой. Input System
package — новый, мощный и рекомендованный для новых проектов.&lt;/p&gt;&lt;p&gt;Legacy Input — быстрый старт&lt;/p&gt;&lt;p&gt;Класс доступен из коробки. Опрашивается каждый кадр в :&lt;/p&gt;&lt;p&gt;Кнопки и оси определяются в Edit → Project Settings → Input Manager. Это словарь со значениями
по умолчанию: &quot;Horizontal&quot;, &quot;Vertical&quot;, &quot;Jump&quot;, &quot;Fire1&quot;, &quot;Mouse X&quot; и так далее.&lt;/p&gt;&lt;p&gt;Input System — современный путь&lt;/p&gt;&lt;p&gt;Input System — это пакет (устанавливается через Package Manager). Главные идеи:&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Физика — Rigidbody, Collider и столкновения</title><link>https://cadmus.page/unity/02-3d/04-physics/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/04-physics/</guid><description>Как двигать объекты физикой и реагировать на столкновения.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Unity использует PhysX от NVIDIA для 3D-физики (для 2D — Box2D). Это означает: симуляция твёрдых
тел, столкновения, силы, joints. Всё это работает из коробки, ваша задача — корректно настроить
компоненты.&lt;/p&gt;&lt;p&gt;Три класса участников&lt;/p&gt;&lt;p&gt;Static — GameObject с Collider, без Rigidbody. Не движется, идеален для стен, пола, статичной
 геометрии.
Kinematic — Rigidbody с . Двигается только через ваш скрипт (через
 / ), не реагирует на силы.
Dynamic — обычный Rigidbody. Реагирует на гравитацию, силы, столкновения.&lt;/p&gt;&lt;p&gt;— масса в кг.
(раньше ) — текущая линейная скорость в м/с. Старое имя 
 помечено в Unity 6.
— у…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Камера и Cinemachine</title><link>https://cadmus.page/unity/02-3d/05-camera-cinemachine/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/05-camera-cinemachine/</guid><description>Виды от первого/третьего лица, виртуальные камеры и плавный follow без матана.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Камера в Unity — обычный GameObject с компонентом . Главные поля:&lt;/p&gt;&lt;p&gt;Projection — (3D, с перспективой) или (без перспективы; 2D/изометрия).
FOV (Field of View) — угол обзора по вертикали в градусах. Стандарт для FPS — 60–90°.
Clipping Planes: Near / Far — расстояние ближней и дальней плоскости отсечения. Всё, что
 ближе Near или дальше Far, не рисуется. Большой разброс (например, 0.01 ↔ 10000) ухудшает точность
 Z-buffer и приводит к &quot;Z-fighting&quot; — мерцающим пересечениям. Старайтесь держать .
Culling Mask — какие слои объектов рисует эта камера.
Target Texture — рендерить картинку не на экран, а…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Рендеринг, материалы и шейдеры</title><link>https://cadmus.page/unity/02-3d/06-rendering/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/06-rendering/</guid><description>URP, Material vs Shader, Shader Graph и почему &quot;разноцветные кубики&quot; дорого.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Чем вообще рисуется кадр&lt;/p&gt;&lt;p&gt;Unity отдаёт сцену в GPU через рендер-пайплайн — последовательность проходов (passes): тени,
opaque, transparent, postprocess. Конкретные шаги зависят от выбранного пайплайна (см. главу про
стек):&lt;/p&gt;&lt;p&gt;Built-in RP — старый, монолитный. Forward или Deferred рендеринг по выбору.
URP — Forward+ по умолчанию, кросс-платформа. Это рекомендованный выбор сейчас.
HDRP — Deferred + Forward, физически-корректный, для High-end ПК и консолей.&lt;/p&gt;&lt;p&gt;Mesh, Material, Shader — три кита&lt;/p&gt;&lt;p&gt;Mesh — геометрия: массив вершин, нормалей, UV-координат, индексов. Импортируется из FBX/OBJ/glTF.
Shader —…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Освещение и тени</title><link>https://cadmus.page/unity/02-3d/07-lighting/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/07-lighting/</guid><description>Directional, Point, Spot — и почему статичный свет можно &quot;запечь&quot; заранее.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Свет в 3D-сцене — то, что превращает геометрию из плоского силуэта в объёмную картинку. Unity
поддерживает realtime и baked (запечённое) освещение, и в реальном проекте они комбинируются.&lt;/p&gt;&lt;p&gt;Типы источников света&lt;/p&gt;&lt;p&gt;Directional Light — солнце. Бесконечно далёкий источник параллельных лучей. Один на сцену
 обычно достаточно.
Point Light — лампочка. Свет во все стороны от точки, с радиусом затухания.
Spot Light — фонарик. Конус из точки, с углом и радиусом.
Area Light — прямоугольный/дисковый источник для запекания (в realtime — только в HDRP).&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Анимация и Animator Controller</title><link>https://cadmus.page/unity/02-3d/08-animation/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/08-animation/</guid><description>Animation clips, state machine, blend trees — как персонаж не выглядит куклой.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Unity анимация — не просто движение Transform. Это система Mecanim: Animation Clip + Animator
Controller (state machine) + параметры + переходы.&lt;/p&gt;&lt;p&gt;Clip — это файл с записанными значениями свойств по времени. Источники клипов:&lt;/p&gt;&lt;p&gt;Импортированные из FBX — анимации, сделанные в Blender/Maya/Motion Capture.
Записанные в редакторе через Animation window ().
Купленные из Asset Store (Mixamo и т.п.).&lt;/p&gt;&lt;p&gt;Каждая дорожка clip&apos;а — путь к свойству относительно корня (например, )
и набор keyframes. Unity интерполирует между ключами.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] 3D-аудио и AudioMixer</title><link>https://cadmus.page/unity/02-3d/09-audio/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/09-audio/</guid><description>AudioSource, AudioListener, 3D-затухание и маршрутизация через миксер.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Звук в 3D-игре — не просто mp3 в фоне. Это пространственное звучание: шаги слева, выстрел за спиной,
шёпот за стеной. Unity даёт встроенный 3D-аудиодвижок, для большинства задач достаточный.&lt;/p&gt;&lt;p&gt;AudioListener — &quot;уши&quot; в сцене. Один на сцену. По умолчанию висит на главной Camera.
AudioSource — источник звука. Прикрепляется к GameObject. Воспроизводит AudioClip.
AudioClip — ассет с импортированным wav/mp3/ogg.&lt;/p&gt;&lt;p&gt;хорош тем, что не прерывает уже играющий звук — несколько шагов могут звучать
наложением. Просто сбросит текущее воспроизведение.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] UI в 3D-игре — uGUI и UI Toolkit</title><link>https://cadmus.page/unity/02-3d/10-ui/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/10-ui/</guid><description>Canvas, RectTransform, EventSystem — и две конкурирующие UI-системы.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Unity 6 сосуществуют две UI-системы:&lt;/p&gt;&lt;p&gt;uGUI (Unity UI) — то, что Unity использовал годами. Через GameObject и Canvas.
UI Toolkit — новая система на UXML + USS (HTML + CSS аналогах). Для редактора уже стандарт,
 для runtime — стабильна и рекомендована для нового UI, но многие проекты всё ещё на uGUI.&lt;/p&gt;&lt;p&gt;Начнём с uGUI как с более распространённого, потом — UI Toolkit.&lt;/p&gt;&lt;p&gt;uGUI: Canvas и RectTransform&lt;/p&gt;&lt;p&gt;UI в uGUI живёт внутри Canvas — специального GameObject. Дочерние UI-элементы используют
RectTransform (расширенный Transform с anchors, pivot и размером).&lt;/p&gt;&lt;p&gt;Anchors — основа респонсивности&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Prefab и ScriptableObject</title><link>https://cadmus.page/unity/02-3d/11-prefabs-scriptables/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/11-prefabs-scriptables/</guid><description>Переиспользуемые объекты и data-only ассеты — без них проект разваливается.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Prefab — шаблон GameObject&lt;/p&gt;&lt;p&gt;Prefab — ассет, описывающий GameObject со всеми компонентами и значениями. Из одного prefab вы
можете создать сколько угодно экземпляров (instances). Изменили prefab — изменились все экземпляры
(кроме явных override&apos;ов на конкретных).&lt;/p&gt;&lt;p&gt;Соберите GameObject в сцене с нужными компонентами.
Перетащите его из Hierarchy в папку в Project. Появится ассет, а в сцене объект станет
 синим (instance of prefab).
Дальнейшие изменения базового prefab — двойной клик на ассете (войдёте в &quot;Prefab Mode&quot;) или
 через &quot;Open&quot; в инспекторе.&lt;/p&gt;&lt;p&gt;Overrides и пропагация&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Практика — контроллер от первого лица</title><link>https://cadmus.page/unity/02-3d/12-fps-controller/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/12-fps-controller/</guid><description>Соберём минимальный FPS-персонаж с движением, прыжком и стрельбой raycast.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Собираем всё вместе. Цель — играбельный персонаж от первого лица: ходьба, поворот головы, прыжок,
стрельба лучом по целям. Используем для предсказуемого управления.&lt;/p&gt;&lt;p&gt;поворачивается по горизонтали (yaw) — это влияет и на направление движения.
поворачивается по вертикали (pitch) — отдельно от тела.
Это разделение упрощает физику: коллайдер игрока не наклоняется, когда смотрите в небо.&lt;/p&gt;&lt;p&gt;Player.cs — движение и взгляд&lt;/p&gt;&lt;p&gt;Health.cs — приёмник урона&lt;/p&gt;&lt;p&gt;Настройка в редакторе&lt;/p&gt;&lt;p&gt;Player GameObject: Capsule, удалите MeshFilter+MeshRenderer (или скройте) — это
 &quot;невидимый&quot; контроллер. Добавьте (Center.y = 1, He…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Сборка и оптимизация</title><link>https://cadmus.page/unity/02-3d/13-build-optimization/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/13-build-optimization/</guid><description>Build Settings, Profiler, бюджет кадра — от готового прототипа к билду.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Хорошая новость: сборка билда — обычно одна-две кнопки. Плохая: оптимизация — это бесконечная
работа, в которой большие выигрыши получаются от понимания где именно тратится время.&lt;/p&gt;&lt;p&gt;(в Unity 6 — новое имя; раньше ):&lt;/p&gt;&lt;p&gt;Platform — Windows / macOS / Linux / Android / iOS / WebGL / Console.
Scenes in Build — список сцен (по индексу). — первая.
Build или Build And Run — собирает в указанную папку.&lt;/p&gt;&lt;p&gt;Для каждой платформы свои Player Settings ():&lt;/p&gt;&lt;p&gt;Имя продукта, иконка, splash screen.
Scripting Backend: Mono vs IL2CPP (см. главу про стек).
API Compatibility Level — .NET Standard 2.1 (рекомендуется).
Mana…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] NavMesh и AI — поиск пути и простой ИИ-противник</title><link>https://cadmus.page/unity/02-3d/14-navmesh-ai/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/14-navmesh-ai/</guid><description>Navigation Mesh, NavMeshAgent, базовая стейт-машина для врага.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;3D-уровень редко состоит из ровного пола. Враг должен обойти стол, спуститься по лестнице, найти
короткий путь к игроку и не свалиться с обрыва. Считать это вручную через —
кошмар. В Unity есть NavMesh — встроенная система навигации, которая решает 90% задач AI-движения
бесплатно.&lt;/p&gt;&lt;p&gt;NavMesh — &quot;карта проходимости&quot;&lt;/p&gt;&lt;p&gt;NavMesh — это запечённая упрощённая геометрия пола, по которой умеют ходить агенты. Unity сканирует
вашу сцену и собирает полигональную сетку всех поверхностей, на которых можно стоять. Из этой
сетки строится граф для алгоритма поиска пути (A* под капотом).&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Particle System и VFX Graph</title><link>https://cadmus.page/unity/02-3d/15-particles-vfx/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/15-particles-vfx/</guid><description>Две системы спецэффектов — когда выбирать каждую, и базовые приёмы.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Спецэффекты в Unity делятся на две большие системы: Built-in Particle System (часто называется
Shuriken) и VFX Graph (часть Visual Effect Graph package). Они существуют параллельно и не
конкурируют — у каждой свой случай.&lt;/p&gt;&lt;p&gt;Грубое правило: если эффект простой и нужен на мобильных — Particle System. Если нужно много
частиц или сложная GPU-симуляция — VFX Graph.&lt;/p&gt;&lt;p&gt;Particle System — main module&lt;/p&gt;&lt;p&gt;ParticleSystem — компонент, привязанный к GameObject. В Inspector — десятки модулей-секций, можно
включать и выключать. Главное в Main:&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Timeline и кат-сцены</title><link>https://cadmus.page/unity/02-3d/16-timeline/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/16-timeline/</guid><description>Многодорожечная режиссура внутри Unity — анимация, звук, эффекты по таймкоду.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Кат-сцена в FPS, заставка перед боссом, ритуал открытия двери — всё это длится по сценарию, и
писать его кодом с таймерами больно. Unity Timeline даёт многодорожечный редактор (как Premiere
или DaVinci), где можно расставлять анимации, звуки, активацию объектов и сигналы в скрипты.&lt;/p&gt;&lt;p&gt;Что такое Timeline и PlayableDirector&lt;/p&gt;&lt;p&gt;Timeline Asset () — ассет с описанием дорожек и клипов.
PlayableDirector — компонент на GameObject, проигрывающий Timeline Asset. У него — bindings:
 для каждой дорожки указывается, на каком объекте сцены применять эффект.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Мультиплеер — Netcode for GameObjects</title><link>https://cadmus.page/unity/02-3d/17-multiplayer-netcode/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/17-multiplayer-netcode/</guid><description>NetworkObject, NetworkVariable, ServerRpc/ClientRpc — основы сетевой игры.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Мультиплеер — отдельная вселенная сложности, но Unity Netcode for GameObjects (NGO) сильно
упрощает старт. Это официальный пакет Unity для синхронизации GameObject между сервером и
клиентами в архитектуре client-server.&lt;/p&gt;&lt;p&gt;NGO работает в режиме authoritative server (сервер — источник правды). Варианты роли:&lt;/p&gt;&lt;p&gt;Server — выделенный сервер, не имеет локального игрока. Для соревновательных игр и dedicated
 servers.
Host — клиент, который одновременно сервер. Удобно для P2P и кооператива.
Client — подключённый игрок.&lt;/p&gt;&lt;p&gt;— главный синглтон, который запускает соединение: , ,
. На сцене один.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Addressables — современная загрузка ассетов</title><link>https://cadmus.page/unity/02-3d/18-addressables/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/18-addressables/</guid><description>Асинхронная загрузка по адресу, замена Resources.Load и AssetBundles.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Unity исторически есть несколько способов загрузить ассет в рантайме: ,
AssetBundles, и Addressables (). Последний — рекомендованный современный
путь, и в новых проектах остальные стоит избегать.&lt;/p&gt;&lt;p&gt;Что не так с Resources.Load&lt;/p&gt;&lt;p&gt;— простой API: достаёте ассет из папки по пути.
Звучит удобно, но:&lt;/p&gt;&lt;p&gt;Всё в Resources попадает в билд целиком. Любой ассет в Unity упаковывает даже
 если он не используется на текущей сцене. Резко раздувает размер билда.
Нет асинхронной загрузки из коробки. есть, но не решает первую
 проблему.
Нет управления версиями. Не можно обновить пакет ассетов отдельно от билда.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] HLSL-шейдеры в Unity подробнее</title><link>https://cadmus.page/unity/02-3d/19-hlsl-shaders/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/19-hlsl-shaders/</guid><description>Структура ShaderLab + HLSL, vertex/fragment, custom URP shader.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Shader Graph закрывает большинство задач, но рано или поздно вам нужно либо что-то нестандартное,
либо понять, что граф генерирует под капотом. Эта глава — короткое введение в &quot;ручные&quot; шейдеры
для URP.&lt;/p&gt;&lt;p&gt;Что такое шейдер в Unity&lt;/p&gt;&lt;p&gt;Шейдер в Unity — это файл с ShaderLab структурой, внутри которой блоки кода на
HLSL (или раньше CG — тот же синтаксис, но с устаревшими макросами).&lt;/p&gt;&lt;p&gt;ShaderLab — это &quot;обёртка&quot;: декларация properties, sub-shaders, passes, render states. HLSL — это
непосредственно вершинный (vertex) и фрагментный (fragment) код, выполняющийся на GPU.&lt;/p&gt;&lt;p&gt;Минимальный URP-шейдер&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Splines и процедурные пути</title><link>https://cadmus.page/unity/02-3d/21-splines/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/21-splines/</guid><description>Встроенный Splines package в Unity 6, кривые Безье/B-Spline, Cinemachine SplineDolly и spawning along path.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Unity 6 есть встроенный пакет Splines (). Раньше для рельсовых камер,
дорожек, AI-патрулей приходилось писать математику Безье вручную или ставить asset-store-плагины.
Теперь — нет.&lt;/p&gt;&lt;p&gt;SplineContainer — нод-контейнер для одной или нескольких кривых (Catmull-Rom, Bezier, B-Spline).
Spline Tool в Scene View — рисуете точки мышью, перетаскиваете касательные.
SplineExtrude — экструдирует mesh вдоль сплайна (готовая дорога/труба).
SplineInstantiate — расставляет prefab&apos;ы вдоль кривой (заборы, столбы, деревья).
SplineAnimate — анимирует Transform вдоль сплайна (движущиеся платформы, AI на рельсах).…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Практика — 3rd-person платформер с NavMesh-врагом</title><link>https://cadmus.page/unity/02-3d/20-tps-platformer/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/20-tps-platformer/</guid><description>Камера-орбита, физический контроллер, double jump, coyote time, преследующий враг и чекпойнты.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Второй практический капстон — собираем платформер от третьего лица: персонаж бегает, прыгает (с
double jump и coyote time), его преследует AI-враг, при смерти игрок респаунится на чекпойнте.
Используем то, что разбирали в предыдущих главах: Cinemachine, NavMesh, физический Rigidbody,
ScriptableObject для конфига.&lt;/p&gt;&lt;p&gt;PlayerMotor.cs — физический контроллер&lt;/p&gt;&lt;p&gt;Cinemachine FreeLook — камера&lt;/p&gt;&lt;p&gt;В Cinemachine 3 для орбитальной камеры от 3-го лица:&lt;/p&gt;&lt;p&gt;Создайте на сцене CinemachineCamera.
Добавьте на неё компонент CinemachineOrbitalFollow (раньше — отдельный CinemachineFreeLook).
В Tracking Target укажите Tra…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Job System и Burst — параллелизм и SIMD</title><link>https://cadmus.page/unity/02-3d/22-jobs-burst/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/22-jobs-burst/</guid><description>IJob, IJobParallelFor, Burst-компилятор, NativeArray — рабочий путь к высокой производительности.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Главный поток C# в Unity — один. Если в считается путь для тысячи NPC, FPS просядет.
Job System + Burst — официальный путь распараллелить вычисления на все ядра CPU и получить
SIMD-оптимизацию через специальный AOT-компилятор.&lt;/p&gt;&lt;p&gt;Job System — пакет (, в Unity 6 — core). API для описания параллельных задач
 через структуры-/.
Burst — пакет (). High-performance AOT-компилятор: берёт ваш код, превращает
 в SIMD-оптимизированный нативный код (через LLVM). Обычно ×5–×100 ускорение.
Unity.Collections — , и др. — структуры без GC, передаваемые
 между Job и main thread.
Unity.Mathematics — , , — типы, н…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] 2D в Unity 6 — Box2D v3 и Hybrid Scenes</title><link>https://cadmus.page/unity/02-3d/23-2d-and-box2d/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/23-2d-and-box2d/</guid><description>2D-pipeline, Box2D v3 в Unity 6.3, multi-threaded physics, Hybrid 2D/3D Scenes.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Эта энциклопедия про 3D, но Unity 6.3 LTS принёс важные 2D-новинки, о которых стоит знать —
особенно если у вас гибридный проект (3D мир + 2D HUD/effects) или вы прототипируете 2D-фичу
внутри 3D-проекта.&lt;/p&gt;&lt;p&gt;2D-pipeline Unity вкратце&lt;/p&gt;&lt;p&gt;Unity исторически имеет отдельный 2D-стек, который параллелен 3D:&lt;/p&gt;&lt;p&gt;Sprite Renderer — рисует sprite вместо Mesh.
Tilemap — массивный паттерн сеточных тайлов с rule tiles.
2D Animation — riggable 2D-скелеты (для cutout-анимации).
2D Light (в URP) — освещение для sprite-сцен с Normal Map поддержкой.
Box2D для физики (отдельно от PhysX 3D).&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] XR / OpenXR — VR-приложения в Unity</title><link>https://cadmus.page/unity/02-3d/24-xr-openxr/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/24-xr-openxr/</guid><description>XR Interaction Toolkit, OpenXR plugin, базовая VR-сцена с teleport, grab и hand-tracking.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;VR/AR (Unity называет это XR — eXtended Reality) — большая отдельная вселенная. Unity исторически
один из лидеров рынка VR-разработки. Эта глава — короткий entry point: что нужно знать, чтобы
запустить базовую сцену на Meta Quest, Valve Index или PCVR.&lt;/p&gt;&lt;p&gt;OpenXR Plugin () — нижний слой. OpenXR — открытый стандарт от
 Khronos Group для VR/AR. Заменил собой Oculus SDK, SteamVR, Vive Wave и др.
XR Interaction Toolkit (, XRI) — высокоуровневая система:
 ray-pointers, grab, teleport, locomotion, UI interaction. Главный пакет для разработчика.
XR Hands () — hand-tracking (без контроллеров) для Quest 3…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Editor Scripting — расширение Unity Editor</title><link>https://cadmus.page/unity/02-3d/25-editor-scripting/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/25-editor-scripting/</guid><description>Custom Inspectors, EditorWindow, MenuItem, Gizmos, ExecuteAlways — расширение редактора Unity.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Unity Editor можно расширять C#-кодом так же, как и runtime-логику. Это позволяет:
Делать custom inspectors для нестандартного UI редактирования полей.
Создавать editor windows — отдельные панели-инструменты внутри редактора.
Добавлять пункты меню, gizmos, scene view handles.
Запускать ваш код в редакторе (не только в Play Mode).&lt;/p&gt;&lt;p&gt;Editor scripts — главное правило&lt;/p&gt;&lt;p&gt;Скрипты редактора живут в папке (любой вложенной), и собираются в отдельный
assembly, который не попадает в билд игры.&lt;/p&gt;&lt;p&gt;Внутри Editor-скриптов вы можете использовать (этот namespace недоступен в
runtime).&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Sentis — ML inference в Unity</title><link>https://cadmus.page/unity/02-3d/26-sentis/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/26-sentis/</guid><description>ONNX-модели в реальном времени, IWorker, практический пример классификации изображения.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Sentis — встроенная в Unity 6 система для выполнения машинного обучения в реальном времени
внутри игры. Заменил Barracuda (deprecated с 2023).&lt;/p&gt;&lt;p&gt;Что можно с Sentis:
Классификация изображений с камеры (ResNet, MobileNet, YOLO).
NPC AI на нейросетях (decision-making, dialog generation).
Style transfer для post-process эффектов.
Pose estimation для motion capture без датчиков.
Voice command recognition.&lt;/p&gt;&lt;p&gt;Установка и базовая идея&lt;/p&gt;&lt;p&gt;Package Manager → установите Sentis (). С Unity 6.1 — официально GA.
Импортируйте -файл (ONNX — открытый формат экспорта моделей из PyTorch, TensorFlow и др.)
 как обычны…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Cinemachine — продвинутые техники</title><link>https://cadmus.page/unity/02-3d/27-cinemachine-deep/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/27-cinemachine-deep/</guid><description>Confiner, Impulse, Composer, FreeLook, blending, state-driven cameras — углубление в Cinemachine 3.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В главе про камеру мы прошли базы Cinemachine 3. Эта глава —
углубление: 4 фичи, которые часто нужны в реальном проекте.&lt;/p&gt;&lt;p&gt;CinemachineConfiner — камера не вылетит за уровень&lt;/p&gt;&lt;p&gt;Самая частая проблема следящей камеры — она может оказаться внутри стены или показать
out-of-bounds zone. Confiner решает это:&lt;/p&gt;&lt;p&gt;CinemachineConfiner2D — ограничивает камеру 2D-полигоном (для 2D / top-down).
CinemachineConfiner3D — ограничивает 3D-Collider (BoxCollider, ConvexMesh).&lt;/p&gt;&lt;p&gt;Применение:
Добавьте Empty GameObject на сцену с подходящим Collider (например, размером с
 playable-area). Это шейп граничной области.
На вашу…&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Animation Rigging — процедурная анимация и IK</title><link>https://cadmus.page/unity/02-3d/28-animation-rigging/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/28-animation-rigging/</guid><description>TwoBone IK, Aim Constraint, Multi-Parent — наложение процедурных слоёв на готовую анимацию.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Стандартный Animator проигрывает записанные анимации. Что делать, если:
Персонаж должен смотреть на динамическую цель (на врага, на мышиный курсор).
Рука должна удерживать ручку двери, пока та поворачивается.
Стопа должна корректно касаться неровного пола (foot IK).&lt;/p&gt;&lt;p&gt;Animation Rigging пакет () даёт процедурные constraint&apos;ы, которые
накладываются поверх обычной анимации Animator&apos;а.&lt;/p&gt;&lt;p&gt;Главная идея — riggable layer&lt;/p&gt;&lt;p&gt;собирает все constraint&apos;ы и применяет их после базовой анимации Animator&apos;а.
Constraint&apos;ы — отдельные GameObject&apos;ы с компонентом-логикой.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Save / Load — сохранение прогресса</title><link>https://cadmus.page/unity/02-3d/29-save-load/</link><guid isPermaLink="true">https://cadmus.page/unity/02-3d/29-save-load/</guid><description>PlayerPrefs, JSON, бинарная сериализация, шифрование, версионирование сейвов.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Save/Load — стандартная задача любой игры. В Unity есть 3 основных пути, и выбор зависит от
размера и сложности сохраняемых данных.&lt;/p&gt;&lt;p&gt;PlayerPrefs — для настроек&lt;/p&gt;&lt;p&gt;Где хранится:
Windows: в Registry.
macOS: .
Linux: .&lt;/p&gt;&lt;p&gt;PlayerPrefs не зашифрован. Пользователь может открыть и поправить — для настроек это OK, для
прогресса игры — небезопасно.&lt;/p&gt;&lt;p&gt;Для структурированных данных используйте JSON. Unity имеет встроенный (без внешних
зависимостей).&lt;/p&gt;&lt;p&gt;Application.persistentDataPath:
Windows: 
macOS: 
iOS: 
Android: (sandboxed)&lt;/p&gt;&lt;p&gt;Сериализация Dictionary с Newtonsoft&lt;/p&gt;&lt;p&gt;Шифрование (или просто obfuscation)&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Unity] Глоссарий — Unity термины глазами веб-разработчика</title><link>https://cadmus.page/unity/03-glossary/01-terms/</link><guid isPermaLink="true">https://cadmus.page/unity/03-glossary/01-terms/</guid><description>Короткие определения ключевых понятий с веб-аналогами.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Сводный список терминов, которые встречаются в энциклопедии. Где уместно — аналог из веба.&lt;/p&gt;&lt;p&gt;Scene — файл с описанием объектов на уровне/экране. Аналог: страница (route) в SPA.&lt;/p&gt;&lt;p&gt;GameObject — пустой контейнер с обязательным . Сам ничего не делает. Аналог: пустой
 в DOM.&lt;/p&gt;&lt;p&gt;Component — поведение, навешиваемое на GameObject. Mesh, Collider, ваш скрипт. Аналог: набор CSS
+ JS обработчиков, прикреплённых к элементу.&lt;/p&gt;&lt;p&gt;Prefab — переиспользуемый шаблон GameObject в виде ассета. Аналог: React-компонент, который
рендерится в много мест.&lt;/p&gt;</content:encoded><category>unity</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Зачем веб-разработчику Godot</title><link>https://cadmus.page/godot/01-intro/01-zachem/</link><guid isPermaLink="true">https://cadmus.page/godot/01-intro/01-zachem/</guid><description>Open-source движок с другой философией — что это даёт разработчику из мира TS/React.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Если Unity ощущается как корпоративная IDE с подпиской (потому что так и есть), то Godot — это нечто
другое. MIT-лицензия, 0% роялти, ~100 МБ редактор, который запускается быстрее, чем VS Code.
Своя экосистема, свой язык, и для веб-разработчика — местами куда более интуитивная модель.&lt;/p&gt;&lt;p&gt;Эта энциклопедия параллельна Unity-энциклопедии: те же концепции, тот же подход &quot;через веб-аналоги&quot;,
но движок другой. Можно читать обе, можно одну.&lt;/p&gt;&lt;p&gt;Что Godot делает иначе&lt;/p&gt;&lt;p&gt;Главное архитектурное отличие от Unity: в Godot одна сцена — это и есть префаб. Любой объект,
сделанный в редакторе как сцена, можно инстан…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Стек Godot и его экосистема</title><link>https://cadmus.page/godot/01-intro/02-stack/</link><guid isPermaLink="true">https://cadmus.page/godot/01-intro/02-stack/</guid><description>Версии Godot 4.x, GDScript vs C#, рендер-пайплайны и ключевые пакеты.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Godot работает в ветке 4.x с 2023 года (релиз 4.0 — март 2023). На май 2026:&lt;/p&gt;&lt;p&gt;Godot 4.6.3 — текущий stable (вышел 20 мая 2026). Минорная ветка 4.6 релизнута в январе
 2026, патчи 4.6.1 (фев), 4.6.2 (апр), 4.6.3 (май) — стабилизация Jolt physics, фиксы редактора.
 Главные новинки 4.6: Jolt стал default-физикой для 3D, IK вернулся как нодовая система
 (TwoBoneIK3D, FABRIK3D, и ещё 5 солверов), новая editor theme (Modern), unified docking,
 переписанный SSR, LibGodot (движок как embedded-библиотека).
Godot 4.7 — в beta с апреля 2026, stable ожидается летом 2026. HDR-output на десктопе/iOS,
 AreaL…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Godot Editor, сцена и узлы</title><link>https://cadmus.page/godot/02-3d/01-editor-stsena-uzly/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/01-editor-stsena-uzly/</guid><description>Scene tree, Node3D — фундамент всего в Godot.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Godot Editor — это IDE для контента. Главные доки (можно перетаскивать как в Unity):&lt;/p&gt;&lt;p&gt;3D Viewport — окно сцены, в котором летаете и расставляете узлы. Переключатели: 2D / 3D /
 Script / AssetLib.
Scene (слева сверху) — дерево узлов текущей сцены. Аналог Unity Hierarchy.
FileSystem (слева снизу) — файлы проекта. Аналог Unity Project.
Inspector (справа) — свойства выбранного узла или ресурса.
Node (справа сверху) — вкладка для просмотра/подключения сигналов этого узла. Это
 отдельная штука относительно Unity.
Output / Debugger / Search — снизу.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] GDScript, lifecycle и сигналы</title><link>https://cadmus.page/godot/02-3d/02-gdscript-lifecycle/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/02-gdscript-lifecycle/</guid><description>Как Godot вызывает ваш код — _ready, _process, _physics_process, signals, await.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;GDScript-файл () обычно начинается с , указывая, от какого узла наследуется:&lt;/p&gt;&lt;p&gt;Главные методы, которые Godot вызывает сам:&lt;/p&gt;&lt;p&gt;* — конструктор объекта, ещё до того как узел добавлен в дерево.
— узел добавлен в scene tree. Родитель → дети (top-down).
— все дети тоже готовы. Дети → родитель (bottom-up). Здесь делают
 инициализацию, которая зависит от детей.
/ — каждое input-событие.
— фиксированный тик. По умолчанию 60 Hz
 (Project Settings → Physics → Common → Physics Ticks Per Second).
— каждый кадр (variable timestep, как Unity Update).
— узел удалён из дерева (включая при выходе из сцены).
— низ…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Ввод — Input Map и action-based система</title><link>https://cadmus.page/godot/02-3d/03-input/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/03-input/</guid><description>Как читать клавиатуру, мышь, геймпад и тач через единую action-систему.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot ввод — единая система: вы описываете actions в Project Settings и обращаетесь к ним
из любого скрипта. Нет двух конкурирующих API как в Unity (legacy Input vs Input System).&lt;/p&gt;&lt;p&gt;Project → Project Settings → Input Map. Создаёте action (например, ), привязываете к нему
любое количество клавиш / кнопок геймпада / мышь / touch:&lt;/p&gt;&lt;p&gt;Это и есть единственная конфигурация — больше ничего настраивать не нужно.&lt;/p&gt;&lt;p&gt;Опрос ввода через Input&lt;/p&gt;&lt;p&gt;В скрипте читаете action через глобальный (singleton):&lt;/p&gt;&lt;p&gt;input(event) и unhandledinput(event)&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Физика — Bodies, Collision, Jolt</title><link>https://cadmus.page/godot/02-3d/04-physics/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/04-physics/</guid><description>StaticBody3D, RigidBody3D, CharacterBody3D, Area3D — и почему с 4.6 физика стала быстрее.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;С Godot 4.6 физикой по умолчанию для 3D стал Jolt — высокопроизводительный движок,
используемый в Death Stranding 2 и других AAA-играх. Старый Godot Physics остался как опция и
продолжает быть default для 2D.&lt;/p&gt;&lt;p&gt;Это значит: предсказуемая, масштабируемая 3D-физика из коробки. Никаких сторонних движков
интегрировать не нужно.&lt;/p&gt;&lt;p&gt;Узлы-наследники , образующие физический объект:&lt;/p&gt;&lt;p&gt;Area3D — невидимая область с триггерами /. Аналог Unity Collider
 с .
PhysicalBone3D — для рэгдоллов внутри Skeleton3D.
SoftBody3D — мягкие тела (ткань, флаги, простые желейные объекты). Использует mesh-based
 soft-body simula…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Камера и Phantom Camera</title><link>https://cadmus.page/godot/02-3d/05-camera/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/05-camera/</guid><description>Camera3D, виды от первого/третьего лица, и плагин-аналог Cinemachine.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Camera3D — главный узел&lt;/p&gt;&lt;p&gt;Camera3D — узел, который &quot;смотрит&quot; в сцену. Только одна Camera3D активна в любой момент (если
не используете отдельные viewports). У сцены может быть несколько камер; активная — та, у которой
, или которая стала активной через .&lt;/p&gt;&lt;p&gt;* — (3D, с перспективой) или (без, для изометрии/2.5D).
— поле зрения в градусах по вертикали. Стандарт FPS — 60–90°.
, — clipping planes. Большой разброс портит точность Z-buffer (Z-fighting).
— битмаска: какие visual layers рендерит эта камера.&lt;/p&gt;&lt;p&gt;Аналог Unity-варианта со SmoothDamp. В Godot нет встроенной , но есть :&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Рендеринг и материалы</title><link>https://cadmus.page/godot/02-3d/06-rendering-materials/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/06-rendering-materials/</guid><description>Forward+/Mobile/Compatibility, BaseMaterial3D, gdshader — как Godot рисует кадр.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Godot выбирает рендерер при создании проекта (можно сменить позже, но материалы могут
требовать адаптации):&lt;/p&gt;&lt;p&gt;Project → Project Settings → Rendering → Renderer → Rendering Method.&lt;/p&gt;&lt;p&gt;Forward+ + Vulkan — десктоп, серьёзные 3D-проекты, hi-end visuals.
Mobile + Vulkan/Metal — телефоны.
Compatibility + WebGL 2 — браузер (это единственный путь для веб-таргета, который работает
 везде без COOP/COEP-заголовков).&lt;/p&gt;&lt;p&gt;Compatibility объявлен feature-complete с 4.3: lights, shadows, GI (lightmaps), GPU particles — всё
доступно, с некоторыми ограничениями.&lt;/p&gt;&lt;p&gt;Mesh, Material, Shader&lt;/p&gt;&lt;p&gt;Та же триада, что и в Unity:&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Освещение и тени</title><link>https://cadmus.page/godot/02-3d/07-lighting/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/07-lighting/</guid><description>DirectionalLight3D, OmniLight3D, SpotLight3D, lightmaps и SDFGI.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Три встроенных типа света (плюс грядущий AreaLight3D в 4.7):&lt;/p&gt;&lt;p&gt;DirectionalLight3D — солнце. Параллельные лучи, бесконечно далёкие. Один на сцену обычно.
OmniLight3D — точечный (Unity Point Light). От точки во все стороны с радиусом затухания.
SpotLight3D — конус из точки с углом и радиусом.
AreaLight3D — area-light (с 4.7). Прямоугольный/дисковый источник.&lt;/p&gt;&lt;p&gt;Главные свойства каждого:
* — яркость.
— цвет.
— множитель для непрямого света от этого источника (в GI).
— рисовать тени.
, — настройки артефактов теней.
— / (baked) / (real-time GI). В Inspector показано как Disabled/Static/Dynamic, но в к…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Анимация — AnimationPlayer и AnimationTree</title><link>https://cadmus.page/godot/02-3d/08-animation/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/08-animation/</guid><description>AnimationLibrary, state machine, blend spaces, root motion.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;AnimationPlayer — главный узел&lt;/p&gt;&lt;p&gt;хранит AnimationLibrary с набором -ресурсов и проигрывает их.
Уникальная особенность Godot — можно анимировать любое свойство любого узла (или даже
ресурса), не только Transform и Material:&lt;/p&gt;&lt;p&gt;Transform (position, rotation, scale)
Любое property (alpha sprite, , числа, цвета)
Shader uniforms — через property path 
Метод-вызовы (по таймеру в треке вызвать функцию)
Audio (запустить AudioStreamPlayer)
Вложенные анимации других AnimationPlayer&lt;/p&gt;&lt;p&gt;Запись анимации в редакторе&lt;/p&gt;&lt;p&gt;Выберите AnimationPlayer в сцене → внизу появится Animation editor.
Кнопка &quot;Animation&quot; → New → и…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] 3D-аудио и AudioBus</title><link>https://cadmus.page/godot/02-3d/09-audio/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/09-audio/</guid><description>AudioStreamPlayer3D, маршрутизация через AudioBus, эффекты.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot аудио — отдельный сервер () с маршрутизацией через AudioBus. У сцены —
несколько узлов-плееров, у проекта — единый микшер.&lt;/p&gt;&lt;p&gt;AudioStreamPlayer — без позиционирования. Музыка, UI-звуки, диалоги.
AudioStreamPlayer2D — позиционный для 2D-сцен (громкость по дистанции к слушателю).
AudioStreamPlayer3D — 3D-позиционный с attenuation, Doppler, area reverb.&lt;/p&gt;&lt;p&gt;Главные свойства AudioStreamPlayer3D:&lt;/p&gt;&lt;p&gt;* — -ресурс (AudioStreamOggVorbis, AudioStreamMP3, AudioStreamWAV).
— громкость в децибелах. 0 — оригинал, -10 — тише, -80 — почти тишина.
— множитель скорости/высоты.
— фактор затухания (default ). Че…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] UI — Control-узлы и контейнеры</title><link>https://cadmus.page/godot/02-3d/10-ui-control/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/10-ui-control/</guid><description>Control, anchors, контейнеры, Theme и StyleBox.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot UI — это Control-узлы. Это отдельная иерархия наследников , со своим
layout-движком, anchors, событиями. В отличие от Unity uGUI / UI Toolkit — здесь одна UI-система,
встроенная.&lt;/p&gt;&lt;p&gt;Все Control-узлы имеют:
position + size — позиция и размер в пикселях.
anchors + offsets — привязки к родителю (как Unity uGUI anchors или CSS absolute).
sizeflagshorizontal / sizeflagsvertical — поведение внутри контейнера (,
 , , ...).
theme + themeoverrides — стилизация.&lt;/p&gt;&lt;p&gt;Anchor — точка на родителе, к которой &quot;приклеена&quot; сторона текущего Control. Четыре float&apos;а (top,
left, bottom, right) в диапазоне 0..1.…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] PackedScene и Resource</title><link>https://cadmus.page/godot/02-3d/11-packedscene-resource/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/11-packedscene-resource/</guid><description>Универсальный контейнер сцены/префаба и data-only ассеты.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;PackedScene — сцена и префаб в одном&lt;/p&gt;&lt;p&gt;Главная архитектурная особенность Godot: сцена и префаб — одна и та же сущность. Файл
 хранит дерево узлов; этот файл можно открыть как корневую сцену проекта или
инстанциировать как ребёнка в другую сцену. Внутри Engine оба варианта — -ресурс.&lt;/p&gt;&lt;p&gt;В Inspector у те же узлы и компоненты, что и у . Любая сцена — это
шаблон, который можно встраивать.&lt;/p&gt;&lt;p&gt;В редакторе: правый клик на узел → Instantiate Child Scene → выбрать . Или drag-and-drop
из FileSystem в Scene.&lt;/p&gt;&lt;p&gt;создаёт корневой узел сцены и все её дети. загружает на этапе компиляции
скрипта (статично), — в runt…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Практика — контроллер от первого лица</title><link>https://cadmus.page/godot/02-3d/12-fps-controller/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/12-fps-controller/</guid><description>CharacterBody3D, move_and_slide, RayCast3D — играбельный FPS-каркас.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Собираем играбельного FPS-персонажа: ходит, смотрит мышью, прыгает, стреляет лучом. Используем
CharacterBody3D (аналог Unity CharacterController, только с более фичастым ).&lt;/p&gt;&lt;p&gt;Разделение Head ↔ Player важно: yaw (горизонтальный поворот) применяется к Player&apos;у (двигает всё
тело и направление движения), pitch (вертикаль) — только к Head (чтобы коллайдер не наклонялся).&lt;/p&gt;&lt;p&gt;В Project Settings → Input Map создайте:
(W, ↑)
(S, ↓)
(A, ←)
(D, →)
(Space)
(Mouse Left)
(Escape) — обычно уже есть по умолчанию&lt;/p&gt;&lt;p&gt;player.gd — главный скрипт&lt;/p&gt;&lt;p&gt;health.gd — получатель урона&lt;/p&gt;&lt;p&gt;Простой компонент здоровья на любом узле:&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Навигация — NavigationServer и AI</title><link>https://cadmus.page/godot/02-3d/13-navigation/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/13-navigation/</guid><description>NavigationRegion3D, NavigationAgent3D — поиск пути и преследующий враг.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Navigation в Godot 4 — это NavigationServer3D (низкоуровневый сервер) и три высокоуровневых
узла: NavigationRegion3D, NavigationAgent3D, NavigationLink3D.&lt;/p&gt;&lt;p&gt;NavigationMesh — упрощённая полигональная &quot;карта проходимости&quot;. Запекается из коллизий сцены.
Агенты ищут путь по этой карте (A под капотом).&lt;/p&gt;&lt;p&gt;Запекание NavigationMesh&lt;/p&gt;&lt;p&gt;Соберите статичную геометрию.
Добавьте узел NavigationRegion3D на сцену.
В Inspector создайте новый ресурс NavigationMesh на этом узле.
Кнопка Bake NavigationMesh в верхней панели → запекание.&lt;/p&gt;&lt;p&gt;В Geometry → Source Geometry Mode на NavigationMesh выбирается, из чего собирать…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Частицы — GPUParticles3D и CPUParticles3D</title><link>https://cadmus.page/godot/02-3d/14-particles/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/14-particles/</guid><description>ParticleProcessMaterial, эмиттеры, sub-emitters, collision.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot два узла для частиц с похожим API:&lt;/p&gt;&lt;p&gt;GPUParticles3D — на GPU, до миллионов частиц.
CPUParticles3D — на CPU, fallback для слабого железа и веба.&lt;/p&gt;&lt;p&gt;Грубое правило: GPU где можно, CPU где обязательно.&lt;/p&gt;&lt;p&gt;ParticleProcessMaterial&lt;/p&gt;&lt;p&gt;Главное отличие от Unity Particle System: поведение частиц задаётся не в инспекторе узла, а в
отдельном ресурсе . Это удобно — можно сохранить, переиспользовать,
override в инстансах.&lt;/p&gt;&lt;p&gt;Главные секции ParticleProcessMaterial:&lt;/p&gt;&lt;p&gt;Direction + spread — направление выброса.
Initial Velocity (min/max) — стартовая скорость.
Gravity — на каждую частицу.
Linear / Angular / Radia…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Мультиплеер — MultiplayerAPI и RPC</title><link>https://cadmus.page/godot/02-3d/15-multiplayer/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/15-multiplayer/</guid><description>ENet/WebSocket/WebRTC peers, RPC, MultiplayerSpawner и Synchronizer.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Godot имеет встроенный high-level мультиплеер: MultiplayerAPI + транспорты + узлы Spawner/Synchronizer.
Это аналог Unity Netcode for GameObjects.&lt;/p&gt;&lt;p&gt;работает поверх . Транспорты:&lt;/p&gt;&lt;p&gt;ENetMultiplayerPeer — UDP, основной для нативных платформ.
WebSocketMultiplayerPeer — TCP/WebSocket, единственный путь для веб-таргета.
WebRTCMultiplayerPeer — peer-to-peer, NAT traversal через STUN/TURN.
OfflineMultiplayerPeer — заглушка для single-player.&lt;/p&gt;&lt;p&gt;Стандартная модель — authoritative server: один peer ID=1 (сервер), остальные — клиенты с
ID &amp;gt;= 2.&lt;/p&gt;&lt;p&gt;Старт сервера и клиента&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Загрузка ресурсов — preload, load, threaded</title><link>https://cadmus.page/godot/02-3d/16-resource-loading/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/16-resource-loading/</guid><description>Как Godot загружает ассеты — синхронно, асинхронно, с прогрессом.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot нет отдельной системы вроде Unity Addressables — встроенный механизм покрывает большинство
сценариев через несколько API.&lt;/p&gt;&lt;p&gt;preload — статичная, на этапе парсинга&lt;/p&gt;&lt;p&gt;— это директива компилятора GDScript. Ресурс загружается, когда сам скрипт
загружается (один раз, кешируется). Самый быстрый способ при инстанцировании.&lt;/p&gt;&lt;p&gt;Плюс: ноль пауз в рантайме.
Минус: ассет всегда в памяти, пока скрипт жив. Не подходит для тяжёлой геометрии,
которая нужна не всегда.&lt;/p&gt;&lt;p&gt;load — динамическая, синхронная&lt;/p&gt;&lt;p&gt;блокирует поток, пока не загрузит. Подходит для лёгких ресурсов в моменты, где пауза не
заметна.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Сборка и оптимизация</title><link>https://cadmus.page/godot/02-3d/17-build-optimization/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/17-build-optimization/</guid><description>Export Presets, Profiler, веб-таргет и WASM, чек-лист релиза.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot сборка — это Export Preset (конфиг для платформы) + Export Template (бинарь
движка без редактора). Платформы first-party: Windows, macOS, Linux, Android, iOS, Web,
visionOS (с 4.5).&lt;/p&gt;&lt;p&gt;открывает окно с конфигами. Добавьте preset для нужной платформы:&lt;/p&gt;&lt;p&gt;Platform (Windows Desktop, Android, Web, ...).
Bundle Identifier / Package Name (для mobile/Mac/iOS).
Icon и Splash.
Permissions (Android — camera, location и т.д.).
Encryption — зашифровать pack-файл.
Export Mode — All resources / Resources from group / By files.
Debug / Release — release делает оптимизированный билд без debugger.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Практика — 3rd-person платформер с NavMesh-врагом</title><link>https://cadmus.page/godot/02-3d/18-tps-platformer/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/18-tps-platformer/</guid><description>PhantomCamera FreeLook, CharacterBody3D, double jump, coyote time, преследующий враг, чекпойнты.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Второй практический капстон Godot — параллель Unity TPS-главы. Собираем платформер от третьего
лица: персонаж бегает, прыгает (с double jump и coyote time), его преследует AI-враг по NavMesh,
при смерти игрок респаунится на чекпойнте.&lt;/p&gt;&lt;p&gt;Используем то, что разбирали раньше: CharacterBody3D с , NavigationAgent3D,
Phantom Camera плагин для third-person вида, Resource как ScriptableObject-аналог.&lt;/p&gt;&lt;p&gt;playermotor.gd — контроллер&lt;/p&gt;&lt;p&gt;Phantom Camera для 3rd-person&lt;/p&gt;&lt;p&gt;Установите плагин Phantom Camera (AssetLib → &quot;Phantom Camera&quot; → Install → активировать в Project
Settings → Plugins).&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Path3D, PathFollow3D и сплайны</title><link>https://cadmus.page/godot/02-3d/20-path-splines/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/20-path-splines/</guid><description>Curve3D, Path3D, PathFollow3D — движение по сплайну, AI-патрули, кат-сцены камеры.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot есть встроенные Path3D и PathFollow3D для движения по сплайну. Кривая хранится в
ресурсе . Не нужно ставить плагины — это часть core engine.&lt;/p&gt;&lt;p&gt;Path3D — узел-контейнер с ресурсом . Описывает кривую в пространстве.
PathFollow3D — дочерний узел Path3D. Содержит свойство или , по
 которому Godot вычисляет позицию вдоль кривой. Всё, что лежит внутри PathFollow3D, едет вдоль
 сплайна.
Curve3D — ресурс с массивом точек, у каждой — позиция + in/out tangents (для Bezier).&lt;/p&gt;&lt;p&gt;Создание Path3D в редакторе&lt;/p&gt;&lt;p&gt;Добавьте на сцену Path3D.
В Inspector создайте новый (если ещё нет).
В Scene view выберите Path…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] GridMap — модульные уровни</title><link>https://cadmus.page/godot/02-3d/21-gridmap/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/21-gridmap/</guid><description>MeshLibrary + GridMap для сборки локаций из переиспользуемых блоков.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;GridMap — встроенный Godot узел для сборки уровней из модульных блоков на 3D-сетке.
Думайте: Minecraft, Dungeon Crawler, Cities Skylines — где мир состоит из переиспользуемых
&quot;кирпичиков&quot; размером с тайл.&lt;/p&gt;&lt;p&gt;Сделайте MeshLibrary-ресурс — набор mesh&apos;ей с заранее заданными CollisionShape3D.
Положите его на узел GridMap.
В Scene View рисуете &quot;кистью&quot; по 3D-сетке — каждая клетка получает выбранный из библиотеки mesh.
Godot рендерит весь GridMap одним вызовом на тип меша (внутреннее instancing).&lt;/p&gt;&lt;p&gt;Это и быстрее, и компактнее, чем десять тысяч отдельных -узлов.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Threading — WorkerThreadPool и Thread</title><link>https://cadmus.page/godot/02-3d/22-threading/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/22-threading/</guid><description>Параллельные задачи в Godot — генерация карт, обработка данных, длинные операции без фриза UI.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot main-thread обрабатывает рендер, физику, скрипты. Если в процедурно сгенерировать
карту мира — игра зависнет на секунду-две. Threading — способ вынести тяжёлую работу в
фоновые потоки.&lt;/p&gt;&lt;p&gt;Три уровня инструментов&lt;/p&gt;&lt;p&gt;появился в Godot 4 и — главный путь. Он управляет потоками за вас, вы только
submit-ите задачи.&lt;/p&gt;&lt;p&gt;WorkerThreadPool — базовый пример&lt;/p&gt;&lt;p&gt;Задача: процедурно сгенерировать heightmap 1024×1024.&lt;/p&gt;&lt;p&gt;Главные методы :
— submit, возвращает .
— проверить готовность.
— заблокировать main, пока не закончится (вызывается
 после для cleanup).
— параллельное &quot;for each&quot;.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] @tool и EditorPlugin — расширение редактора</title><link>https://cadmus.page/godot/02-3d/24-tool-editor-plugin/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/24-tool-editor-plugin/</guid><description>Tool-скрипты, custom inspectors, EditorPlugin, добавление узлов и docks к редактору Godot.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Godot полностью написан на собственном языке для UI — это значит, что сам редактор может быть
расширен GDScript-кодом. Никаких C++-плагинов, никаких пересборок.&lt;/p&gt;&lt;p&gt;Два уровня расширения:
-скрипты — обычные узлы с поведением в редакторе. Например, скрипт, который
 автоматически расставляет деревья по сплайну.
EditorPlugin — настоящий плагин: добавляет узлы, кастомные docks, инспекторы, gizmos.&lt;/p&gt;&lt;p&gt;@tool — скрипт работает в редакторе&lt;/p&gt;&lt;p&gt;Обычный GDScript исполняется только в Play Mode. Добавьте в первой строке — и скрипт будет
работать прямо в Scene View.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] TileMap (2D) — модульные 2D-уровни</title><link>https://cadmus.page/godot/02-3d/25-tilemap-2d/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/25-tilemap-2d/</guid><description>TileMapLayer, TileSet, terrains, autotile, navigation для 2D-проектов в Godot 4.x.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Эта энциклопедия про 3D, но Godot имеет первоклассный 2D-pipeline, и TileMap — главный
инструмент для модульных уровней (платформеры, top-down RPG, dungeon crawlers, city builders).&lt;/p&gt;&lt;p&gt;Архитектура TileMap в Godot 4.x&lt;/p&gt;&lt;p&gt;С Godot 4.3 произошло важное изменение: классический -узел deprecated в пользу
*-узлов.&lt;/p&gt;&lt;p&gt;В новом проекте используйте . Один узел = один слой (например, фон → детали → объекты).&lt;/p&gt;&lt;p&gt;TileSet — со списком всех доступных тайлов (sprite + collision + nav-data).
TileMapLayer — , который рисует тайлы из TileSet на координатной сетке.
Tile — ячейка TileSet&apos;а: sprite-источник + collision-shape…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] XR / OpenXR — VR-приложения в Godot</title><link>https://cadmus.page/godot/02-3d/26-xr-openxr/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/26-xr-openxr/</guid><description>XROrigin3D, XRCamera3D, XRController3D — базовая VR-сцена для Meta Quest и SteamVR.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Godot имеет встроенную поддержку OpenXR прямо в core, без отдельных пакетов. На фоне Unity
это особенно приятно: запуск VR-проекта в Godot — буквально несколько узлов.&lt;/p&gt;&lt;p&gt;OpenXR в Godot — встроено&lt;/p&gt;&lt;p&gt;OpenXR — открытый стандарт Khronos Group для VR/AR. Заменяет SDK от Oculus, SteamVR, Vive Wave.
В Godot 4.x OpenXR — часть engine, активируется в Project Settings → XR.&lt;/p&gt;&lt;p&gt;Project Settings → XR → OpenXR → Enabled = true.
Выберите interaction profiles: Oculus Touch, Khronos Simple, Valve Index. По умолчанию
 включены основные.
Для Android (Quest): Build Profile → Android, в Export preset включите XR-perm…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] GDExtension — нативные плагины на C++ и Rust</title><link>https://cadmus.page/godot/02-3d/27-gdextension/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/27-gdextension/</guid><description>godot-cpp, gdext (Rust), когда нужны нативные расширения, как они работают.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;GDScript хорош для большинства gameplay-логики, но иногда нужно опуститься ниже:
Воксельный движок с миллионами блоков
Custom shading в реальном времени с сложной CPU-математикой
Интеграция со существующей C/C++ библиотекой (физика, NN inference, audio DSP)
Performance hot path, где даже static-typed GDScript не справляется&lt;/p&gt;&lt;p&gt;GDExtension — современный способ расширять Godot на нативном уровне. Заменил GDNative с
Godot 4.0.&lt;/p&gt;&lt;p&gt;Вы пишете код в C++ (через ) или Rust (через ).
Компилируете в dynamic library ( / / ).
Создаёте манифест , который Godot загружает при старте.
В редакторе ваши классы появл…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] C# в Godot — практика и нюансы</title><link>https://cadmus.page/godot/02-3d/28-csharp-godot/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/28-csharp-godot/</guid><description>Godot .NET edition, отличия от GDScript, миграция, gotcha&apos;и для разработчиков из мира Unity.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;GDScript — отличный язык, но если вы пришли из Unity (или серьёзного .NET-проекта), хочется
работать на C#. Godot поддерживает это через отдельную сборку — Godot .NET edition.&lt;/p&gt;&lt;p&gt;Чем .NET edition отличается&lt;/p&gt;&lt;p&gt;Скачайте .NET-вариант с godotengine.org/download. В Steam-версии
есть отдельный SKU &quot;Godot Engine (.NET)&quot;.&lt;/p&gt;&lt;p&gt;Ключевые отличия от Unity:&lt;/p&gt;&lt;p&gt;* — обязательно (генератор кода добавляет код для signals).
вместо — атрибут видимости в Inspector.
вместо — другой синтаксис.
— сигналы декларируются как делегаты с суффиксом.
, (PascalCase) — а не , .
— нужно явно кастовать в float если используете с Vecto…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Decals — наклейки в 3D</title><link>https://cadmus.page/godot/02-3d/23-decals/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/23-decals/</guid><description>Decal-узел для bullet holes, граффити, dirt-масок, footprint&apos;ов и других накладок на геометрию.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Decal — узел в Godot, который проецирует текстуру на поверхности под собой. Это классический
приём для:&lt;/p&gt;&lt;p&gt;Дырок от пуль на стене
Грязи на полу, лужи
Граффити, постеров
Следов от шин
Cracks, кровь, scorch marks от взрывов&lt;/p&gt;&lt;p&gt;Реализовано как отдельный render pass, не лежит на геометрии — поэтому можно &quot;клеить&quot; поверх
любой поверхности без модификации mesh&apos;ей.&lt;/p&gt;&lt;p&gt;Базовое использование&lt;/p&gt;&lt;p&gt;Добавьте на сцену узел Decal.
В Inspector задайте * — основная текстура.
(Опционально) — карта нормалей для рельефа.
(Опционально) — Occlusion/Roughness/Metallic mask.
Поверните и масштабируйте узел: bounding box decal&apos;…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] gdshader подробнее — vertex, fragment, light</title><link>https://cadmus.page/godot/02-3d/19-gdshader-deep/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/19-gdshader-deep/</guid><description>Структура spatial-шейдера, встроенные функции, uniforms, варинги, шаги оптимизации.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В главе про рендеринг видели базовый ShaderMaterial. Здесь — подробнее: устройство 3D-шейдера, что
такое vertex/fragment/light-функции и как писать своё освещение.&lt;/p&gt;&lt;p&gt;Полная структура spatial-шейдера&lt;/p&gt;&lt;p&gt;Что внутри:
* — это для 3D mesh&apos;а. Для 2D — , для skybox — , и т.д.
— флаги: (transparency), (отбраковка), (Z-буфер),
 (модель диффузного освещения), (зеркальная), (без света).
— параметр, видимый в Inspector материала и доступный из кода через
 .
— переменная, передаваемая из vertex в fragment (интерполируется по треугольнику).
— модифицирует вершины перед растеризацией.
— считает свойства поверхн…&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Save / Load — сохранение прогресса</title><link>https://cadmus.page/godot/02-3d/29-save-load/</link><guid isPermaLink="true">https://cadmus.page/godot/02-3d/29-save-load/</guid><description>FileAccess, ConfigFile, ResourceSaver, JSON, encryption, user:// пути.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;В Godot есть несколько встроенных способов сохранять прогресс. Каждый подходит под свою задачу.&lt;/p&gt;&lt;p&gt;Пути и user:// schema&lt;/p&gt;&lt;p&gt;В Godot для всех пользовательских данных есть специальный путь — *. На разных
платформах он указывает в правильное место:&lt;/p&gt;&lt;p&gt;Windows: 
macOS: 
Linux: 
Android: 
iOS: 
Web: через виртуальную ФС&lt;/p&gt;&lt;p&gt;Главное правило: никогда не пишите в (это read-only после билда). Всё пользовательское
идёт в .&lt;/p&gt;&lt;p&gt;ConfigFile — для настроек&lt;/p&gt;&lt;p&gt;сохраняет в INI-формате (как .ini-файлы Windows). Идеально для player-config&apos;а:
громкость, разрешение, бинды клавиш.&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Godot] Глоссарий — Godot термины и параллели</title><link>https://cadmus.page/godot/03-glossary/01-terms/</link><guid isPermaLink="true">https://cadmus.page/godot/03-glossary/01-terms/</guid><description>Короткие определения с веб-аналогами и параллелями к Unity.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Сводный список ключевых терминов Godot, упомянутых в энциклопедии. В скобках — Unity-аналог,
если он есть.&lt;/p&gt;&lt;p&gt;Node — базовый класс всего в дереве сцены. Унаследованные классы: , ,
, . (Unity: GameObject, но без stack of components — один скрипт на узел.)&lt;/p&gt;&lt;p&gt;Node3D (раньше Spatial) — узел с 3D-трансформом. (Unity: GameObject + Transform.)&lt;/p&gt;&lt;p&gt;Control — базовый класс UI-узлов. С anchors, offsets, layout. (Unity: RectTransform / Control в uGUI.)&lt;/p&gt;&lt;p&gt;Scene Tree — иерархия живых узлов в работающей игре. Доступ через .&lt;/p&gt;&lt;p&gt;PackedScene — сериализованная сцена-. (Unity: Scene + Prefab в одном.)&lt;/p&gt;</content:encoded><category>godot</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Ваша первая сцена</title><link>https://cadmus.page/phaser/01-start/first-scene/</link><guid isPermaLink="true">https://cadmus.page/phaser/01-start/first-scene/</guid><description>Создание и запуск вашей первой сцены Phaser 4 — прыгающего логотипа — в изолированной песочнице.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Программа на Phaser 4 — это как минимум , настроенный хотя бы с одной . У сцены есть три хука жизненного цикла, которые вы будете использовать постоянно:&lt;/p&gt;&lt;p&gt;— загрузка ресурсов в кэш.
— построение начального графа сцены.
— выполнение покадровой логики.&lt;/p&gt;&lt;p&gt;Вот самая маленькая интересная программа: спрайт, отскакивающий в пределах своих границ. Отредактируйте исходный код в собственном проекте — и тот же код будет работать точно так же.&lt;/p&gt;&lt;p&gt;Что только что произошло&lt;/p&gt;&lt;p&gt;**** просит Phaser выбрать наилучший рендерер (WebGL там, где он доступен, иначе Canvas).
Конфигурация включает физику Arcade без гравитац…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Основные концепции</title><link>https://cadmus.page/phaser/02-concepts/00-overview/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/00-overview/</guid><description>Ментальная модель, лежащая в основе Phaser 4 — для чего нужна каждая подсистема и как они сочетаются друг с другом.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Страницы этого раздела объясняют, почему Phaser устроен именно так. Это не рецепты — за рецептами обращайтесь к разделу Руководства, — но используемая здесь терминология встречается на протяжении всей остальной энциклопедии.&lt;/p&gt;&lt;p&gt;Игровой цикл — как планируются и и что на самом деле означает .
Сцены — единица «экрана» или «режима» в Phaser и то, как несколько сцен сосуществуют.
Игровые объекты — сохраняемый (retained) список отображения, трансформации и разница между и .
Камеры — вьюпорты, прокрутка, масштабирование и эффекты.
Ввод — клавиатура, указатель и геймпад, а также то, как Phaser направляе…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Игровые объекты</title><link>https://cadmus.page/phaser/02-concepts/game-objects/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/game-objects/</guid><description>Сохраняемый (retained-mode) список отображения — что такое игровые объекты, как работает иерархия трансформаций и когда какой встроенный тип использовать.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Игровой объект — это всё, что живёт в графе сцены и может быть отрисовано, трансформировано или проверено на попадание. Phaser использует рендеринг в retained-mode (сохраняемом режиме): вы создаёте объекты один раз, изменяете их свойства, а рендерер отрисовывает то, что существует в текущий момент. Никакого покадрового вызова «нарисовать спрайт в (x, y)» нет.&lt;/p&gt;&lt;p&gt;Эмпирическое правило: сначала тянитесь к ; переходите к только тогда, когда нужны анимации.&lt;/p&gt;&lt;p&gt;Иерархия трансформаций&lt;/p&gt;&lt;p&gt;Контейнеры образуют дерево. Мировая трансформация каждого дочернего объекта — это его локальная трансформация, скомпонов…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Камеры</title><link>https://cadmus.page/phaser/02-concepts/cameras/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/cameras/</guid><description>Вьюпорты, прокрутка, масштабирование, следование и эффекты — как Phaser решает, что и где отрисовывать.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Камера — это вьюпорт в мировое пространство сцены. У каждой сцены есть как минимум одна (); вы можете добавить ещё для разделённого экрана, миникарт и «картинки в картинке».&lt;/p&gt;&lt;p&gt;Мировые против экранных координат&lt;/p&gt;&lt;p&gt;Мировые координаты — это место, где живут игровые объекты. Они не меняются при движении камеры.
Экранные координаты — это место, куда пиксели попадают на канвас.&lt;/p&gt;&lt;p&gt;Камера отображает одни в другие через , и . Когда нужен оверлей в экранном пространстве (HUD), поместите его в отдельную сцену, камера которой не прокручивается.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Игровой цикл</title><link>https://cadmus.page/phaser/02-concepts/game-loop/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/game-loop/</guid><description>Как Phaser 4 планирует update и render, что означает delta и как писать код, независимый от частоты кадров.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Каждый кадр Phaser выполняет примерно следующее:&lt;/p&gt;&lt;p&gt;Опустошает очередь ввода (события указателя, клавиатуры, геймпада, полученные с прошлого кадра).
Вызывает каждой активной сцены.
Выполняет шаг физического мира.
Отрисовывает список отображения на канвас.&lt;/p&gt;&lt;p&gt;— это монотонная отметка времени в миллисекундах; — число миллисекунд, прошедших с предыдущего кадра.&lt;/p&gt;&lt;p&gt;Независимость от частоты кадров&lt;/p&gt;&lt;p&gt;Самое важное правило:&lt;/p&gt;&lt;p&gt;&amp;gt; Умножайте перемещение и скорости на , а не на константу.&lt;/p&gt;&lt;p&gt;Это касается физических скоростей, которые вы задаёте вручную, таймеров анимации, темпов эмиссии частиц и всего остального, чт…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Сцены</title><link>https://cadmus.page/phaser/02-concepts/scenes/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/scenes/</guid><description>Единица «экрана» или «режима» в Phaser — жизненный цикл, параллельные сцены и передача данных.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Сцена — это самодостаточный мир: ей принадлежат список отображения, камера, обработчик ввода и (опционально) физический мир. запускает одну или несколько сцен; у каждой свой цикл обновления.&lt;/p&gt;&lt;p&gt;Сцена, которая была остановлена и затем запущена снова, увидит повторный вызов / / — соотносите каждый с тем , после которого он наводит порядок.&lt;/p&gt;&lt;p&gt;Несколько сцен одновременно&lt;/p&gt;&lt;p&gt;Сцены не являются взаимоисключающими. Распространённые шаблоны:&lt;/p&gt;&lt;p&gt;Постоянная сцена HUD работает параллельно с игровой сценой.
Сцена меню паузы располагается поверх; игровая сцена приостановлена, но не остановлена.
Долгоживущая сцена…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Ввод</title><link>https://cadmus.page/phaser/02-concepts/input/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/input/</guid><description>Клавиатура, указатель (мышь + касания) и геймпад — и то, как Phaser направляет события игровым объектам.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Phaser объединяет клавиатуру, указатель (мышь + касания) и геймпад за единым менеджером ввода, доступным как .&lt;/p&gt;&lt;p&gt;Два допустимых стиля:&lt;/p&gt;&lt;p&gt;Опрос подходит для непрерывных действий (движение); события подходят для дискретных действий (прыжок, выстрел, выбор в меню).&lt;/p&gt;&lt;p&gt;Указатель всегда сообщает экранные координаты. Используйте для преобразования.&lt;/p&gt;&lt;p&gt;Интерактивность отдельных объектов&lt;/p&gt;&lt;p&gt;Для семантики «кликнуть по этому спрайту» включите объект в обработку:&lt;/p&gt;&lt;p&gt;Phaser проверяет границы объекта (по умолчанию прямоугольник; попиксельно, если запрошено) и генерирует события только тогда, когда указатель действит…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Загрузчик и ресурсы</title><link>https://cadmus.page/phaser/02-concepts/loader/</link><guid isPermaLink="true">https://cadmus.page/phaser/02-concepts/loader/</guid><description>Как работает конвейер ресурсов — постановка в очередь в preload, типизированный кеш и шаблоны для больших игр.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;У каждой сцены есть загрузчик (), который ставит запросы на ресурсы в очередь во время . Когда возвращает управление, загрузчик отрабатывает до конца, прежде чем будет вызван .&lt;/p&gt;&lt;p&gt;Каждая запись регистрируется под строковым ключом. Соответствующий кеш предоставляет типизированные методы доступа — , и т. д.&lt;/p&gt;&lt;p&gt;Чтобы показать индикатор прогресса, подпишитесь на события загрузчика во время :&lt;/p&gt;&lt;p&gt;Распространённый шаблон — крошечная сцена Boot, которая загружает ресурсы самого индикатора загрузки, а затем переходит к сцене Preload, загружающей всё остальное.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Настройка проекта</title><link>https://cadmus.page/phaser/01-start/project-setup/</link><guid isPermaLink="true">https://cadmus.page/phaser/01-start/project-setup/</guid><description>Рекомендуемая структура проекта, инструменты сборки и настройки TypeScript для серьёзных проектов на Phaser 4.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Для наброска или однофайлового демо достаточно фрагмента из раздела установка. Для настоящего проекта несколько решений сэкономят вам недели.&lt;/p&gt;&lt;p&gt;Vite — рекомендуемая отправная точка: Phaser 4 поставляется в формате ESM, а Vite обрабатывает URL ресурсов и HMR без настройки.&lt;/p&gt;&lt;p&gt;Структура, которая масштабируется от джем-игры до выпущенного проекта:&lt;/p&gt;&lt;p&gt;По возможности держите свободным от импортов Phaser — чистую логику проще тестировать.&lt;/p&gt;&lt;p&gt;Phaser 4 поставляется со строгими типами. Используйте их:&lt;/p&gt;&lt;p&gt;Нюансы горячей перезагрузки&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Установка</title><link>https://cadmus.page/phaser/01-start/installation/</link><guid isPermaLink="true">https://cadmus.page/phaser/01-start/installation/</guid><description>Установка Phaser 4 через npm или CDN и проверка установки на однострочной сцене.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Phaser 4 поставляется с собственными типами TypeScript — пакет не нужен.&lt;/p&gt;&lt;p&gt;Для быстрых экспериментов или однофайловых демо:&lt;/p&gt;&lt;p&gt;отслеживает последний релиз ветки 4.x. В продакшене закрепляйте точную версию (например, ), чтобы новый релиз не изменил поведение вашего кода. Текущие релизы смотрите в списке изменений.&lt;/p&gt;&lt;p&gt;Минимально возможная программа на Phaser 4 — чёрный холст, готовый принимать игровые объекты:&lt;/p&gt;&lt;p&gt;Если вы видите текст на чёрном фоне — всё настроено. Переходите к разделу Ваша первая сцена.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Что такое Phaser 4?</title><link>https://cadmus.page/phaser/01-start/what-is-phaser-4/</link><guid isPermaLink="true">https://cadmus.page/phaser/01-start/what-is-phaser-4/</guid><description>Знакомство с Phaser 4 — что это такое, чем он не является и чем отличается от Phaser 3.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Phaser 4 — это фреймворк для создания 2D-игр в вебе. Он отрисовывает графику через WebGL (с откатом на Canvas), работает во всех современных браузерах и поставляется как библиотека, изначально ориентированная на TypeScript.&lt;/p&gt;&lt;p&gt;Архитектуру на основе сцен для организации состояния игры и отрисовки.
Список отображения игровых объектов с сохранением состояния (спрайты, текст, фигуры, контейнеры).
Загрузчик ресурсов с типизированным кэшем.
Подключаемую физику (Arcade для быстрой обработки AABB, Matter для полноценной физики твёрдых тел).
Ввод с клавиатуры, указателя (мышь + сенсор) и геймпада.
Систем…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Гайды</title><link>https://cadmus.page/phaser/03-guides/00-overview/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/00-overview/</guid><description>Практические рецепты для систем, которые вы действительно будете использовать — физика, тайлмапы, анимация, аудио, частицы, шейдеры и плагины.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Гайды — это документы в формате how-to. Каждый из них от начала до конца разбирает одну задачу с рабочим кодом. Если нужно понять почему, см. Основные концепции; если нужно узнать что, см. Справочник API.&lt;/p&gt;&lt;p&gt;Физика
 - Arcade-физика — быстрые AABB-столкновения для платформеров, шмапов и большинства аркадных игр.
 - Matter-физика — полноценная симуляция твёрдых тел с сочленениями и стопками объектов.
Тайлмапы — загрузка карт Tiled, слои и столкновения.
Анимация — покадровые анимации и менеджер анимаций.
Твины — интерполяция любого числового свойства во времени.
Аудио — интеграция с Web Audio, музы…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Анимация</title><link>https://cadmus.page/phaser/03-guides/animation/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/animation/</guid><description>Покадровые анимации из спрайт-листов и атласов — определение, воспроизведение, объединение в цепочки и реакция на события анимации.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Система анимации Phaser 4 воспроизводит последовательности кадров текстуры на объекте . Анимации определяются один раз на уровне сцены (или глобально), а затем воспроизводятся на любом количестве спрайтов — определение и воспроизведение разделены.&lt;/p&gt;&lt;p&gt;Где хранятся анимации&lt;/p&gt;&lt;p&gt;* — менеджер анимаций уровня сцены. Анимации хранятся здесь по умолчанию.
(редко) — глобальный менеджер, который можно использовать для совместного использования определений между сценами.&lt;/p&gt;&lt;p&gt;Почти всегда используйте менеджер уровня сцены. Совместное использование между сценами склонно к утечкам состояния.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Аудио</title><link>https://cadmus.page/phaser/03-guides/audio/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/audio/</guid><description>Интеграция Web Audio в Phaser 4 — музыка против звуковых эффектов, разблокировка по жесту пользователя, микширование и пространственный звук.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Phaser 4 оборачивает браузерный Web Audio API за . Аудио загружается через стандартный загрузчик и воспроизводится через типизированный менеджер звука.&lt;/p&gt;&lt;p&gt;Всегда поставляйте как минимум два формата. OGG покрывает Firefox и Chrome; для Safari нужен MP3 или M4A.&lt;/p&gt;&lt;p&gt;возвращает звук, но не сохраняет ссылку на него — используйте + , когда нужно управлять звуком после запуска (пауза, затухание, изменение громкости).&lt;/p&gt;&lt;p&gt;Разблокировка по жесту пользователя&lt;/p&gt;&lt;p&gt;Браузеры не запускают аудио до тех пор, пока страница не получит жест пользователя (клик, нажатие клавиши, касание). Phaser обнаруживает это и разблокир…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Частицы</title><link>https://cadmus.page/phaser/03-guides/particles/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/particles/</guid><description>Эмиттер частиц — типичные эффекты, анатомия конфигурации и компромиссы производительности, которые действительно важны.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Эмиттер частиц порождает множество короткоживущих спрайтов со случайными свойствами и (опционально) интерполированным временем жизни. В Phaser 4 поставляется единый класс эмиттера, который покрывает всё — от дымового шлейфа до сотрясающего экран взрыва.&lt;/p&gt;&lt;p&gt;Случайность для каждой частицы через объекты-диапазоны. рандомизирует начальное значение; интерполирует от начального к конечному значению на протяжении времени жизни частицы.
Темп для всего эмиттера через + . Вместе они задают «частиц в секунду». переключает в режим взрыва — испустить частиц одновременно при вызове .&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Физика Arcade</title><link>https://cadmus.page/phaser/03-guides/physics-arcade/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/physics-arcade/</guid><description>Быстрая AABB-физика для платформеров, шутеров и большинства аркадных игр — тела, столкновения, группы и подводные камни, на которые натыкаются новички.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Arcade — это быстрая система физики Phaser 4. Она моделирует всё как ограничивающие прямоугольники, выровненные по осям (AABB) или окружности — без вращения, без стопок твёрдых тел, без соединений. Взамен вы получаете систему, достаточно быструю, чтобы обсчитывать сотни тел за кадр на телефоне.&lt;/p&gt;&lt;p&gt;Когда использовать Arcade&lt;/p&gt;&lt;p&gt;Используйте Arcade, когда выполняются все условия:&lt;/p&gt;&lt;p&gt;Вам не нужна вращательная физика («наклонённый ящик лежит на склоне»).
Вам не нужна укладка стопкой («ящики правильно складываются в кучу»).
Вам не нужны соединения, ограничения или составные тела.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Физика Matter</title><link>https://cadmus.page/phaser/03-guides/physics-matter/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/physics-matter/</guid><description>Полноценная симуляция твёрдых тел для укладки стопкой, соединений, составных тел и всего, что не может смоделировать Arcade.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Matter — это тяжеловесный вариант физики. Он моделирует настоящие твёрдые тела — с вращением, трением, упругостью, соединениями, ограничениями и произвольными полигональными формами — ценой большей нагрузки на процессор на одно тело и более сложного API.&lt;/p&gt;&lt;p&gt;Когда использовать Matter&lt;/p&gt;&lt;p&gt;Выбирайте Matter, как только вам понадобится что-либо из перечисленного:&lt;/p&gt;&lt;p&gt;Вращение. Наклонённый ящик, который приходит в состояние покоя на склоне под правильным углом.
Укладка стопкой. Куча ящиков, которая реалистично оседает.
Соединения / ограничения. Верёвки, цепи, шарниры, пружины, моторизованные колёса.
Составн…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Плагины</title><link>https://cadmus.page/phaser/03-guides/plugins/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/plugins/</guid><description>Создание и использование плагинов Phaser 4 — три формы плагинов (глобальный, сценический, игрового объекта) и разобранный пример системы сохранения.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Плагин — это самодостаточный модуль, встраивающийся в жизненный цикл Phaser. Phaser 4 поддерживает три формы, каждая со своей областью видимости и жизненным циклом:&lt;/p&gt;&lt;p&gt;Выбирайте наименьшую подходящую область видимости. Глобальный плагин, который использует лишь одна сцена, — это просто утечка.&lt;/p&gt;&lt;p&gt;Класс, расширяющий . Он создаётся один раз при запуске игры и доступен отовсюду через .&lt;/p&gt;&lt;p&gt;Зарегистрируйте его в конфигурации игры:&lt;/p&gt;&lt;p&gt;создаёт экземпляр немедленно; делает его доступным как в каждой сцене. Без к нему обращаются через .&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Переходы между сценами</title><link>https://cadmus.page/phaser/03-guides/scene-transitions/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/scene-transitions/</guid><description>API `scene.transition()` — анимированная передача управления между сценами с одновременной работой обеих сцен в момент наложения.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;переключает сцены жёстко — уходящей сцены срабатывает раньше, чем входящей. даёт окно наложения, в котором обе сцены работают вместе — идеально для перекрёстных затуханий (crossfade), въездов (slide-in) и эффектов «сдвинуть одну сцену за пределы экрана, пока следующая въезжает».&lt;/p&gt;&lt;p&gt;Читается так: «запусти параллельно со мной; в течение следующих 600 мс вызывай со значением прогресса; когда переход завершится, сделай со мной X (sleep / shutdown / remove)».&lt;/p&gt;&lt;p&gt;и целевой сцены срабатывают немедленно. Её выполняется каждый кадр начиная с нулевого кадра перехода. Уходящая сцена тоже продолжает обновлять…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Шейдеры</title><link>https://cadmus.page/phaser/03-guides/shaders/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/shaders/</guid><description>Собственные WebGL-эффекты в Phaser 4 — встроенная библиотека фильтров (Filter), свой GLSL через игровой объект Shader и место RenderNodes во всём этом.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Система из Phaser 3 в Phaser 4 отсутствует. Три замены покрывают почти все сценарии:&lt;/p&gt;&lt;p&gt;Пайплайны, , и больше не существуют. Если вы портируете проект с v3, см. Миграция с Phaser 3 для механических замен.&lt;/p&gt;&lt;p&gt;Фильтры: встроенный каталог&lt;/p&gt;&lt;p&gt;Каждый игровой объект и каждая камера предоставляют свойство со списками фильтров и . Внутренние (internal) фильтры воздействуют на сам объект; внешние (external) фильтры воздействуют на контекст отрисовки (как правило, на весь экран).&lt;/p&gt;&lt;p&gt;Полный набор поставляется с v4: , , , , , , , , , , , , , , , , , , , , , , , . Каждый вызов возвращает контроллер, который можно…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Тайлмапы</title><link>https://cadmus.page/phaser/03-guides/tilemaps/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/tilemaps/</guid><description>Загрузка карт Tiled в формате JSON, отрисовка слоёв, построение столкновений и изменение тайлов во время выполнения.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Система тайлмапов Phaser 4 читает JSON-экспорты из Tiled. Вы создаёте карту во внешнем редакторе, а Phaser берёт на себя отрисовку, столкновения и изменение во время выполнения.&lt;/p&gt;&lt;p&gt;Задействованы два файла: JSON карты и изображение тайлсета, на которое она ссылается.&lt;/p&gt;&lt;p&gt;Затем собираем карту и её слои:&lt;/p&gt;&lt;p&gt;Третий и четвёртый аргументы — мировые координаты левого верхнего угла слоя, обычно .&lt;/p&gt;&lt;p&gt;Три идиоматичных способа отметить, какие тайлы участвуют в столкновениях:&lt;/p&gt;&lt;p&gt;Затем добавляем коллайдер:&lt;/p&gt;&lt;p&gt;Для односторонних платформ, склонов и других столкновений с учётом угла см. справочник API — методы и специфичн…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Твины</title><link>https://cadmus.page/phaser/03-guides/tweens/</link><guid isPermaLink="true">https://cadmus.page/phaser/03-guides/tweens/</guid><description>Система твинов Phaser 4 — интерполяция любого числового свойства во времени. Цели, функции плавности (easing), цепочки, твины значений и подводные камни.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Твин интерполирует значение во времени. Вы направляете твин на один или несколько объектов и указываете, какие свойства менять, как и за какую длительность — Phaser берёт на себя покадровые вычисления.&lt;/p&gt;&lt;p&gt;Твины — самая часто используемая утилита в коде на Phaser: затухания, плавные перемещения камеры, отскок UI, появление диалогов, анимации значений, управляющие пользовательской логикой.&lt;/p&gt;&lt;p&gt;Читается так: «перемести к 400 за 1000 мс, используя функцию плавности по умолчанию». Phaser захватывает текущее значение в момент старта твина и интерполирует от него.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Базовый спрайт</title><link>https://cadmus.page/phaser/04-examples/basic-sprite/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/basic-sprite/</guid><description>Минимально возможный пример Phaser 4 — загрузить текстуру и однократно её отрисовать.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;выбирает WebGL там, где он поддерживается, иначе Canvas.
монтирует игру в , предоставляемый iframe песочницы.
Изображение загружается по сети — пока оно подгружается, песочница ненадолго покажет пустой canvas.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Примеры</title><link>https://cadmus.page/phaser/04-examples/00-overview/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/00-overview/</guid><description>Запускаемые примеры Phaser 4 — каждый представляет собой изолированную песочницу, которую можно прочитать, форкнуть и изменить.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Каждый пример здесь выполняется в изолированном iframe с зафиксированной сборкой Phaser 4. Исходный код на странице — это в точности тот код, который выполняется; никакой скрытой настройки нет.&lt;/p&gt;&lt;p&gt;Базовый спрайт — загрузить текстуру и отрисовать её.
Движение клавиатурой — перемещение спрайта на WASD / стрелках, в стиле опроса ввода со скоростью на основе delta-time.
Переход между сценами — затухание между двумя сценами через API затухания камеры.
Цепочка твинов — выстроить последовательность эффектов-твинов на одном объекте.
Реакция на столкновение — клик создаёт физические шарики, которые сталк…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Реакция на столкновение</title><link>https://cadmus.page/phaser/04-examples/collision-response/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/collision-response/</guid><description>Клик в любом месте создаёт физический шарик — шарики сталкиваются друг с другом и с границами мира.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Физическая группа с удерживает каждого участника внутри canvas.
заставляет участников группы сталкиваться друг с другом — именно второй проход по группе даёт отскок шариков друг от друга.
переключает тело с прямоугольного AABB по умолчанию на круг. Arcade в Phaser по умолчанию использует прямоугольники даже для круглых спрайтов.
События указателя срабатывают на iframe — / уже в координатах canvas.
См. Arcade Physics для групп, коллайдеров, пересечений и прочего.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Движение клавиатурой</title><link>https://cadmus.page/phaser/04-examples/keyboard-movement/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/keyboard-movement/</guid><description>Перемещение спрайта на WASD или стрелках с опросом ввода каждый кадр и скоростью на основе delta-time.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Сначала кликните по песочнице, чтобы iframe получил фокус клавиатуры.
даёт готовые к опросу .
позволяет добавить поддержку WASD одной строкой.
Движение задаётся как — пиксели в секунду, независимо от частоты кадров. См. Игровой цикл.
Стиль опроса подходит для непрерывного движения; события — для дискретных действий (прыжок, выстрел). См. Ввод.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Залп частиц</title><link>https://cadmus.page/phaser/04-examples/particle-burst/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/particle-burst/</guid><description>Клик в любом месте запускает однократный взрыв через режим explode эмиттера частиц.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;* не даёт эмиттеру непрерывно порождать частицы, оставляя возможность запускать залпы по требованию.
немедленно порождает частиц в заданной мировой позиции.
* даёт яркий эффект «свечения» — переключитесь на , если хотите более чёткие, менее «раскалённые» частицы.
Сам эмиттер находится в — позиции частиц абсолютны, поскольку мы переопределяем их через . Для следа за игроком разместите эмиттер и используйте поведение по умолчанию (испускание из центра).
См. руководство по частицам для зон эмиттера, типовых рецептов (дым / взрыв / след) и производительности.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Пересечение в физике (подбираемые предметы)</title><link>https://cadmus.page/phaser/04-examples/physics-overlap/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/physics-overlap/</guid><description>Заходите в звёзды, чтобы собирать их — канонический паттерн «пересечение как триггер» с подсчётом очков.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Сначала кликните по песочнице, чтобы передать ей фокус клавиатуры.
против : overlap вызывает колбэк при пересечении ограничивающих рамок без их разделения — идеально для подбираемых предметов, триггеров, хитбоксов. разделяет тела и не даёт им проникать друг в друга — для стен, полов, врагов.
Удобство групп: один вызов охватывает каждую монету в группе. Не нужно настраивать каждую монету по отдельности.
**** удаляет монету из сцены и из группы; последующие проверки пересечения автоматически её пропускают.
См. Arcade Physics для групп, динамических и статических тел, подводных камней с туннели…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Переход между сценами</title><link>https://cadmus.page/phaser/04-examples/scene-transition/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/scene-transition/</guid><description>Затухание между двумя сценами через API fade-out / fade-in камеры.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Массив регистрирует несколько сцен; по умолчанию запускается первая.
затемняет камеру; делает обратное.
О завершении сигнализирует событие — идеальное место для смены сцен.
заменяет текущую сцену (в отличие от , который запускает её параллельно — полезно для HUD и меню паузы).
Остальную часть жизненного цикла см. в Сцены.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Шейдерный фильтр (Glow)</title><link>https://cadmus.page/phaser/04-examples/shader-filter/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/shader-filter/</guid><description>Применить встроенный фильтр Glow к спрайту и анимировать его силу твином.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;* — один из встроенных фильтров Phaser 4. Полный набор: , , , , , , , , , , , , , , , , , , , , , , , .
Списки против : внутренние (internal) фильтры влияют только на сам объект; внешние (external) влияют на объект в его контексте отрисовки (обычно на весь экран). Для Glow обычно нужен , поскольку свечение выходит за пределы исходных пикселей.
Возвращаемый Controller — обычный объект: такие свойства, как , и , дружелюбны к твинам, что делает анимацию эффекта тривиальной.
Примечание: Bloom — это не один фильтр.* В v3 был FX-эффект ; в v4 он собирается через , который внутри настраивает нескол…&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Цепочка твинов</title><link>https://cadmus.page/phaser/04-examples/tween-chain/</link><guid isPermaLink="true">https://cadmus.page/phaser/04-examples/tween-chain/</guid><description>Выстроить последовательность эффектов-твинов на одном объекте — перемещение, вращение, затухание, сброс, цикл.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Каждый элемент в — это полноценная конфигурация твина: собственные , , , колбэки.
Цепочка выполняет их последовательно, фиксируя текущее значение каждого свойства в момент старта.
Внешний перезапускает цепочку — паттерн «вечного цикла». (Для более простых циклов можно также использовать на обычном твине.)
См. руководство по твинам для цепочек, value-твинов и остальной части API.&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item><item><title>[Phaser] Глоссарий — термины Phaser глазами веб-разработчика</title><link>https://cadmus.page/phaser/05-glossary/01-terms/</link><guid isPermaLink="true">https://cadmus.page/phaser/05-glossary/01-terms/</guid><description>Короткие определения ключевых понятий Phaser 4 с аналогами из веба и других движков.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Сводный список терминов Phaser 4, которые встречаются в энциклопедии. Phaser живёт прямо в
браузере на JavaScript/TypeScript, поэтому веб-аналогии здесь особенно близки.&lt;/p&gt;&lt;p&gt;Game — корневой объект (): создаёт canvas, заводит игровой цикл,
менеджеры рендера, ввода, звука и сцен. Аналог: корень приложения (), который
монтируется в DOM один раз.&lt;/p&gt;&lt;p&gt;Scene — самостоятельный «экран» или режим: владеет своим списком отображения, камерой,
обработчиком ввода и (опционально) миром физики. Аналог: маршрут (route) в SPA. Сцены не
взаимоисключающие — несколько могут идти параллельно (геймплей + HUD + пауза).&lt;/p&gt;</content:encoded><category>phaser</category><author>Konstantin Ryzhov</author></item></channel></rss>