Odin扩展序列化
参考 https://odininspector.com/tutorials/serialize-anything/odin-serializer-quick-start
定义序列化类
Odin 序列化是在unity内置序列化的基础上进行扩展,而不是取代
本质上是实现了 ISerializationCallbackReceiver 接口,在 unity 序列化之后执行 Odin 序列化进行补充
-
从这些类派生的类,会自动执行 Odin 序列化:
- SerializedBehaviour
- SerializedComponent
- SerializedMonoBehaviour
- SerializedNetworkBehaviour
- SerializedScriptableObject
- SerializedStateMachineBehaviour
- SerializedUnityObject
-
无法从上面类派生的,可以这样
- 如果你的类从 ScriptableObject 派生
[ShowOdinSerializedPropertiesInInspector] public class CustomSerializedScriptableObject : ScriptableObject, ISerializationCallbackReceiver { [SerializeField, HideInInspector] private SerializationData serializationData; void ISerializationCallbackReceiver.OnAfterDeserialize() { UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData); } void ISerializationCallbackReceiver.OnBeforeSerialize() { UnitySerializationUtility.SerializeUnityObject
- 如果你的类从 ScriptableObject 派生

Odin序列化在Unity中是对内置序列化的扩展,通过实现ISerializationCallbackReceiver接口补充Unity序列化。支持从SerializedBehaviour等类派生进行自动序列化,也可以通过特性标记进行序列化。Odin提供额外功能,如支持Dictionary、自引用、循环引用和多种格式(Nodes、Binary、Json)。在迁移过程中,为保持数据不丢失,建议保留原有Unity序列化字段并复制到Odin字段。此外,Odin还提供手动序列化和调试工具。
最低0.47元/天 解锁文章
3536

被折叠的 条评论
为什么被折叠?



