首先对已完工的高版本Unity做一些改变。在Edit-Project Setting-Editor中把 Version Control Mode改成 Visible Meta Files ,把Asset Serialization Mode改成 Fore Text。修改完毕后关闭高版本Unity2新建空空文件夹,新建一个需要移植的低版本Unity工程,ctl+S保存一个空场景。然后与高版本中的设置进行相同设置Edit-Project Setting-Editor中把 Version Control Mode改成 Visible Meta Files ,把Asset Serialization Mode改成 Fore Text。修改完毕后关闭低版本Unity3将高版本工程目录Assets文件夹下所有文件,复制到低版本工程的Assets文件夹下,注意,删除刚刚新建的低版本空场景文件4复制完成后,注意,此时不能用Unity贸然打开低版本工程,检查低版本工程Assets文件夹中的内容,是否有高版本Unity才有的资源包或者插件,如果有将他删除掉,否则,工程是无法正常打开的,Unity 会崩溃5Assets文件夹需要删除的内容,每一个工程都不一样,主要是因为低版本的Unity无法兼容高版本的原因。以笔者自己的工程为例,笔者需要删除Editor和Standard Assets两个文件夹的全部内容6删除完低版本Unity无法兼容的资源包和插件后,用Unity打开工程,这里笔者使用Unity4.5.5打开Low_Unity(低版本工程文件夹的名字)。现在可以顺利的打开低版本的工程了,第一步也是最艰巨的一步完成了。下面开始解决低版本Unity中的问题。第一:修改脚本错误7高版本Unity或多或少的都会对低版本Unity的脚本进行一些改变或改善。低版本的脚本在高版本Unity中书写可能只会出现警告提示,但是高版本中的脚本用在低版本中是一定会出现错误的,比如命名空间UnityEngine.SceneManagement;UnityStandardAssets.ImageEffects等等。比如书写方式:SceneManager.LoadScene("01");等等。根据错误提示一次更改成功能相同的低版本脚本8第二:修改Shader。高版本的Unity,模型默认材质Shader为Standerd,但是低版本中没有这个Shader,所以就会造成材质丢失的问题。这是时候不要慌,在Project面板中选中模型,依次找到Shader图标变成紫色的物体,给他重新赋予合适的Shader即可,可设置为Unity的默认Shader9第三:模型缩放。如果你打开Game 视图你会发现摄像机的呈现的不是你想要的视角,无论你如何Ctl+Shift+F锁定摄像机的视角,摄像机呈现的依然不是你想要的结果,是摄像机参数问题吗?No,是因为模型太大了,比较模型是否失真的最好的方法就是在工程中新建一个Cube,在Unity中,Cube就是1m*1m*1m的,用它和模型来比较可以知道模型的大概尺寸,从而判断是否失真。笔者没有去找过官方给出的明确说明,但是实践证明,Unity高版本中的模型factor为1时,移植到低版本中需要将factor更改成0.001.即相差了1000倍,这就是为什么摄像机成像异常的原因。10第四:重新添加工程中需要的资源包和插件(适合低版本Unity的),比如Unity4自带的粒子效果资源包、水资源包、玻璃效果资源包等等END注意事项Unity的高版本坐标系统和低版本坐标系统有一定出入。工程中的有关位置的动画和脚本都需要哦根据实地需要重新修改此方法中最好的一点在于,对GUI界面没有任何影响,最新的NGUI插件3.8.2也可以在Unity4中正常使用,只要Game视图的显示横宽比与高版本工程相同,UI界面将完全不受unity版本的影响如果喜欢本文可以点击下方的“投票”给作者投上宝贵的一票,也可以点击下方的“收藏”和“关注”,您的支持将给作者莫大的动力如果喜欢可以点击右边的两个箭头图标分享给好友