Unity 批量修改 Prefab

2020-09-18 14:09发布

Unity旧版本可以用来批量修改预制的方式:

foreach (GameObject go in Selection.gameObjects)

{

//对go 进行操作

PrefabUtility.SavePrefabAsset(go);

}

以上方法,其实Unity是不支持的,新版本还会报莫名的错误,比如:Assertion failed on expression: '!go.TestHideFlag(Object::kNotEditable)'

Unity推荐的批量修改预制方式:

foreach(string guid in Selection.assetGUIDs){

string path = AssetDatabase.GUIDToAssetPath(guid);

GameObject go = PrefabUtility.LoadPrefabContents(path);

//对go 进行操作

PrefabUtility.SaveAsPrefabAsset(go, path);

PrefabUtility.UnloadPrefabContents(go);

}

}



作者:unity游侠

链接:https://blog.csdn.net/y90o08u28/article/details/103856546

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。