按名称查找物体,尤其是GameObject.Find("名称")
,是一件极其耗性能的做法,但是很多时候查找的物体父子关系太复杂,用标签可能还要为很多物体手动添加的情况下,可以用Transform.Find("子物体名称")
,但它只能寻找第一层子物体,所以我们可以递归查找:
private Transform FindChildInTransform(Transform parent,string child)
{
Transform childTF = parent.Find(child);
if(childTF != null)
{
return childTF;
}
for(int i=0;i<parent.childCount;i++){
childTF=FindChildInTransform(parent.GetChild(i),child);
}
return null;
}