/// <summary> /// 現在のシーンのヒエラルキーの全オブジェクトを取得. /// </summary> /// <param name="inactive"></param> /// <returns></returns> public static GameObject[] FindAllObjectsInHierarchy(bool inactive = true) { var currentScene = EditorSceneManager.GetActiveScene(); var rootObjects = currentScene.GetRootGameObjects(); var gameObjects = rootObjects.SelectMany(x => UnityUtility.GetChildrenAndSelf(x)); return(inactive ? gameObjects.ToArray() : gameObjects.Where(x => x.activeSelf).ToArray()); }