下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)IT技能上我學(xué)院網(wǎng)利用緩存解決Unity3D卡的問(wèn)題Unity3D做項(xiàng)目有三個(gè)地方處理不好游戲整體就會(huì)出現(xiàn)卡頓的問(wèn)題。.NGUI直接打開(kāi)界面卡.角色放技能的時(shí)候卡尤其是放群體攻擊技能時(shí),因?yàn)槊總€(gè)人身上都要產(chǎn)生一個(gè)技能特效。技能都是用粒子特效做的,雖然Unity中粒子特效也是一個(gè)GameObject.但是ParticleSystem這個(gè)組件太特殊了。Instantiate以后會(huì)自動(dòng)的執(zhí)行腳本的初始化工作,ParticleSystem組件肯定也是個(gè)腳本,雖然我們看不到它實(shí)現(xiàn)的方式,但是Instantiate以后它定會(huì)先執(zhí)行Awake()和OnEnable()一類初始化的方法。經(jīng)過(guò)我的測(cè)試發(fā)現(xiàn),粒子特效真正慢的地方在于Play()的時(shí)候,Play內(nèi)部肯定是啟了協(xié)同一類的方法。因?yàn)楦鶕?jù)粒子特效的原理,粒子特效其實(shí)就是個(gè)腳本,當(dāng)播放的時(shí)候它會(huì)自動(dòng)創(chuàng)建Mesh,從而生成它的運(yùn)動(dòng)軌跡。所以我們一定要控制同屏幕同時(shí)播放的粒子數(shù)量。所以美術(shù)在做粒子特效的時(shí)候要注意3點(diǎn).同屏的粒子數(shù)量一定要控制在200以內(nèi),每個(gè)粒子的發(fā)射數(shù)量不要超過(guò)50個(gè)。不然在iPhone4或者一些比較爛的Android手機(jī)上就會(huì)有問(wèn)題Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計(jì)|原畫設(shè)計(jì)|動(dòng)漫美術(shù)|游戲策劃
學(xué)IT技能上我學(xué)院網(wǎng).盡量減少粒子的面積,面積越大就會(huì)越卡。.粒子最好不要用AlfaTest(但是有的特效又不能不用,這個(gè)看美術(shù)吧)、如下圖所示,粒子的貼圖用黑底的這種,然后用Particles/Additive這種Shader,貼圖必須要2的幕次方,這樣渲染的效率會(huì)高很多。個(gè)人建議粒子特效的貼圖在64左右,千萬(wàn)不要太大。在回到粒子卡的話題上,Play()方法我們是控制不了的,所以我們能做的就是在播放Play方法之前讓粒子特效所有的準(zhǔn)備工作都已經(jīng)完成。.粒子特效的GameObject實(shí)例化完畢。.確保粒子所用到的貼圖載入內(nèi)存.讓粒子進(jìn)行一次預(yù)熱(目前預(yù)熱功能只能在循環(huán)的粒子特效里面使用,所以不循環(huán)的粒子特效是不能用的)//實(shí)例化粒子特效。GameObjectnewGo=GameObject.Instantiate(go)asGameObject;Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計(jì)|原畫設(shè)計(jì)|動(dòng)漫美術(shù)|游戲策劃學(xué)IT技能上我學(xué)院網(wǎng)//把它的狀態(tài)設(shè)置成隱藏newGo.SetActive(false);因?yàn)閷?shí)例化粒子特效以后,實(shí)際上粒子的腳本就已經(jīng)完成了初始化的工作,也就是Awake()和OnEnable()方法。然后設(shè)置SetActive(false)僅僅是把粒子特效隱藏起來(lái)。上述操作完畢以后,讓游戲中真正要播放粒子特效的時(shí)候,粒子不用在載入它的貼圖,也不用實(shí)例化,僅僅是執(zhí)行一下SetActive(true)。SetActive(true)的時(shí)候就不會(huì)執(zhí)行粒子特效的Awake()方法,但是它會(huì)執(zhí)行OnEnable方法。3.載入模型的時(shí)候卡一般在戰(zhàn)斗場(chǎng)景,突然出現(xiàn)一大堆怪的時(shí)候,屏幕會(huì)卡一下。角色的骨骼數(shù)量一定要少于30根,你可以用Profiler里面看看,當(dāng)你實(shí)例化一個(gè)動(dòng)畫模型的時(shí)候時(shí)間都卡在加載動(dòng)畫這塊。如下圖所示,在QualitySettings里面,一般手游我們都選擇Good選項(xiàng),下面有一些別的選項(xiàng),能關(guān)就關(guān)了,垂直同步也一定就關(guān)了。Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計(jì)|原畫設(shè)計(jì)|動(dòng)漫美術(shù)|游戲策劃學(xué)IT技能上我學(xué)院網(wǎng)如果要想游戲運(yùn)行時(shí)不卡,我們必須要進(jìn)行預(yù)加載,意思就是放技能或者出現(xiàn)怪物的時(shí)候程序只需要SetActivie(true)就可以了。但是你又不能預(yù)加載的東西太多,因?yàn)轭A(yù)加載和內(nèi)存就像一把天秤,一旦預(yù)加載過(guò)多了你的游戲內(nèi)存可能就爆了。Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計(jì)|原畫設(shè)計(jì)|動(dòng)漫美術(shù)|游戲策劃學(xué)IT技能上我學(xué)院網(wǎng)所以我覺(jué)得用Unity3D開(kāi)發(fā)游戲,你必須要用緩存池。啥意思呢?.Instantiate一個(gè)動(dòng)畫模型,這時(shí)候unity會(huì)先判斷模型身上的資源是否在內(nèi)存里,如果內(nèi)存沒(méi)有加入內(nèi)存。.GameObject實(shí)例化完畢后,會(huì)同步執(zhí)行它身上所有腳本的初始化工作,這里執(zhí)行的不止是我們自己寫的腳本,U3D自身的組件腳本也會(huì)初始化,比如動(dòng)畫這塊很卡的地方就是Animation這個(gè)組件。.Destroy(gameObject),它不會(huì)把模型所用的貼圖資源釋放掉,但是它會(huì)把游戲?qū)ο蠛湍_本釋放掉。啥意思呢?就是如果你再次Instantiate的時(shí)候,它不會(huì)再去載入模型所用到的貼圖,但是它要執(zhí)行腳本的初始化工作。我們不知道U3D內(nèi)部組件腳本是如何初始化的,但是就自己寫的腳本而言,它必然要同步執(zhí)行Awake()和OnEnable()這兩個(gè)方法,如果這里有耗時(shí)操作,那么必然會(huì)卡一下。所以一些使用頻繁的模型,不用的時(shí)候不要把它直接Destory掉,而是SetActive(false)。這樣當(dāng)你再次使用的時(shí)候只需要SetActivie(true)這樣對(duì)應(yīng)這個(gè)游戲?qū)ο髞?lái)說(shuō)它只會(huì)執(zhí)行OnEnable()這一個(gè)方法,所以載入速度是最快的。所以我們用緩存池也是,在Loading進(jìn)入戰(zhàn)斗場(chǎng)景的時(shí)候,把頻繁用到的模型,特效,全部Instantiate進(jìn)去SetActivie(false)放入緩存池,當(dāng)程序用到的時(shí)候在去池子里面拿,這樣你就不會(huì)發(fā)現(xiàn)卡了。Unity3D|Cocos|php|HTML5|Java|io
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年產(chǎn)品業(yè)務(wù)面試試題及答案
- 2026年叉車安全證考試題庫(kù)及答案(真題匯編)
- 2026年叉車技能證考試題庫(kù)及一套答案
- 2026年叉車操作安全考試題庫(kù)及完整答案一套
- 2026年叉車教學(xué)考試題庫(kù)及答案1套
- 2026年叉車管理員考試題庫(kù)及完整答案1套
- 2026年叉車車輛培訓(xùn)考試題庫(kù)及參考答案1套
- 2025-2030亞洲免疫技術(shù)服務(wù)業(yè)產(chǎn)業(yè)現(xiàn)狀流通格局與未來(lái)展望調(diào)研報(bào)告
- 2025-2030亞健康人群營(yíng)養(yǎng)補(bǔ)充劑市場(chǎng)開(kāi)發(fā)建議材料策劃報(bào)告
- 2025-2030東南歐物流行業(yè)市場(chǎng)供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 白內(nèi)障疾病教學(xué)案例分析
- 2026中國(guó)電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2026年黃委會(huì)事業(yè)單位考試真題
- 供水管網(wǎng)及配套設(shè)施改造工程可行性研究報(bào)告
- 2026年及未來(lái)5年中國(guó)高帶寬存儲(chǔ)器(HBM)行業(yè)市場(chǎng)調(diào)查研究及投資前景展望報(bào)告
- 英語(yǔ)試卷浙江杭州市學(xué)軍中學(xué)2026年1月首考適應(yīng)性考試(12.29-12.30)
- 生產(chǎn)車間停線制度
- 關(guān)于生產(chǎn)部管理制度
- CMA質(zhì)量手冊(cè)(2025版)-符合27025、評(píng)審準(zhǔn)則
- (一模)2026年沈陽(yáng)市高三年級(jí)教學(xué)質(zhì)量監(jiān)測(cè)(一)生物試卷(含答案)
- 2025年和田地區(qū)公務(wù)員錄用考試《公安專業(yè)科目》真題
評(píng)論
0/150
提交評(píng)論