Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

PreferBinarySerialization

класс в UnityEngine / Реализовано в: UnityEngine.CoreModule

Описание

Предпочитайте производный тип ScriptableObject для использования двоичной сериализации независимо от режима сериализации ресурсов проекта.

Это полезно для пользовательских типов объектов, содержащих большие объемы данных. Хранение их всегда в двоичном виде может повысить производительность чтения/записи, а также создать более компактные представления на диске. Основным недостатком является то, что двоичные файлы активов больше не читаются человеком, и вы больше не можете объединять их в своем программном обеспечении для контроля версий.

Сериализация ресурсов в Unity всегда использует согласованный режим сериализации для всего файла. В результате, когда файл ресурсов содержит несколько ресурсов, не всегда возможно учесть желание принудительно использовать двоичную сериализацию для определенного ресурса. Режим сериализации файла актива контролируется основным активом по этому пути. В результате необходимо соблюдать осторожность при составлении сложных активов с помощью AssetDabase.CreateAsset и AssetDatabase.AddObjectToAsset, чтобы убедиться, что основным активом является объект с этим установленным атрибутом. Файлы сцен всегда следуют режиму сериализации ресурсов, настроенному в проекте, поэтому PreferBinarySerialization всегда игнорируется для ресурсов, встроенных в сцены.

Атрибут можно применять только к классам, производным от ScriptableObject, он будет игнорироваться для всех остальных типов.

using UnityEngine; // Custom asset type that prefers binary serialization. // // Create a new asset file by going to "Asset/Create/Custom Data". // If you open this new asset in a text editor, you can see how it // is not affected by changing the project asset serialization mode. // [CreateAssetMenu] [PreferBinarySerialization] public class CustomData : ScriptableObject { public float[] lotsOfFloatData = new[] { 1f, 2f, 3f }; public byte[] lotsOfByteData = new byte[] { 4, 5, 6 }; }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3