zoukankan      html  css  js  c++  java
  • 【Unity】近期整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享。

       近期整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享。


      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 = true; //被Unity5 新脚本取代
        Cursor.lockState = CursorLockMode.Locked; 
       
        6.2>://GoNeedAddScriptsObj.AddComponent("类名称");//被Unity5 新脚本取代
        GoNeedAddScriptsObj.AddComponent<DynamicAddScripts>();//必须用泛型取代。


        
        6.3> //goCreatObj.Renderer.Material.color=Color.red;//老写法已经作废。
           goCreatObj.GetComponent<Renderer>().material.color = Color.red

        6.4> //this.animation.Play(); //写法禁用了
           this.GetComponent<Animation>().Play("Walking"); //Unity5自己主动更正。
       
        6.5> //con.gameObject.collider.xx;//否决
           con.gameObject.GetComponent<Collider>().xxx;

         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 downloadAsset;

        //载入复合对象,且通过名称把他们读取出来 
        //GameObject goPrefabs1= (GameObject)downloadAsset.assetBundle.Load("Prefabs_SelfRotationCube");   GameObject goPrefabs1 = (GameObject)downloadAsset.assetBundle.LoadAsset("Prefabs_SelfRotationCube");//Unity5方式。


     

    本文出自 “刘老师讲Unity” 博客,请务必保留此出处

  • 相关阅读:
    第二百零一天 how can I坚持
    第一百九十七-第二百天 how can I 坚持
    第一百九十六天 how can I 坚持
    第一百九十五天 how can I 坚持
    第一百九十四天 how can I坚持
    第一百九十三天 how can I 坚持
    第一百九十二天 how can I 坚持
    第一百九十一天 how can I 坚持
    杭电2085--核反应堆(打表)
    杭电1799--循环多少次
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6920866.html
Copyright © 2011-2022 走看看