using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
public class ExampleScript : MonoBehaviour
{
// 获取场景中所有目标对象(包括不激活的对象)不包括Prefabs:
List<GameObject> GetAllObjectsInScene()
{
List<GameObject> objectsInScene = new List<GameObject>();
foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[])
{
if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)
continue;
if (!EditorUtility.IsPersistent(go.transform.root.gameObject))
continue;
objectsInScene.Add(go);
}
return objectsInScene;
}
}
参考:Resources.FindObjectsOfTypeAll