您好,登錄后才能下訂單哦!
最近整理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方式。
免責(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)容。