Сериализация и десериализация в Unity | OTUS
Запланируйте обучение с выгодой в Otus!
-15% на все курсы до 22.11 Забрать скидку! →
Выбрать курс

Сериализация и десериализация в Unity

C__HeadlineSEO_970x70-1801-f7b24e.png

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

Итак, в движке Unity действует поток сериализации/десериализации. Он загружает в память ресурсы, которые расположены на диске, причем, если мы говорим идет о проекте, то речь идет о редактировании либо тестовом прогоне игры, если о самой игре, то речь идет о ресурсах, используемых при загрузке сцены. Так вот, существующая в Unity система отвечает за сохранение состояния предварительно отредактированных объектов и компонентов, то есть имеется в виду обратное сохранение в соответствующих сценах и шаблонных экземпляров.

Если говорить простыми словами, система сериализации -- это ключевой элемент работы с редактором Unity. Для того, чтобы MonoBehavior смог принять ввод во время конструировании сцены и в ходе ее последующей инициализации, данные поля должны быть сериализованы.

ar82ivdvkwk0lisuqvc3_vii_nm_1-1801-004fb9.png

В большинстве базовых типов Unity, к примеру, в GameObject и MonoBehavior, ресурсы поддаются сериализации, то есть они способны получать исходные значения во время своего создания непосредственно из Unity-редактора. А публичные поля в MonoBehavior сериализуются по дефлоту (когда они относятся к сериализуемому типу), в то время как приватные поля для этой цели следует сначала пометить атрибутом Unity [SerializeField], в результате чего их тоже можно будет сериализовать.

По материалам https://blog.eyas.sh/2020/10/unity-for-engineers-pt1-basic-concepts/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Черная пятница в Otus! ⚡️
Скидка 15% на все курсы до 22.11 →