Unity3D获取物体的所有子物体对象(child)

Posted LazyChun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D获取物体的所有子物体对象(child)相关的知识,希望对你有一定的参考价值。

开始是找了下U3D的SCRIPT手册,发现找不到这玩意。然后在谷歌搜"unity3d get all child"才找到了答案。很简单的答案,不过挺有意思的,挺好用。

foreach (Transform child in transform)
{
    Debug.Log(child.gameObject.name);
}

transform是你所需要找的物体gameobject的transform。这个for循环就相当于遍历了它的子对象,此时你只要做的是将一个个放进个数组里面就行了。想过滤掉一些子物体在循环里面写一下也就OK了。

删除所有子物体的话:

foreach(Transform child in transform){
    Destroy(child.gameObject);
}

忘了是什么时候,以前是不可以这样删的,不过现在可以了。

2014.1.3添加:
遍历删除的方法好像是不可以的,还是要将它储存到一个LIST里面一个个去删。貌似有的情况可以有的不可以,很奇怪。

以上是关于Unity3D获取物体的所有子物体对象(child)的主要内容,如果未能解决你的问题,请参考以下文章

unity3d 如何让子对象的顺序改变?

获取Unity3D中物体的几种方法

解决Unity3D中多层级结构子物体旋转受父物体尺寸影响的问题

解决Unity3D中多层级结构子物体旋转受父物体尺寸影响的问题

解决Unity3D中多层级结构子物体旋转受父物体尺寸影响的问题

解决Unity3D中多层级结构子物体旋转受父物体尺寸影响的问题