Version: 6000.3
语言: 中文
文本序列化文件的格式
YAML 场景文件示例

统一YAML

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
文本序列化文件的格式
YAML 场景文件示例