string GlobalObjectId
的字符串表示形式。
获取唯一对象标识符的字符串表示形式。
code class="mono">GlobalObjectId
的字符串表示形式可以序列化,然后在以后用于重新初始化 GlobalObjectID
结构体。
ID 的字符串表示形式的格式为 GlobalObjectId_V1-{i}-{a}-{l}-{p}
,其中
{i}
是一个整数表示的标识符类型(0 = Null,1 = Imported Asset,2 = Scene Object,3 = Source Asset)。{a}
是资产 GUID。这是一个全局唯一标识符,Unity 会将其分配给每个新发现的资产。有关更多信息,请参阅手册中的 Asset Metadata。{l}
是对象的本地文件 ID。对于预制实例中的对象,此 ID 是预制的一部分的原始源对象的本地文件 ID。有关更多信息,请参阅 GlobalObjectId.targetObjectId。{p}
是对象的预制实例的本地文件 ID。如果对象不是预制实例的一部分,则 {p}
是 0
。
注意:实际的本地文件 ID 是有符号的 64 位值,可以为负值。但在 GlobalObjectId
中,这些值会被强制转换为 GlobalObjectId.targetObjectId,这是一个无符号的 64 位值(ulong
)。因此,将负本地文件 ID 保存到 GlobalObjectId
时会丢失其符号,并且你不应依赖 targetObjectId
的值或来自 GlobalObjectID 字符串表示形式的 {l}
元素来查找对象。
其他资源: GlobalObjectId.TryParse