Unity序列化

Unity序列化

Unity 的序列化是作用于 C# 类的字段 而非属性。

序列化规则

对于需要被序列化的字段,需要遵守一些规则

  • 访问修饰符是 public,或者具有 SerializeField 特性
  • static
  • const
  • 可以被序列化的字段类型
    • 基础数据结构(int, float, double, bool, string 等)
    • 枚举(32 位 或 以下)
    • 固定大小的缓冲区
    • Unity 内置类型(Vector2, Vector3, Rect, Color, Matrix4x4等)
    • 具有 Serializable 特性的 结构 与 类
    • 派生自 UnityEngine.Object 的对象引用(如 MonoBehaviour, ScriptableObject
    • Array,与 List<T> 容器(包含数据类型必须可以被序列化才行,只支持一维,不支持嵌套容器,多维数组)

属性序列化

  • 只有属性有明确支持字段,且字段是可以序列化的情况下,才可属于序列化。
  • Unity 热重载期间可以使用自动属性来序列化

其余情况下,都不可以使用属性序列化。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity序列化监视面板是指将数据以可视化的形式显示在Unity编辑器的Inspector面板上的过程。默认情况下,Unity无法直接序列化Dictionary类型的数据到Inspector面板中。因此,我们需要进行额外的处理来实现这个功能。 为了实现Dictionary类型的序列化,可以通过创建一个SerializableDictionary类来解决这个问题。SerializableDictionary类是一个自定义的类,用于存储Dictionary中的键值对,并实现了Unity的ISerializationCallbackReceiver接口以实现序列化和反序列化。通过自定义SerializableDictionary类,我们可以在Inspector面板中显示并编辑Dictionary中的数据。 在Unity中,序列化是一种将数据从内存中转换成可存储或传输的格式的过程,而反序列化则是将数据从存储或传输的格式转换回内存中的过程。Unity的数据存储,包括本地类PlayerPrefs、Inspector以及Prefab等,都使用了序列化和反序列化的知识。通过序列化,我们可以方便地在Inspector面板中配置和编辑Unity对象的属性和数据。 通过以上的方法,我们可以实现Unity中的Dictionary类型数据的序列化和在Inspector面板中的显示。这样可以方便地配置和编辑Unity对象的属性,并进行必要的调整和修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【100个 Unity实用技能】 ☀️ | 将Dictionary字典中的数据序列化Unity Inspector监视器面板](https://blog.csdn.net/zhangay1998/article/details/129135799)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Unity中的序列化与反序列化](https://blog.csdn.net/weixin_39668571/article/details/113547537)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值