在unity里做打包或者帮策划美术做工具的时候经常会需要把Prefab拉出来或者场景打开做检验工作
其实这个在上一篇在ui打包的文章里有提到,不过重点不同,上篇重点是打包,这篇的重点是把里面的一个小知识点拉出来讲一讲
接下来就讲讲两者分别怎么做
一、把预制Prefab拉出来
就是像我们平时把预制拉到这个地方
1.首先是获取你选中的那个Prefab(如果是有其他需求,比如默认目录下的所有文件等,就不这样处理,不过大同小异)
GameObject[] selectGameObjects = Selection.gameObjects;
既然是一个数组就foreach一下。
2.通过AssetDatabase的接口获取资源路径并判断一下选中的文件是否是目标文件夹下的指定后缀文件
string path = AssetDatabase.GetAssetPath(selectGO);
if(path.StartsWith("Resources/XXX"))
{
if(path.EndsWith(".prefab"))
{
}
}
确认无误开始下一步
3.拉到Hierarchy里
GameObject uiInstance = PrefabUtility.InstantiatePrefab(selGb) as GameObject
这样就等于拉到窗口里了
就可以开始进行各种操作
这里提醒一下一个类似的接口
PrefabUtility.CreatePrefab