版本:Unity 6 (6000.0)
语言:英语
文本序列化文件的格式
YAML 场景文件示例

UnityYAML

Unity 使用一个名为 UnityYAML 的自定义优化 YAML 库。UnityYAML 库不支持 完整的 YAML 规范。本文档概述了 UnityYAML 支持的 YAML 规范部分。

您不能外部生成或编辑 UnityYAML 文件。

支持的功能

功能 支持
映射 UnityYAML 支持流式和块式样式。
标量 UnityYAML 支持双引号和单引号标量,以及纯标量。您可以将它们拆分成多行。请注意,多行标量在解析期间可能会产生性能和内存开销。

拆分成多行的纯标量必须比前一行缩进更多。请查看本表下方示例。

您可以在标量中使用 UTF-8 字符,但 UnityYAML 仅在它们是双引号标量的一部分时才对其进行解码。
序列 UnityYAML 支持映射、块样式,以及包含块映射的块序列。

多行纯标量缩进示例

parent: This is a
  multi-line scalar
^
|

如果没有任何缩进,标量将返回 This is a 并可能触发资产进行进一步解析。

不支持的功能

功能 支持
剥离指示符 UnityYAML 不支持使用 +| 字符来指示它应该如何处理多行字符串中的换行符。如果您使用这些字符,UnityYAML 会将它们添加到标量值中。
注释 UnityYAML 不支持注释。
复杂映射键 UnityYAML 不支持复杂映射键。
多个文档 阅读器跳过文件开头的文档和标签前缀,但不处理包含多个文档的 YAML 输入。
原始块序列 在 UnityYAML 中,几乎所有节点都是映射的一部分,因此所有序列都必须是映射的值才能正常工作。请查看本表下方示例。

匿名序列会增加解析器复杂性。您不能使用缩进作为一种方法来确定 UnityYAML 中的序列元素是否已结束。
标签您可以分配给一个或多个游戏对象的参考词,以帮助您识别用于脚本目的的游戏对象。例如,您可以定义一个“可食用”标签,用于表示游戏中玩家可以食用的任何物品。更多信息
请参见 词汇表
UnityYAML 不支持标签。

原始块序列示例

var:
  - 1
  - 2
  - 3

该序列专为 var 上的查找而设计,因此以下内容不起作用

- 1
- 2
- 3

  • 2019-05-13 页面发布

  • 新增于 2019.3 NewIn20193

文本序列化文件的格式
YAML 场景文件示例