Unity3D Editor模式下,代码修改预制件prefab

新版Unity中(2017起?),在Editor模式下无法再直接用代码对prefab进行更改(比如添加组件等等)。

解决方案

通过var newPrefab = PrefabUtility.InstantiatePrefab(prefab) as GameObject;在当前场景中实例化一个物体
所有的修改,都对newPrefab进行。
修改完毕后,通过PrefabUtility.SaveAsPrefabAsset(newPrefab, prefabPath, out isSuccess);把新修改和原prefab关联。
然后删除newPrefab即可。

猜你喜欢

转载自blog.csdn.net/iningwei/article/details/88354534