Files
aego/engine/res/docs/format-catalog.ru.md

183 lines
23 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: formats/source
title: Проект и исходные файлы
summary: Редактируемые исходники проекта, сцен, скриптов, рисунков, анимаций, материалов и данных вместе с метаданными.
---
# Проект и исходные файлы
Выбирайте файл по тому, какую работу нужно сохранить. Это исходники проекта, а не файлы из кэша импорта. Храните исходник ассета и `.meta` вместе в системе контроля версий. В разделе [служебных и runtime-файлов](ref:formats/runtime) перечислены результаты, которые не следует редактировать вместо исходников.
---
id: formats/aego
title: project.aego — настройки проекта
summary: Идентификатор проекта, начальная сцена, окно, модули и общие значения по умолчанию.
---
# project.aego — настройки проекта
`project.aego` — точка входа проекта. Здесь записаны идентификаторы игры и модуля, ссылка на начальную сцену, настройки окна и модулей. Панель настроек проекта изменяет зарегистрированные секции; файл также можно просматривать как структурированный текст.
Пример: фрагмент `render { pixelsPerUnit=64 }` задаёт общую настройку отрисовки, но не является полным проектом. Создавайте необходимую структуру через шаблон нового проекта. Явно сохраните настройки, затем откройте проект повторно или запустите проверки сохранённой конфигурации. Сохраняйте AssetID начальной сцены, а не заменяйте его произвольным путём. См. [поля конфигурации проекта](ref:section/engine) и [настройки игрока](ref:settings).
---
id: formats/aescene
title: .aescene — сцены
summary: Сохранённая иерархия узлов, трансформаций, компонентов и ссылок на ресурсы.
---
# .aescene — сцены
Сцена — структурированный текст с постоянными ID узлов, трансформациями и зарегистрированными компонентами. Откройте её в Scene View, измените иерархию и сохраните документ сцены. Сохранение скрипта или импортированного изображения не сохраняет назначения в сцене автоматически.
Пример: `scenes/main.aescene` может содержать камеру и игрока, у которого SpriteRenderer ссылается на подготовленный спрайт по AssetID. Проверьте результат, закрыв и повторно открыв сохранённую сцену, затем запустив Play. Копия сцены сама по себе не содержит её скрипты, текстуры и префабы. См. [первый проект](ref:quickstart) и [префабы](ref:prefabs).
---
id: formats/aeprefab
title: .aeprefab — переиспользуемые иерархии
summary: Иерархия узлов для повторного использования со ссылками экземпляров и их переопределениями.
---
# .aeprefab — переиспользуемые иерархии
Префаб хранит переиспользуемую иерархию, а не снимок экрана или экспортированную игру. Редактируйте его исходник через работу с префабами; экземпляр в сцене сохраняет связь и собственные переопределения. Применение переопределения к префабу и сохранение сцены — разные операции.
Пример: `prefabs/enemy.aeprefab` задаёт несколько экземпляров врага на уровне. После сохранения исходника проверьте экземпляр без переопределения значения и экземпляр с ним. Сохраняйте метаданные исходника и проверьте зависимости перед переносом префаба в другой проект. См. [префабы](ref:prefabs).
---
id: formats/aes
title: .aes — Aego Script
summary: Типизированные игровые скрипты, компилируемые Aego, а не код Go или готовый runtime-байткод.
---
# .aes — Aego Script
Файл `.aes` объявляет пакет Aego Script и его скрипты, функции и типы. Измените его во встроенном или внешнем текстовом редакторе, сохраните и устраните диагностики компилятора. Компонент скрипта также нужно добавить на нужный узел сцены.
Пример: `scripts/game/spinner.aes` из [первого проекта](ref:quickstart) вращает узел. Проверьте сохранённый скрипт во время Play и в экспортированной игре. Импорт готовит исполняемый код; не редактируйте подготовленный артефакт вместо исходника `.aes`. Нативные расширения используют Go и другой путь сборки; см. [Aego Script](ref:language).
---
id: formats/aeart
title: .aeart — документы рисунков
summary: Собственный контейнер рисунка Aego со слоями, кадрами, ячейками, палитрой, тегами и каналами поверхности.
---
# .aeart — документы рисунков
`.aeart` — собственный контейнер рисунка Aego, а не файл Aseprite. Art Studio редактирует его слои, кадры, связанные ячейки, палитру, длительности, теги и поддерживаемые каналы поверхности через общую историю документа. Сохраните исходник рисунка перед публикацией подготовленных спрайтов и анимаций.
Пример: создайте `assets/hero.aeart`, нарисуйте два кадра, сохраните, закройте и откройте документ для проверки пикселей и длительностей. Связь PNG с рисунком не разрешает перезаписывать PNG. Экспорт interchange-копии `.aseprite` не равен сохранению этого исходника или переносу его постоянных ID. В [руководстве Art Studio](ref:render2d/art) указаны статус рабочей версии и ограничения импорта.
---
id: formats/aepreset
title: .aepreset — пресеты компонентов и скриптов
summary: Переиспользуемые значения компонента или скрипта, в том числе настройки эффектов частиц.
---
# .aepreset — пресеты компонентов и скриптов
Пресет хранит авторские значения компонента или скрипта в текстовом документе со структурой префаба. Импортёр требует корень `prefab`, содержащий компонент или прикреплённый скрипт. Пресет — не полная сцена и не комплект всех используемых текстур и анимаций.
Пример: `assets/effects/dust.aepreset` может хранить настройки ParticleSystem2D. Примените пресет к подходящему узлу, затем отдельно сохраните изменённую сцену или исходник. Проверьте полученный компонент и используемые спрайты во время Play. В разделе [частиц](ref:particles) описаны эмиссия, пространство Local/World и поведение Stop/Clear.
---
id: formats/aedata
title: .aedata — типизированные записи данных
summary: Одна запись зарегистрированного типа со значениями по умолчанию, наследованием и ссылками на ресурсы.
---
# .aedata — типизированные записи данных
Исходник `.aedata` указывает зарегистрированный тип данных и хранит его заданные поля. Совместимая базовая запись поставляет наследуемые значения; записывать достаточно переопределения. Тип должен предоставляться проектом или модулем, прежде чем импортёр сможет проверить запись.
Пример: `assets/data/enemy.aedata` может использовать тип `mygame.EnemyStats` из [руководства по данным](ref:data). Откройте документ данных, измените значение и сохраните. Проверьте диагностики импорта и ссылку получателя. Ссылка читает ассет, а не создаёт изменяемую копию записи во время Play.
---
id: formats/aetable
title: .aetable — типизированные таблицы
summary: Строки одного зарегистрированного типа с уникальными идентификаторами.
---
# .aetable — типизированные таблицы
`.aetable` содержит строки одного зарегистрированного типа. Каждая строка имеет уникальный ID, по которому к ней обращаются получатели. Откройте редактор таблиц для изменения ячеек, фильтрации и сортировки; сохраните документ таблицы для записи исходника.
Пример: `assets/data/loot.aetable` может содержать строки `goblin` и `boss` зарегистрированного типа награды. Сохраняйте ID строк, на которые ссылаются другие данные. Импорт и экспорт CSV — операции обмена, а не замена схемы таблицы, метаданных или Save. После обратного импорта проверьте строки и ссылки. См. [данные](ref:data).
---
id: formats/aemat
title: .aemat — материалы
summary: Ссылка на шейдер, ключевые слова вариантов, типизированные параметры и привязки текстур.
---
# .aemat — материалы
Исходник материала выбирает шейдер и задаёт типизированные значения параметров, ключевые слова и ссылки на текстуры. Документ материала и его шейдер — разные исходники. Сохранение общего материала может повлиять на все использующие его спрайты; переопределения экземпляра имеют другую область действия.
Пример: `assets/materials/hero.aemat` может ссылаться на спрайтовый шейдер; для Custom-эффекта камеры нужен postfx-шейдер. Сохраните исправленный исходник, проверьте актуальный результат импорта и реальное место использования. [MAT004](ref:MAT004) объясняет ошибки назначения и привязки текстур. См. [материалы и шейдеры](ref:render2d/materials).
---
id: formats/aeshader
title: .aeshader — исходники шейдеров
summary: Объявления шейдера, назначение отрисовки, параметры и стадии GLSL для подготовки графическому backend.
---
# .aeshader — исходники шейдеров
`.aeshader` — редактируемый исходник шейдера. Его объявления определяют назначение отрисовки и интерфейс материала; подготовленные данные шейдера имеют другой формат. Подключаемые файлы вроде `.glsl` остаются зависимостями этого исходника, а не самостоятельными материалами.
Пример: `assets/shaders/cold.aeshader` с объявлением `#pragma postfx` предназначен для материала постобработки камеры, а не спрайта. Одно это объявление — фрагмент, а не полный исполняемый шейдер. Сохраните исходник и подключаемые файлы, прочитайте диагностики импорта и проверьте нужный графический backend. [SHD009](ref:SHD009) объясняет ошибки драйвера и связывания со вложенными причинами; см. [материалы и шейдеры](ref:render2d/materials).
---
id: formats/meta
title: .meta — идентификаторы и настройки импорта
summary: Сопутствующие файлы, сохраняющие AssetID, параметры импортёра, нарезку спрайтов и связи исходников.
---
# .meta — идентификаторы и настройки импорта
Сопутствующий `.meta` хранит постоянный идентификатор ассета и параметры импорта. Для изображения он может включать постоянные области спрайтов и связи каналов поверхности. Документ метаданных может иметь несохранённые изменения независимо от пикселей изображения.
Пример: храните `assets/hero.png` и `assets/hero.png.meta` вместе при переименовании или переносе ассета. Предпочитайте операции над ресурсами, обновляющие ссылки. Не удаляйте метаданные ради сброса ошибки импорта: новый ID может разорвать ссылки сцен и анимаций. Явно сохраняйте настройки импорта и разрешайте внешние конфликты до записи. См. [изображения и спрайты](ref:render2d/image-viewer).
---
id: formats/aetext
title: .aetext — структурированный текст
summary: Общий текстовый синтаксис настроек, реестров и нескольких исходных форматов.
---
# .aetext — структурированный текст
`aetext` — синтаксис, а не обещание импортировать любой текстовый документ как игровой ассет. Формат определяет собственные корень, версию, поля и проверки. Настройки и сгенерированные манифесты могут использовать `.aetext`, но имеют разные назначение и правила сохранения.
Пример: проект может содержать фрагмент `render { pixelsPerUnit=64 }`, а `export.aetext` описывает экспортированную сборку. Меняйте исходник или соответствующие настройки, а не сгенерированный манифест. Даже синтаксически корректное неизвестное поле может быть отклонено схемой формата. См. [конфигурацию проекта](ref:formats/aego) и [служебные файлы](ref:formats/runtime).
---
id: formats/runtime
title: Служебные и runtime-файлы
summary: Артефакты импорта, пакеты документационных примеров, манифесты сборки и сохранения игры — не авторские исходники.
---
# Служебные и runtime-файлы
Эти форматы используются импортом, распространением или запущенной игрой. Не заменяйте авторский исходник подготовленным артефактом. Метаданные связывают входные файлы с идентификаторами генерируемых ассетов; строгий экспорт проверяет сохранённые исходники перед упаковкой.
---
id: formats/artifacts
title: Подготовленные артефакты ассетов
summary: Сгенерированные текстуры, области спрайтов, шейдеры, материалы, меши, скрипты, аудио и данные для игры.
---
# Подготовленные артефакты ассетов
Импортёр создаёт runtime-артефакты текстур и страниц атласа, областей спрайтов, сцен, префабов, мешей, скриптов, записей и таблиц данных, пресетов, аудио, клипов и контроллеров анимации, шейдеров с подключаемыми файлами и материалов. Экспорт перечисляет файлы по хэшу содержимого в манифесте ресурсов сборки; имя файла в кэше не становится новым форматом исходника для ручного редактирования.
Примеры: текстуры AETX, метаданные областей спрайта AERG, подготовленные шейдеры AESH, материалы AEMT и аудио AEAU. Эти бинарные сигнатуры не взаимозаменяемы с `.png`, `.aeart`, `.aeshader`, `.aemat` или звуковым исходником. Пересобирайте артефакт из исходника подходящим импортёром, а не исправляйте байты. Сохраняйте всю папку данных экспорта и проверяйте манифест вместо копирования отдельного артефакта. См. [экспорт](ref:cli).
---
id: formats/aetry
title: .aetry — подготовленные примеры документации
summary: Ограниченный набор подготовленных ресурсов сцены Try, а не редактируемый исходный проект.
---
# .aetry — подготовленные примеры документации
Документационный `.aetry` хранит подготовленные runtime-ресурсы в контейнере AETB. Он сопровождает сцену Try, исходный проект которой находится в соответствующем каталоге `.assets`. Генератор проверяет зависимости исходников и импортёров, чтобы устаревший пакет не считался актуальным доказательством проверки.
Пример: `CameraOutput.aetry` содержит подготовленные ресурсы демонстрации эффектов камеры. После изменения исходников нужны генерация и проверка, а не ручная правка пакета. Загрузка одного `.aescene` не включает эти исходники. Полный проект примера — отдельный пакет со скриптами, префабами, исходными ресурсами и метаданными.
---
id: formats/aesave
title: .aesave — сохранения игры
summary: Постоянное состояние игры, записанное системой сохранений, отдельно от Save документов редактора.
---
# .aesave — сохранения игры
Система сохранений записывает документы состояния `.aesave` и необязательные PNG-предпросмотры в хранилище игрока. Это не способ сохранения исходника сцены, скрипта или рисунка. Данные сохранения указывают игру, версию движка, сцену и участвующее сохраняемое состояние.
Пример: команда Save внутри игры записывает слот через API сохранений; загрузка восстанавливает поддерживаемое состояние в соответствующей игре. Измените состояние, сохраните слот и загрузите его снова для проверки. При диагностике несовместимой версии или сцены сохраняйте исходный слот. У настольных профилей и браузерного хранилища разные расположение и ограничения; см. [сохранения игры](ref:save).