尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Unity 脚本序列化完全指南:原理、规则与实战技巧
1. 序列化序列化是Unity中把数据存储到磁盘中的过程。比如.unity/.prefab这些都是磁盘文件里面包含了序列化的数据存储在磁盘上运行时反序列化这些文件赋值给变量。而非序列化的变量的值在C#编译器IL阶段就赋值上了或者在运行时赋值不在磁盘上存储也就少了反序列化的时间。2. 什么是热重载在编辑器下创建或修改脚本后能够立即生效的过程不需要重新打开VS 或者 Unity也不需要重新编译。更改脚本中的可序列化的变量值时Unity 会先存储到硬盘上然后加载赋值。那些不能序列化的变量值就丢失了因为磁盘上没有存它的值就还是初始值。3. 保存和加载Unity 使用序列化从硬盘上加载 Scenes、Assets、AssetBundles 等资源。这也包括脚本中保存的变量数据比如 MonoBehaviour 组件和 ScriptableObjects。4. 属性面板当在属性面板上更改游戏物体的属性值时Unity 会先序列化该数据然后再把它显示出来。属性面板上更改了之后直接序列化数据覆盖原来的值和脚本没有任何关系即使脚本中该变量有 get/set 属性也不会执行。脚本中定义了变量值在属性面板上给改了之后使用的是面板上的值因为面板是后序列化的。5. 序列化规则Unity 中的序列化是实时运行的所以对性能是有影响的。下面是一些序列化的条件是public或者是 private 但是有 SerializeField 属性的可以序列化非static、const、readonly的可以被序列化简单字段类型可以被序列化自定义的非泛型、非抽象的类且有Serializable属性可以被序列化自定义的结构体 structs带有Serializable属性可以被序列化引用继承自 UnityEngine.Object 的对象可以被序列化基本数据类型int、float、double、bool、string等枚举类型Enum types下面 Unity 内置的类型可以被序列化Vector2、Vector3、Vector4、Rect、Quaternion、Matrix4x4、Color、Color32、LayerMask、AnimationCurve、Gradient、RectOffset、GUIStyle对于私有字段在加载脚本的时候是序列化的被载入了值在外部是不能够对其序列化的。要想在外部对其序列化要加上SerializeField属性含有上面类型的数组和列表可以被序列化字典不可以被序列化。NoteUnity 不支持多级序列化比如多维数组、交叉数组、嵌套类型。如果你想序列化这些有两种方法一个是把嵌套类型封装到类或结构体内第二个是实现 ISerializationCallbackReceiver 的回调函数后面有介绍。6. 序列化的技巧声明变量目的是让 Unity 序列化尽可能小的数据集。这样做的主要目的不是为了节省计算机硬盘上的空间而是确保您可以与项目的前一个版本保持向后兼容。如果您使用大量的序列化数据集那么在开发的后期向后兼容性会变得更加困难。不要序列化重复的数据或缓存的数据。这对向后兼容性造成了重大问题它有很高的出错风险因为数据太容易失去同步。序列化数据独立于数据本身仅依赖于脚本中公开的内容。引用其他对象的唯一方式是通过继承自 UnityEngine.Object 的类。这些类是完全独立的它们只相互引用而不嵌入内容。7. 补充序列化与性能优化理解 Unity 序列化机制对性能优化至关重要。以下是一些补充知识序列化开销Unity 在编辑器模式下每次脚本编译或属性面板刷新时都会执行序列化频繁的序列化操作会带来一定的 CPU 开销。因此合理控制序列化字段的数量和复杂度有助于提升编辑器响应速度同时也会影响反序列化时的加载速度体现在切换场景加载prefab的时候。避免序列化敏感数据序列化数据会以明文形式存储在场景或 Prefab 文件中因此不应将密码、密钥等敏感信息放入可序列化字段中。使用[NonSerialized]排除字段对于不需要序列化的 public 字段可以使用[NonSerialized]特性显式排除避免不必要的序列化开销。自定义序列化回调通过实现ISerializationCallbackReceiver接口可以在序列化和反序列化前后执行自定义逻辑例如对字典进行手动序列化或对数据进行校验和修复。版本兼容性在项目迭代过程中新增或删除序列化字段会影响旧数据的兼容性。建议在修改字段时使用[FormerlySerializedAs]特性保留旧字段名映射确保旧数据能够正确迁移。
RELATED

相关推荐

140. 单词拆分 II(dfs)

140. 单词拆分 II(dfs)

链接&#xff1a;140. 单词拆分 II 题解&#xff1a;140. 单词拆分 II - 力扣&#xff08;LeetCode&#xff09; class Solution { private:// 表示以key为下标开始&#xff0c;value表示可以到达字符串末尾的清空unordered_map<int, vector<string>> ans;unorder…

📅 2026/10/9 3:15:14
mirrors/ali-vilab/text-to-video-ms-1.7b模型优化:知识蒸馏压缩模型体积50%实践

mirrors/ali-vilab/text-to-video-ms-1.7b模型优化:知识蒸馏压缩模型体积50%实践

mirrors/ali-vilab/text-to-video-ms-1.7b模型优化&#xff1a;知识蒸馏压缩模型体积50%实践 【免费下载链接】text-to-video-ms-1.7b 项目地址: https://ai.gitcode.com/hf_mirrors/ali-vilab/text-to-video-ms-1.7b text-to-video-ms-1.7b 是阿里达摩院开源的 17 亿参…

📅 2026/10/16 1:16:54
OSX-KVM GPU 直通实战指南:4 步给 macOS 虚拟机装上独立显卡

OSX-KVM GPU 直通实战指南:4 步给 macOS 虚拟机装上独立显卡

OSX-KVM GPU 直通实战指南&#xff1a;4 步给 macOS 虚拟机装上独立显卡 【免费下载链接】OSX-KVM Run macOS on QEMU/KVM. With OpenCore Monterey Ventura Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system i…

📅 2026/10/7 1:25:47
MORE NEWS

更多资讯

📰

DeepSeek-Harness流式输出核心:StreamChunk语义流与管道优化

1. 这不是“加个loading动画”那么简单&#xff1a;流式输出在Agent系统里的真实战场你有没有遇到过这样的情况&#xff1a;在调试一个基于DeepSeek-Harness构建的Agent时&#xff0c;前端UI卡在“思考中…”长达8秒&#xff0c;然后突然一次性弹出2000字的完整响应&#xff1f…

📰

AI产品经理生存指南:破解高薪短命困局

1. 现象背后的行业真相 去年某互联网大厂高薪聘请的AI产品总监&#xff0c;入职不到180天就被闪电裁员。这并非个案&#xff0c;过去一年里类似案例在科技圈频繁上演。表面看是个人能力问题&#xff0c;实则折射出AI行业从野蛮生长到理性发展的转型阵痛。 我接触过7家头部企业…

📰

AI驱动的Shell环境自动化框架:解决开发环境初始化痛点

1. 这不是又一个“AI写代码”玩具&#xff1a;它解决的是真实开发流水中最耗神的三类重复劳动GitHub趋势榜第7&#xff0c;单日新增476星——这个数字背后不是营销刷量&#xff0c;而是大量一线开发者在深夜提交star时的真实反馈。我盯着这个项目主页刷新了三次&#xff0c;确认…

📰

企业AI项目技术选型:RAG、Agent与微调实战对比

1. 企业AI项目技术选型的核心困境2026年的企业AI项目正面临前所未有的技术选择难题。作为从业者&#xff0c;我亲眼见证了太多团队在RAG、Agent和微调之间的摇摆不定&#xff0c;最终导致资源浪费和项目延期。最近接触的一个典型案例&#xff1a;某金融科技公司投入300万GPU算力…

📰

知识抽取与表达:从原理到实践的技术解析

1. 知识抽取与表达的核心概念解析 知识抽取&#xff08;Knowledge Extraction&#xff09;是从非结构化或半结构化数据中识别和提取结构化知识的过程。在Web信息处理领域&#xff0c;这通常涉及从网页文本、表格、列表等元素中抽取出实体、属性和关系。我处理过的一个电商评论分…

📰

网页嵌入flowplayer流媒体播放器:Red5与RTMP/HLS版本配置实战

简介&#xff1a;面向需要在网页端集成流媒体播放能力的开发者&#xff0c;这份资源提供了一套基于 Flowplayer 的完整嵌入方案&#xff0c;重点解决 RTMP 流在浏览器中的播放问题。包内共 8 个文件&#xff0c;以 swf 播放器核心与插件、js 脚本、html 示例页为主&#xff0c;…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬