1、排查代码是否存在直接修改预制体的材质为克隆体。
解决:删了这段代码。
2、双击Prefab文件进入预制体编辑模式时,会执行预制体身上的脚本方法Awake、Start等(生命周期方法),所以要排查这些方法里是否有克隆材质行为。
解决:
① 转移这段克隆代码到外部。
② 添加条件判断,脚本所在物体本身是预制体则不执行克隆代码,否则正常执行。
可用:UnityEditor.PrefabUtility.IsPartOfPrefabAsset(this.gameObject) 判断物体是否预制体资源.
【Unity】判断对象是否是预制体以及是否存储在磁盘中_unity 判断是否时预制体_Arvin ZHANG的博客-CSDN博客