动态生成预制体工具,如果有已经有当前预制体直接覆盖,方便运行时保存

    技术2022-07-11  97

    /// <summary> /// itemName:菜单名称路径,isValidateFunction:不写为false,true则点击菜单前就会调用,priority:菜单项显示排序 /// </summary> [MenuItem("MyTools/Apply_To_Prefab", false, 61)] public static void Apply_To_Prefab() { GameObject souce = PrefabUtility.GetPrefabParent(Selection.activeGameObject) as GameObject; if (souce == null)//当前没有该预制体 { GameObject go = Selection.activeGameObject; string path = "Assets/Prefabs/"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path += Selection.activeGameObject.name + ".prefab"; PrefabUtility.CreatePrefab(path, go); } else { PrefabUtility.ReplacePrefab(Selection.activeGameObject, souce, ReplacePrefabOptions.ConnectToPrefab); } }
    Processed: 0.009, SQL: 9