批量生成对象,然后把对象保存成预设,并且设置导出的命名。
[MenuItem("生成/生成")]
static void GetXXX()
{
//首先读取json
DirectoryInfo direction = new DirectoryInfo("Assets/ps");
DirectoryInfo[] directs = direction.GetDirectories();//文件夹
DirectoryInfo dir;
//遍历ps下的所有目录
for (int i = 0; i < directs.Length; i++)
{
dir = directs[i];
//按照目录名生成一个对象
GameObject objRoot = new GameObject("ps_" + dir.Name);
//把对象保存到预设
string prefabpath = "Assets/psPrefab/" + objRoot.name;
string localPath = prefabpath + ".prefab";
//这个代码屏蔽掉会覆盖现有预设
localPath = AssetDatabase.GenerateUniqueAssetPath(localPath);
//创建一个预设,并且设置导出的命名
PrefabUtility.SaveAsPrefabAssetAndConnect(objRoot, localPath, InteractionMode.UserAction);
AssetImporter assetImporter = AssetImporter.GetAtPath(localPath); //得到Asset
assetImporter.assetBundleName = objRoot.name;
assetImporter.assetBundleVariant = "ps";
}
}
本文介绍了一种使用Unity脚本批量生成游戏对象,并将其保存为预设的方法。通过遍历指定文件夹下的所有目录,按目录名称生成游戏对象,然后将这些对象保存为预设,并设置独特的导出命名,避免重复。此方法适用于快速创建大量游戏资源。
1万+

被折叠的 条评论
为什么被折叠?



