Unity4 的工程升级到 unity5.0下载 都需要注意哪些事情

最近整理Unity4.x项目升级Unity5.0过程中出现的各种常见问题,与大家共享。1:Unity4.x项目中3D模型其材质丢失,成为“白模”?解决方案:手工重新赋值材质贴图.
&1:Unity4.x 项目中3D模型其材质丢失,成为“白模”?
& & & 解决方案:手工重新赋值材质贴图。
& 2:Unity4.x 项目中的NavMesh 升级报错?
& & &“NavMesh asset format has changed. Please rebake the NavMesh data.” ?
& & &解决方案:按照字面含义,重新对静态物体进行烘焙即可。
& 3:Unity4.x 天空盒子升级后显示混乱?
& & &解决方案: 找到项目中“标准资源”(Standard Assets),点击天空盒子的材质,出现提示信息“This texture contains alpha, but is not RGBM(Incompatible with HDR[高动态光照渲染])”点击“Fix Now”进行自动修复即可。
& 4:Unity4.x 在升级后出现某些3D模型不显示的“严重”问题?
& & &解决方案: 由于Unity5.0 与Unity4.x版本的底层编码变化较大,Unity5.0已经不能正确识别部分老“预设”,从而造成不显示问题。此时我们找到对应模型的“原型”3D模型,重新建立“预设”在场景中的原位置进行重新加载即可。(注意与原来的方位需要一致才可以)。
& 5:Unity4.x 项目升级后部分Animation动画失效(不动没有反应)?
& & &解决方案:基本原理同上题,我们把Animation动画在Unity5.0中重新编辑与测试即可。
& 6: 由于脚本升级过程中造成的各种异常现象?
& & & 例如:跑酷、射击、RPG等游戏中的英雄对输入信息没有反应,射击与攻击无效等。
& & & 解决方案: 造成以上问题的直接或者间接原因多数是脚本的升级造成的问题,详细整理如下:
& & 6.1&:屏幕鼠标锁定://Screen.lockCursor = //被Unity5 新脚本代替
& & Cursor.lockState = CursorLockMode.L &
而屏幕鼠标解锁:Cursor.lockState = CursorLockMode.N
& & 6.2&://GoNeedAddScriptsObj.AddComponent(&类名称&);//被Unity5 新脚本代替
& & GoNeedAddScriptsObj.AddComponent&DynamicAddScripts&();//必须用泛型代替。&
& & 6.3& //goCreatObj.Renderer.Material.color=Color.//老写法已经作废。
& & & &goCreatObj.GetComponent&Renderer&().material.color = Color.red
& & 6.4& //this.animation.Play(); //写法禁用了
& & & &this.GetComponent&Animation&().Play(&Walking&); //Unity5自动更正。&
& & 6.5& //con.gameObject.collider.//否决
& & & &con.gameObject.GetComponent&Collider&().
& & &7:关于AssetBounds错误信息:
& & &“UnityEngine.AssetBundle.Load(string)' is obsolete: `Method Load has been deprecated. Script updater cannot update it as the loading behaviour has changed.
Please use LoadAsset instead and check the documentation for details.”
& & 解决方案:
& & WWW downloadAsset = new WWW(path);
& & //等待下载完成
& & yield return downloadA
& & //加载复合对象,且通过名称把他们读取出来 &
& & //GameObject goPrefabs1= (GameObject)downloadAsset.assetBundle.Load(&Prefabs_SelfRotationCube&); & GameObject goPrefabs1 = (GameObject)downloadAsset.assetBundle.LoadAsset(&Prefabs_SelfRotationCube&);//Unity5方式。
& & &8:读取当前关卡Application.LoadLevel(Application.loadLevelName)//老化
& & &//Unity5.x中读取当前关卡:首先在类上加载命名空间:Using UnityEngine.SceneM
& & & & & SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
& & &9.播放音频
两种属性定义:方法各有不同,其实原理一样,都是先找到音效源AudioSource,然后再找片段AudioClip&
1. 属性定义为public AudioClip m_shootC时
Unity4.x版本中的this.audio.PlayOneShot(m_shootClip)语句
在Unity5.x版本中应该为this.GetComponent&AudioSource&().PlayOnShot(m_shootClip);
2. 属性定义为
protected AudioSource m_
public AudioClip m_shootC时
可以直接使用m_audio.PlayOneShot(m_shootClip);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:361次
排名:千里之外

我要回帖

更多关于 unity5.0视频教程 的文章

 

随机推荐