unity一个tag触碰另一个tag怎么写代码

unity一个tag触碰另一个tag怎么写代码,第1张

代码中为物体添加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

}

Unity版本问题、对象没有被选中。

某些旧版本的Unity可能存在添加标签的bug。建议升级到最新版本。确保已经展开了Tags列表,才能看到“+”按钮。

标签名称只能包含字母、数字、下划线和空格,不能包含其他特殊字符。如果标签名称不符合要求,可能会导致无法添加标签。建议使用简单的英文单词或短语作为标签名称。

我正好也遇到了这个问题。

https://docs.unity3d.com/ScriptReference/GameObject-tag.html Unity3D官网中提到这么一段话:A tag can be used to identify a game object. Tags must be declared in the Tags and Layers manager before using them.

所以在使用tag之前需要在tags&layers管理器中先声明。

如下所示,

然而很不巧,我希望在程序中实现动态添加tag,上面这种方法并不能解决我的问题。

至于如何动态添加tag,代码我就不贴了,还请自行百度"unity 动态添加 tag",很多博客文章都有给出代码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7965269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存