【Unity3D自学记录】批量更换预设物体。

今天研究了一下批量修改预设物体

主要目的就是将一些已经摆好的物体,全部都替换成另一个物体,不知道我说的清不清楚。

上次讲到了批量创建预设(地址:批量创建预设),我们就在此基础上修改一下就可以了。


代码如下:

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下。

自己在拖进场景里就可以了。



你可能感兴趣的:(unity3d)