在代码中为物体添加tag时,如果在编辑器中未预先设定好tag,直接gameObject.tag="xxx"会报错。
如果预先不想在编辑器中设置tag,就直接代码自动在编辑器中生成所需要添加的tag,很简单 代码如下:
/// <summary>
/// 检查tag列表中是否有tag,没有该tag添加此tag
/// </summary>
/// <param name="tag">所要设设置的tag</param>
public static void SetGameObjectTag(GameObject gameObject, string tag)
{
if (!UnityEditorInternal.InternalEditorUtility.tags.Equals(tag)) //如果tag列表中没有这个tag
{
UnityEditorInternal.InternalEditorUtility.AddTag(tag); //在tag列表中添加这个tag
}
gameObject.tag = tag;
}