Unity YAML

1.YAML文件结构

1)文件头

第一行:YAML版本号

第二行:定义!u!的宏

2)对象定义块

(1)标头格式:

注:1为Class ID,&841.....为FILE ID。

(2)标头下方:对象类型名称 + 全量序列化属性

2.同YAML引用

通过{fileID:FILE ID}格式实现

注:在同一个YAML文件,Transform组件通过m_GameObject引用所属GameObject的File ID。

3.跨YAML引用

1)GUID:整个资产文件的唯一ID,存储在与资产同路径且同名的.meta文件。

2)**.**meta文件:GUID,资产的导入设置与Asset Bundle配置等核心信息。

3)YAML中的Type字段:

注:2代表从Assets文件夹加载资源;3代表处理并写入Library文件夹,并由编辑器从该文件夹中加载资源。

4)脚本序列化:所有自定义脚本均序列化为MonoBehaviour类型,通过m_Script引用脚本自己的.meta文件的GUID。

4.YAML文件与.meta文件

1)YAML文件:底层序列化存储格式,是资产的本体内容。例如:预制体(.prefab),场景文件(.unity),材质(.mat),动画片段(.anim)与SO资源(.asset)等Unity原生资产。

注:PNG/FBX/MP3等其源文件为二进制,仅引擎配置存在.meta文件中。例如:C#脚本不是YAML格式,其.meta文件的GUID是MonoBehaviour组件关联脚本的唯一桥梁。

2)**.**meta文件:自动生成的元数据文件,与对应资产同目录同名,是资产的全局标识与配置文件。例如:Assets下的所有内容均有.meta文件。

相关推荐
游乐码11 小时前
Unity基础(十二)资源异步加载
unity·游戏引擎
weixin_4242946712 小时前
程序不知道写在了什么位置???
unity
weixin_4419400113 小时前
vuforia ar unity实验教程
unity·游戏引擎·ar
妙为15 小时前
unreal engine5(UE5)中使用Rider
ue5·游戏引擎·虚幻·rider
WarPigs16 小时前
Unity AB包资源加载管理器
unity
程序员正茂17 小时前
EasyAR使用OpenCV下USB摄像头作为自定义相机
opencv·unity·easyar
诙_17 小时前
unity——C#
unity·c#·游戏引擎
晓131318 小时前
【Cocos Creator 3.x】篇——第一章 简介
前端·javascript·游戏引擎
winlife_19 小时前
全程用 AI 做一款商业级手游 · EP9 收尾与复盘:做到了哪,没做到哪,边界在哪
java·开发语言·人工智能·unity·ai编程·游戏开发·mcp
晓131319 小时前
【Cocos Creator 2.x】篇——第五章 游戏常用关键技术
前端·javascript·vue.js·游戏引擎