今天研究了一下批量修改预设物体
主要目的就是将一些已经摆好的物体,全部都替换成另一个物体,不知道我说的清不清楚。
上次讲到了批量创建预设(地址:批量创建预设),我们就在此基础上修改一下就可以了。
代码如下:
using UnityEngine;
using System.Collections;
using UnityEditor;
public class DJH_Unity : MonoBehaviour {
[MenuItem("Tools/ChangePrefab")]
public static void BatchPrefab()
{
Transform tParent = ((GameObject)Selection.activeObject).transform;
Object tempPrefab;
GameObject tt = GameObject.Find("XXX");
int i = 0;
foreach (Transform child in tParent)
{
tempPrefab = EditorUtility.CreateEmptyPrefab("Assets/Prefab" + child.name + ".prefab");
tt.transform.position = child.position;
tt.transform.rotation = child.rotation;
tempPrefab = EditorUtility.ReplacePrefab(tt, tempPrefab);
i++;
}
}
}
先要把预设放在场景中,随便一个地方,反正最后会删掉。
GameObject tt = GameObject.Find("XXX");这里的XXX就是你的预设的名称,
最后的效果就是所有替换完成的预设都放在Assets下。
自己在拖进场景里就可以了。