首页 > 解决方案 > 访问 Unity 层的名称

问题描述

只是想知道 Unity 中给定层的实际名称存储在哪里。在检查相关场景的 YAML 文件时,我在图层上能找到的唯一提示是游戏对象的“m_Layer”值由 0-31 形式的数字分配给它们,而不是带有图层实际名称的字符串。因此,在编辑器内部或外部设置 GameObject 的图层非常简单,使用快速脚本让相机遮盖某些图层也没问题,但我真的很想知道我是否可以通过另一个 YAML 自己编辑图层或类似文件。

有没有办法在编辑器之外访问和/或修改项目的图层名称信息,可能在库、包或项目设置文件夹中?

标签: c#unity3dyaml

解决方案


如果您正在寻找包含该信息的文件,它位于ProjectSettings/TagManager.asset 中(在“ layers: ” yaml 块下)。它们按数字顺序列出。该文件包含图层标签,但出于某些(可能是遗留)原因仅命名为“TagManager”。

如果您正在寻找具有该信息的 API,则可以使用LayerMask同时具有 aLayerToName和方法的静态方法NameToLayer


推荐阅读