roots | 将开始执行搜索的对象数组。 |
Object[] 在层级上与搜索数组关联的对象数组。
收集层级视图中以每个指定对象为根对象的所有对象。
This is most useful for linearizing entire GameObject hierarchies including all their components.
Note that the traversal will not include assets referenced from within the hierarchy. For example, having a MeshFilter component in the hierarchy will not cause the referenced Mesh to be included in the resulting list.
using UnityEngine;
using UnityEditor;
public class CollectHierarchyExample : MonoBehaviour
{
void Start()
{
// Create two GameObjects
GameObject parent = new GameObject();
GameObject child = new GameObject();
Object[] roots = new Object[] { parent };
// Name them
parent.name = "Parent";
child.name = "Child";
// Make one a child of the other.
child.transform.parent = parent.transform;
// Collect entire hierarchy
Object[] result = EditorUtility.CollectDeepHierarchy(roots);
// Dump results. Will log four objects to the console;
// two GameObjects ("Parent" and "Child") and two Transform
// components (one belonging to "Parent" and one belonging to
// "Child")
foreach (Object obj in result)
Debug.Log(obj);
}
}