Unity 解决由高版本转低版本时,prefabs不能用的问题(2018.2.12转5.6.2)
在需要将高版本的Unity项目转成低版本的时候,场景中会出现很多missing prefab,这时候,在文件夹中的prefab怎么都不能拖进场景中。
在网上找了很久,都没有解决这个问题,最后还是自己捣鼓出来的。
其实很简单,分三步:
1. 首先,用2018版本的Unity打开项目,将项目设置成以text的格式序列化prefabs:点击菜单的Edit->project Settings->Editor,找到并设置下面两个:
关掉项目。
2. 打开项目文件夹,在文件夹下找到prefab,这时候已经可以用记事本打开这个文件了,将每个prefab中的Prefab的
m_SourcePrefab: 改为 m_ParentPrefab:
m_IsPrefabAsset: 改为 m_IsPrefabParent:
如图,改前与改后:
3. 用低版本的5.6.2打开此项目,就发现prefabs可以被拖进场景中了。
有人会说,那prefabs还得一个一个调位置,多辛苦(比如我这个项目,里面就有很多机器,每个机器都有自己的位置,如果重新调,是个比较大的工作量)。那么你可以将这些东西放在一个空物体下,将该物体制成一个prefab,这样只需要调一次位置就可以了!
此方法只在2018.2.8与2018.2.12转成5.6.2版本时实践过,其他的版本不知道,但猜测应该可行。