发你段代码,挂在要改tag的GameObject上,点击“change tag”按钮就行了,如图:
代码如下:
using UnityEngine;
using UnityEditor;
public class SelectTag : MonoBehaviour
{
[Header("Tag Name")]
[SerializeField]
private string m_TagName = "";
public void ChangeTag()
{
Transform[] _arr = transformGetComponentsInChildren<Transform>();
foreach (Transform _tr in _arr)
{
_trtag = m_TagName;
}
}
}
[CustomEditor(typeof(SelectTag))]
public class SelectTagEditor : Editor
{
SelectTag main;
private void OnEnable()
{
main = target as SelectTag;
}
public override void OnInspectorGUI()
{
if (GUILayoutButton("change tag"))
{
mainChangeTag();
}
baseOnInspectorGUI();
}
}
void OnCollisionEnter(Collision collisioner)
{
thistransformFindChild ("TEXT")GetComponent <TextMesh > ()text = collisionercollidergameObjectname;
}
不知道你这个TEXT到底是什么,我暂时用了3DTEXT来做了。
//声明t(Transform属性)然后寻找当前物体的子物体中第一个命名为“Back”的子物体的TransForm
Transform t = gameObjecttransformFindChild("Back");
//如果获取成功,则赋予变量back,给予Back的gameObject属性赋予它
if (t != null) back = tgameObject;
t = gameObjecttransformFindChild("Lines");
if (t != null) lines = tgameObject;
t = gameObjecttransformFindChild("Border");
if (t != null) border = tgameObject;
以上就是关于unity3d如何在变更父物体标签的同时连带改变子物体标签全部的内容,包括:unity3d如何在变更父物体标签的同时连带改变子物体标签、用UNITY3D开发VR软件,有物体B包含子物体TEXT,跪求将物体B触碰到的其他物体名字显示在B的TEXT上面的代码、unity3d 以下c#代码是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)