您好,登錄后才能下訂單哦!
最近在教授Unity 初級課程的時候,經(jīng)常被學(xué)生問及一些非常簡單的Unity 出錯信息如何解決的問題。我就想這些問題是否可以總結(jié)一下,給大家一張易錯清單我的工作量是否可以大量減輕呢? 對! 說做就做,以下是我總結(jié)的部分內(nèi)容。
問題1:
當(dāng)腳本添加游戲?qū)ο筮^程中,彈出的出錯窗口: “Can't add script....." ?
解答:
原因是Unity 規(guī)定腳本的文件名稱必須與類名相同,否則報錯。請更改Unity腳本的名稱或者類的名稱。
問題2:
在學(xué)生學(xué)習(xí)導(dǎo)航尋路過程中,在運(yùn)行過程中遇到的運(yùn)行時錯誤信息: "SetDestination" can only be called on an active agent that has been placed on a NavMesh"?
解答:
典型導(dǎo)航尋路錯誤,主要原因是你需要導(dǎo)航的游戲?qū)ο?,放置的位置不對,要么y軸遠(yuǎn)離了“地面”(NavMesh),要么離開了烘培的"地面"。請檢查與更改相關(guān)尋路主角的Y軸位置。
問題3:
用戶拿到的工程文件,發(fā)生打不開的錯誤(不報錯)。 也就是Unity 無論怎樣都打不開指定的Unity 項(xiàng)目?
解答:
一般是因?yàn)閁nity 對中文支持的不好,所以工程所在路徑不能有中文。 請把你的工程文件的所在路徑進(jìn)行檢查,把相關(guān)中文路徑去除即可。
問題4:
當(dāng)用戶導(dǎo)入*.unitypackage 文件的過程中顯示錯誤信息: "Error While importing package: Couldn't decompress package.Failed importing package ....."?。
解答:
這個問題一般也是因?yàn)閁nity 對中文支持的不好,所以需要導(dǎo)入的*.unitypackage 文件所在路徑不能有中文。 請把你的“包”(或者一些*.unitypackage 插件)文件的所在路徑進(jìn)行檢查,把相關(guān)中文路徑去除即可。
問題5:
用戶在運(yùn)行游戲工程過程中,發(fā)現(xiàn)沒有聲音? 且計算機(jī)硬件沒有問題? 在Unity 的Console 窗口中有如下信息大量顯示: “ There are 2 audio listeners in the scene” ?
解答:
原因是你當(dāng)前場景中存在2個以上的“Audio listeners”, 請只保留一個即可,多余的刪除。 一般也都發(fā)生在學(xué)員引入Unity 自帶的“第一人稱/第三人稱”角色的時候發(fā)生的現(xiàn)象。 你可以把主攝像機(jī)的Audio Listener 組件暫時禁用或者刪除掉即可。
問題6:
程序運(yùn)行過程中最容易出現(xiàn)的一個運(yùn)行時錯誤信息: “NullReferenceException: Object reference not set to an instance of an object” ?
解答:
這是典型的“空引用錯誤”, 本質(zhì)是原本需要實(shí)例化的游戲?qū)ο鬀]有成功的加載,程序后面的指令已經(jīng)在用上面沒有實(shí)例化的對象所造成的! 。 具體問題還需要具體分析,看是否什么組件沒有加載,或者一些 GetCompont() 與 Resource.Load() 等方法的路徑名稱是否正確等。
問題7:
程序運(yùn)行過程中出現(xiàn)的一個運(yùn)行時錯誤信息: “MissingReferenceException: The object of type 'GameObject' has been destroyed”
解答:
缺少引用異常!通常原因是由于指定的游戲?qū)ο笠呀?jīng)銷毀了,而其他代碼還要訪問(調(diào)用),造成的錯誤!。
問題8:
程序運(yùn)行過程中出現(xiàn)的一個運(yùn)行時錯誤信息:“InvalidCastException: Cannot cast from source type to destination type”?
解答:
無效的轉(zhuǎn)換異常: 不能從源類型轉(zhuǎn)換到目標(biāo)類型。 需要學(xué)員仔細(xì)檢查程序中強(qiáng)制轉(zhuǎn)換是否合理? C# 的“裝箱拆箱”是否正確等。
問題9:
“UnassignedReferenceException: The variable goLineRedDiamend_Prefab of 'ScenceManager' has not been assigned”?
解答:
未分配引用異常。 通常是腳本中的public 類型字段,在游戲運(yùn)行過程中,沒有給予附加相對應(yīng)的“預(yù)設(shè)”或者游戲?qū)ο笏斐傻摹?即: 沒有給腳本的公共字段添加參數(shù)造成的。
問題10:
學(xué)員在做關(guān)于Animation 幀動畫時出現(xiàn)的錯誤:“AnimationEvent has no function name specified"?
解答:
在Animation 中你定義了一個事件,而沒有給事件添加對應(yīng)的“事件方法”,導(dǎo)致出錯!
以上是我總結(jié)出的目前十個常見編譯期與運(yùn)行期錯誤,請大家多提寶貴意見,不斷豐富這個文檔使得初學(xué)者少走 彎路", 謝謝!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。