unity 筛选当前场景中所有的预制体
时间: 2024-03-05 09:54:40 浏览: 46
预制体应用不同Lightmap.unitypackage
可以使用以下代码来筛选当前场景中所有的预制体:
```csharp
GameObject[] prefabs = Resources.FindObjectsOfTypeAll<GameObject>()
.Where(obj => obj.scene.rootCount == 0 && PrefabUtility.GetPrefabAssetType(obj) == PrefabAssetType.Regular)
.ToArray();
```
这个代码会在资源中查找所有的 `GameObject`,然后通过判断 `rootCount` 是否为 0 以及 `PrefabAssetType` 是否为 `Regular` 来筛选出所有的预制体。筛选出来的预制体会存储在 `prefabs` 数组中。
阅读全文