news 2026/8/30 4:37:46

u3d序列化(Serialization)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
u3d序列化(Serialization)

本文将分享u3d序列化相关知识,内容来源于官方,AI和个人理解

一.计算机领域的序列化概念

序列化,就是把内存中的对象,转换成可存储或可传输的文本或二进制的过程。反过来,把字节流恢复成内存对象,叫做反序列化。

序列化的核心目的是让内存中的复杂数据变为可存储或可传输。

通俗点说,序列化就是做数据处理,让内存数据可存储可传输,并且可逆。

序列化物理上是把内存中可序列化的数据,转换为已序列化的数据。

【序列化到】的意思是将序列化后的内存写入文件的意思

二.u3d的序列化概念

Serializationis the automatic process of transforming data structures or GameObject states into a format that Unity can store and reconstruct later.

序列化是将数据结构或游戏对象状态转换为 Unity 可存储并在以后可重构的格式的自动过程。

序列化相关的3个概念:序列化,可序列化,已序列化

概念含义举例
序列化(过程)把数据转为可存储格式保存场景时,Unity把Transform的position写入文件
可序列化(状态)字段被标记为可被序列化[SerializeField] private int health;
已序列化(结果数据已经被保存或加载过预制体中的值已经保存到.meta.asset文件里

参考:脚本序列化

三.序列化系统

unity有自己的序列化系统,这个系统解决什么情况可被序列化,什么时候发生序列化。

首先要理解的是序列化是对谁序列化?类?属性?字段?方法?

序列化的操作对象指的是可序列化的类中满足条件的字段(field)

对类序列化的意思是对类中满足序列化条件的字段进行序列化

四.可序列化的类

4.1 UnityEngine.Object

继承UnityEngine.Object的类均可序列化,主要有MonoBehaviour和ScriptableObject

4.2 自定义类(非继承UnityEngine.Object)

非static的自定义类上方加上[Serializable]特性后可序列化

五.可序列化字段的条件

  • public或具有特性[SerializeField]
  • 非static
  • 非const
  • 非readonly

六.可序列化字段的类型

  • 原始数据类型(int/float/double/bool/string等)
  • 枚举类型(32位或更小)
  • u3d内置类型(Vector2/Vector3/Rect/Color等)
  • [Serializable]修饰的struct
  • 继承Object的对象的引用
  • 上述类型的数组或List<T>

七.发生序列化的时机

7.1 保存和加载

保存和加载场景、资产、AssetBundles时会发生序列化

7.2 修改Inspector

在Inspector中修改值时,unity会在内存中对新值序列化,随后再反序列化更新inspector(无论是否保存场景)

7.3 脚本挂载到对象

将脚本A挂载到对象时,A会发生一次序列化

7.4 创建预制体时

创建预制体B时,B上的所有组件会发生一次序列化,并写入磁盘

7.5 预制体实例化

预制体实例化时,发生反序列化

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 4:36:15

只会Python基础语法,距离求职还有多大差距|数智码力分享

很多没有任何基础进行自学的人群, 普遍存在着一个极大的认知误区, 这个误区就是, 认为学完基础语法, 看懂了配套案例, 能进行简单代码的仿写, 就能够凭借技能去求职上岗, 从而顺利找到技术相关岗位。实际上, 单纯掌握基础语法, 仅仅只是编程入门的最低限度的要求, 距离企业正式…

作者头像 李华
网站建设 2026/8/30 4:35:17

无人机遥感结合小波纹理特征识别离岸流

用无人机&#xff08;UAV&#xff09;遥感影像去识别离岸流指示物&#xff0c;再通过小波变换&#xff08;Wavelet&#xff09;提取海面纹理特征&#xff0c;这个思路在海岸环境监测里不是论文里的孤例&#xff0c;而是已经可以进入日常巡查流程的可行方案。它的核心价值在于&a…

作者头像 李华
网站建设 2026/8/30 4:35:11

SCOUT:用结构化CoT与多目标奖励增强大模型空间推理

这次我们来看一个偏研究向但很值得关注的大模型推理增强方案&#xff1a;SCOUT。全称是SCOUT: Unlocking Enhanced Spatial Reasoning via Structured Chain-of-Thought and Multi-Objective Process Reward&#xff0c;核心要解决的问题很明确——当前大模型在空间推理上经常翻…

作者头像 李华
网站建设 2026/8/30 4:32:54

基于Python的考试系统开发实战:从题库设计到自动判分

简介&#xff1a;本资源是一个基于Python开发的跨平台考试系统完整源码包&#xff0c;面向高校教师、教育类应用开发者及Python全栈学习者&#xff0c;用于快速搭建在线考试、题库管理与移动端应试的一体化解决方案。压缩包共2000个文件&#xff0c;主体为1791个Python源文件&a…

作者头像 李华
网站建设 2026/8/30 4:32:08

LangChain.js入门:从提示词到Agent的AI应用开发

LangChain.js 是面向 JavaScript 和 TypeScript 生态的 AI 应用开发框架。在实际项目里&#xff0c;直接用 LLM API 可以跑通一次对话&#xff0c;但一旦涉及提示词模板、多轮上下文、外部工具调用、RAG 检索这些环节&#xff0c;代码就会迅速变得难以维护。LangChain.js 把这些…

作者头像 李华
网站建设 2026/8/30 4:31:15

从感知到行动:六层连接框架,搭建以人为本的AI系统架构

“以人为本AI”不是一句口号&#xff0c;而是当前AI工程化落地时最值得认真对待的架构思路。这次我们直接把这个话题拆开&#xff1a;从感知到行动&#xff0c;中间到底隔了几层&#xff1f;为什么很多AI项目感知做得很好&#xff0c;一到行动层就崩&#xff1f;答案往往不是模…

作者头像 李华