unity4升级到unity5注意事项解析

这里搜罗总结了部分网友unity4升级到unity5出现的问题,总结一下,方便需要的时候查阅:


一. 如果发现升级中有脚本错误,请第一时间使用菜单:
Assets -> Run API Updater ...

  • 升级前做好项目备份。如果用了版本管理,最好重新建一个代码库,别把5的项目Commit到4上,到时候回滚很麻烦。
  • 常见错误:一个内置的摄像机脚本,有个preview变量报错,把它改成 _preview即可。
  • 很多API的命名错误可以用Assets / Run API Updater解决。
  • Shader会变,尤其是一些野生的从第三方拿来用的Shader。这个没办法,只能逐个找类似的替换。
  • 真正让人崩溃的是物理引擎,尤其是Joint相关的东西。这种大多发生的车辆类产品里。这个只能逐个去击破。把Joint的关节逐个拆分,找出问题所在。5.0最大的改动是Joint的Connect Anchor都需要重新设置。
  • 其它的想到再补充吧。感觉5.2还不太稳定,按照Unity的尿性,起码等到5.5以后才能真正稳定下来.

    二.NGUI遇到的问题:

=====================================
额 这是最近遇到的一个比较严重的问题:
NGUI无法直接用新的AssetBundle机制更新,每次从包里Load带UI的prefab就会有类似
GameObject (named 'Sprite') references runtime script in scene file. Fixing!
的错误。论坛上也有类似的问题 Assetbundle loading error

至于问题发生的情况,以UISprite为例的话,是因为UI和Atlas不在一个AssetBundle里。
具体原因看 Unity5 AssetBundle support 大概能理解了:
Loading streamed-scene will fail if exist game object that have component with a script property type and value is prefab's script.

Code: [Select]
class UISprite
{
        
  [SerializeField] UIAtlas mAtlas; // It's prefab's script. Not works for AssetBundle
}


I changed the property type to GameObject(prefab) from Script(prefab's script).
It works.

Code: [Select]

    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值