Unity3D中序列化字段常使用[SerializeField],序列化类常采用[System.Serializable],非序列化采用[System.NonSerialized]。 序列化类使用时发现一些区别。测试如下: (1) 将脚本第一次拖拽到场景中后,运行程序。发现,对类进行序列化后,id,name会保持在代码中写的字段值。 如果我们退出运行,对检视面板的值进行修改,再运行,如下图所示。那么会始终运行检视面板中修改的值!