Unity教程之-Unity3d遍历场景树生成预设资源包

 

今天朋友有问道如何遍历场景树产生对应的预设。其实这个问题,2年多前也让我郁闷了,当时想制作一个小工具,一键遍历场景,然后产生预设(ab资源包),同时产生一个config。这个工具岂不是很帅。哈哈。现在写这工具可以信手拈来了,可是还有很多朋友像今天的这个朋友一样,还不晓得如何实现。现在就让野猪给大家分享一下吧。废话不多了把几分钟的代码贴出来了,大家要接好喽!


using UnityEngine;
//引入命名空间
using System.Collections.Generic;
using UnityEditor;
using System.IO;

public class PackScene
{
/// <summary>
/// 定义场景产生预设的路径
/// </summary>
static string prefabsPath = "Assets/Prefabs/";

[MenuItem("Assets/打包场景,产生Prefab")]
static void Excute()
{
if (!Directory.Exists(prefabsPath))
{
Directory.CreateDirectory(prefabsPath);
}
//循环遍历产生预设。
foreach (GameObject o in GameObject.FindObjectsOfType<GameObject>())
{
/*
* 自定义你自己的逻辑。例如:设置过滤选项等。还可以在此进行产生预设的同时产生config,这里就留给读者自己来完成吧。
*/
PrefabUtility.CreatePrefab(prefabsPath+o.name+".prefab", o, ReplacePrefabOptions.ConnectToPrefab);
}
}
}

好了,以上就是这个朋友想要的效果啦。如果想实现我前面说的那个效果,其实很简单啦。我相信你可以搞定的啦。