在 Unity 中序列化 GameObject
Serialize GameObject in Unity
我 class 喜欢 -
[serializable]
public class DemoClass{
[SerializeField]
public GameObject gameObject;
}
我想使用序列化存储数据。 Unity 文档说 GameObject 是 serializeField。但它给出了异常 -
SerializationException: Type UnityEngine.GameObject is not marked as Serializable.
有人知道吗?
您需要将 [serializable]
属性添加到您希望序列化的 classes。如果您的 class 中的任何 class 尚未序列化,您也需要将此属性添加到那些 class 中。
例如
[Serializable]
public class DemoClass
{
public GameObject gameObject;
public AudioClip audio;
}
在您的 class 姓名前添加标签 [Serializable]
:
[Serializable]
public class DemoClass{
public GameObject gameObject;
public AudioClip audio;
}
编辑: 如果您仍然想序列化 GameObject
它们是一些允许序列化 Unity 对象的插件。参见:Runtime Serialization for Unity
我 class 喜欢 -
[serializable]
public class DemoClass{
[SerializeField]
public GameObject gameObject;
}
我想使用序列化存储数据。 Unity 文档说 GameObject 是 serializeField。但它给出了异常 -
SerializationException: Type UnityEngine.GameObject is not marked as Serializable.
有人知道吗?
您需要将 [serializable]
属性添加到您希望序列化的 classes。如果您的 class 中的任何 class 尚未序列化,您也需要将此属性添加到那些 class 中。
例如
[Serializable]
public class DemoClass
{
public GameObject gameObject;
public AudioClip audio;
}
在您的 class 姓名前添加标签 [Serializable]
:
[Serializable]
public class DemoClass{
public GameObject gameObject;
public AudioClip audio;
}
编辑: 如果您仍然想序列化 GameObject
它们是一些允许序列化 Unity 对象的插件。参见:Runtime Serialization for Unity