Форматы проекта: уровни, префабы и ресурсы
Назначение .rscene, .rprefab, .rdata и .rbin; исходные файлы, UID и данные, которые нужно хранить в Git.
Выбрать файл по назначению
| Что хранить | Формат | Содержимое |
|---|---|---|
| Уровень, который запускает игра | .rscene | Дерево Entity в PackedEntity |
| Повторно используемый объект | .rprefab | То же представление PackedEntity, другая роль исходного ассета |
| Материал, стиль, форма и другой Resource | .rdata | Текстовый Resource с заголовком reckfell_resource |
| Двоичный Resource или PackedEntity | .rbin | Двоичная сериализация ресурса; расширение само по себе не сообщает роль уровня |
| Параметры проекта | project.reckfell | Настройки, включая reckfell/project_schema=1 |
| Прогресс игрока | Своя схема в user:// | См. сохранение данных |
.rscene и .rprefab не являются разными классами Entity и не вводят ECS. Оба загружаются как PackedEntity и создают обычную иерархию объектов. Роль определяется логическим исходным путём. Редактор различает её в Content Browser, вкладках и командах создания; нативный EntityTree.ChangeSceneToFile не запрещает запустить .rprefab. Если проект требует запускать только уровни, задайте это правилом своего загрузчика.
Текст и двоичный файл
Текст удобен для просмотра изменений и слияния в Git. Сохраняйте файлы через редактор или ResourceSaver: сериализатор может изменить порядок записей, опустить значения по умолчанию и удалить комментарии. Не сравнивайте семантику ресурса только по побайтовому совпадению файлов.
Расширение не заменяет содержимое: PackedEntity сохраняется в .rscene/.rprefab, другой Resource — в .rdata. Несогласованные пары отклоняются. .rbin подходит обоим типам; его нельзя получить простым переименованием текстового файла. Проверены запись и загрузка дерева в новом процессе; размер и скорость форматов здесь не сравнивались.
В заголовке встречается format=3 или format=4. Это номер схемы сериализации, а не версия продукта. Для Reckfell 1.0.0 не подставляйте format="1.0.0". Сериализатор выбирает поддерживаемый формат по данным.
Что хранить в Git
Храните project.reckfell, C#-код и проект .NET, исходные .rscene/.rprefab/.rdata, необходимые ассеты и их .uid-файлы. UID может быть встроен в заголовок текстового ресурса; для других поддерживаемых типов применяется сопутствующий файл. Не создавайте копию ассета с чужим UID: независимому ассету нужна собственная идентичность.
.reckfell/ содержит производные данные редактора, импорта и UID-кэш. Его не используют вместо исходников и обычно исключают из Git. Восстановление кэшей требует корректных исходных ассетов и файлов идентичности. Не редактируйте .reckfell/imported вручную, чтобы исправить исходный ресурс.
Перемещение и смена роли
Перемещайте проектные ассеты через Content Browser. Команды Make Scene/Make Prefab меняют расширение и обновляют обнаруженные ссылки; при несохранённых зависимых документах проверенный код редактора просит сначала сохранить их. Строки путей, зашитые в произвольном C#-коде или внешних файлах, нельзя считать автоматически исправленными.
После экспорта физический файл может быть перенаправлен в двоичный ресурс. Роль относится к исходному логическому пути; не определяйте её по имени файла в .reckfell/imported. Шаги редактора и ветки remap сверены с исходниками, но мышиный сценарий смены роли и готовый экспорт в этой проверке не запускались.