[Unity]批量编辑Prefab
2019/10
19
20:10
作用:批量修改Prefab中的内容,比如Prefab中添加了许多EditorOnly的物件,现在用工具批量删除
方法一:断开所有连接,重新组装Prefab,不推荐
var prefabObj = AssetDatabase.LoadAssetAtPath<GameObject>(prefabFilename);
var newInstance = GameObject.Instantiate(prefabObj);
// Edit: UnityEngine.Object.DestroyImmediate();
// Edit: GameObject.DestroyImmediate(obj);
PrefabUtility.SaveAsPrefabAssetAndConnect(newInstance, newPath, InteractionMode.AutomatedAction);
GameObject.DestroyImmediate(newInstance);
方法二:保持Prefab内的嵌套
var prefabObj = PrefabUtility.LoadPrefabContents(prefabFilename);
// Edit: UnityEngine.Object.DestroyImmediate();
// Edit: GameObject.DestroyImmediate(obj);
PrefabUtility.SaveAsPrefabAsset(prefabObj, newPath);
PrefabUtility.UnloadPrefabContents(prefabObj); // 注意调用此API,否则UnityCrash!
CopyRights: The Post by BY-NC-SA For Authorization,Original If Not Noted,Reprint Please Indicate From 老刘@开发笔记
Post Link: [Unity]批量编辑Prefab
Post Link: [Unity]批量编辑Prefab