溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unity5.x 項(xiàng)目升級(jí)過(guò)程中常見(jiàn)問(wèn)題解決方案總結(jié)

發(fā)布時(shí)間:2020-07-09 16:05:07 來(lái)源:網(wǎng)絡(luò) 閱讀:5793 作者:Liu_guozhu 欄目:開(kāi)發(fā)技術(shù)

   最近整理Unity4.x 項(xiàng)目升級(jí)Unity5.0 過(guò)程中出現(xiàn)的各種常見(jiàn)問(wèn)題,與大家共享。


  1:Unity4.x 項(xiàng)目中3D模型其材質(zhì)丟失,成為“白?!保?br />      解決方案:手工重新賦值材質(zhì)貼圖。


  2:Unity4.x 項(xiàng)目中的NavMesh 升級(jí)報(bào)錯(cuò)?
     “NavMesh asset format has changed. Please rebake the NavMesh data.” ?
     解決方案:按照字面含義,重新對(duì)靜態(tài)物體進(jìn)行烘焙即可。


  3:Unity4.x 天空盒子升級(jí)后顯示混亂?
     解決方案: 找到項(xiàng)目中“標(biāo)準(zhǔn)資源”(Standard Assets),點(diǎn)擊天空盒子的材質(zhì),出現(xiàn)提示信息“This texture contains alpha, but is not RGBM(Incompatible with HDR[高動(dòng)態(tài)光照渲染])”點(diǎn)擊“Fix Now”進(jìn)行自動(dòng)修復(fù)即可。
    
  4:Unity4.x 在升級(jí)后出現(xiàn)某些3D模型不顯示的“嚴(yán)重”問(wèn)題?
     解決方案: 由于Unity5.0 與Unity4.x版本的底層編碼變化較大,Unity5.0已經(jīng)不能正確識(shí)別部分老“預(yù)設(shè)”,從而造成不顯示問(wèn)題。此時(shí)我們找到對(duì)應(yīng)模型的“原型”3D模型,重新建立“預(yù)設(shè)”在場(chǎng)景中的原位置進(jìn)行重新加載即可。(注意與原來(lái)的方位需要一致才可以)。


  5:Unity4.x 項(xiàng)目升級(jí)后部分Animation動(dòng)畫失效(不動(dòng)沒(méi)有反應(yīng))?
     解決方案:基本原理同上題,我們把Animation動(dòng)畫在Unity5.0中重新編輯與測(cè)試即可。
    
  6: 由于腳本升級(jí)過(guò)程中造成的各種異?,F(xiàn)象?
      例如:跑酷、射擊、RPG等游戲中的英雄對(duì)輸入信息沒(méi)有反應(yīng),射擊與***無(wú)效等。
      解決方案: 造成以上問(wèn)題的直接或者間接原因多數(shù)是腳本的升級(jí)造成的問(wèn)題,詳細(xì)整理如下:
    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;//老寫法已經(jīng)作廢。
       goCreatObj.GetComponent<Renderer>().material.color = Color.red

 

    6.4> //this.animation.Play(); //寫法禁用了
       this.GetComponent<Animation>().Play("Walking"); //Unity5自動(dòng)更正。
   
    6.5> //con.gameObject.collider.xx;//否決
       con.gameObject.GetComponent<Collider>().xxx;

 

     7:關(guān)于AssetBounds錯(cuò)誤信息:
     “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;

    //加載復(fù)合對(duì)象,且通過(guò)名稱把他們讀取出來(lái) 
    //GameObject goPrefabs1= (GameObject)downloadAsset.assetBundle.Load("Prefabs_SelfRotationCube");   GameObject goPrefabs1 = (GameObject)downloadAsset.assetBundle.LoadAsset("Prefabs_SelfRotationCube");//Unity5方式。


 

 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI