999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D手機游戲性能優化技術的研究

2015-10-15 05:12:44王瑾
現代工業經濟和信息化 2015年22期
關鍵詞:優化游戲資源

王瑾

(蘇州工業職業技術學院,江蘇蘇州215104)

?

基于Unity3D手機游戲性能優化技術的研究

王瑾

(蘇州工業職業技術學院,江蘇蘇州215104)

介紹了基于Unity3D引擎研發一款塔防游戲過程中的性能優化技術,研究分析了包括程序優化技術、優化美術資源、內存優化技術、空間瘦身優化和性能分析工具等多方面的關鍵技術,游戲可保持精彩美觀效果且明顯改善和提高了游戲的運行性能和操作體驗,通過歸納總結出該游戲研發過程中對于性能優化關鍵部分的技術思想和方法,可以為其他Unity3D游戲開發愛好者提供一些參考。

Unity3D引擎;手機游戲;性能優化

引言

Unity3D是一個可以用來輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型的互動內容多平臺綜合型游戲引擎和開發工具。流暢的游戲來自流暢的幀率,在優化過程中提升游戲的運行性能,當基本游戲功能到位時,就要確保游戲運行表現能夠達標,Unity內置分析器是衡量游戲運行表現的一個基本工具,使用分析器來分析設備上的運行代碼是一項實用的功能,正常情況下無法更改一些Unity底層的流程、結構和渲染策略等,但仍需通過對游戲程序與美術資源進行必要的優化,包括程序優化技術、優化美術資源、內存優化技術、空間瘦身優化和性能分析工具等多方面的關鍵性能技術,改善游戲的運行性能和操作體驗。

1 《保衛羊村》游戲的制作概要

按照Unity3D游戲項目的制作流程,即模型制作->創建工程->模型構建->場景構建->程序編寫->測試發布,先在3DS Max建模軟件中進行游戲基本模型的設計制作,如防守方的羊村武士、進攻方的灰太狼,武器道具等,導出為FXB格式文件,用PS軟件設計貼圖文件,導出為PNG格式。新建Unity工程SheepWar,在Asserts文件夾導入FXB和PNG等模型資源,并陸續創建Material、Model、Prefab、Scenes、Scripts等文件夾進行分類管理。設計典型的多個游戲場景和分關卡,編制必要的智能AI腳本,在游戲管理器的腳本中進行管理、鏈接和調試[1]。

2 《保衛羊村》游戲的性能優化技術

2.1程序優化技術

首先優化代碼可讀性,具備良好的編碼風格是程序性能優化的基礎,保持腳本的良好可讀性,必要的注解可以提升調試與維護時的效率,接著要優化邏輯復雜度,大部分復雜情況都與游戲本身的設計有關,要避免一些由于代碼擴展或是濫用回調造成的問題,例如考慮使用數組或者容器,便是對于會產生極大代碼量的switch或回歸寫法的最佳替代品。優化OnGUI方法可以明顯提升程序性能,不要使用原生的GUI方法,避免在其中對變量、方法進行更新和賦值,輸出變量建議在Update方法內,另外刪除腳本中為空或不需要的默認方法,合理使用變量來提高運行效率,如腳本中頻繁使用的變量就聲明為全局變量,腳本之間頻繁調用的變量或方法聲明為全局靜態變量或方法,不要頻繁獲取組件,將其聲明為全局變量,盡量直接聲明變量來代替GetComponent獲取腳本,還有先建好對象池后使用Translate來“生成”對象[2]。

2.2優化美術資源

美術資源對于程序發布包大小、性能優化、內存占用量的影響往往超過其他因素,通過對美術資源進行優化,可明顯提高運行效率。通過共享游戲對象的材料,令其在Unity中處于靜止狀態,將它們綁定在一起,由此產生的簡化繪圖調用是呈現良好移動運行性能的重要元素;合并使用同貼圖的材質球、相同材質球的網格,紋理地圖集對UI元素,使用合理的紋理MIP標準,移除所有遠處背景的網格,減小很耗性能的實時陰影,讓不同角色共享動畫,在一些關口移除額外頂點。養成良好的標簽、層次和圖層的條理化習慣,將不同的對象置于不同的標簽或圖層,三者有效結合能夠方便地按名稱、類別和屬性進行查找,平衡美學與性能進行優化粒子效果,減少發射器數量并盡量減少透明度的需求。

2.3內存優化技術

Unity3D在內存占用上一直被人詬病,特別是對于移動設備上的游戲,動輒內存占用一兩百兆字節,容易耗盡內存資源被系統強行退出造成極差的體驗。雖然Unity標榜自己的內存使用是托管的,但事實上用戶必須正確地使用內存,以保證回收機制正確運行,遵循使用原則可以讓非必要的資源盡快得到釋放,從而降低內存占用。靈活使用Unity3D里的兩種動態加載機制Resources.Load或AssetBundle,可以有效地動態加載調用資源,在資源不再使用的時候及時銷毀和釋放資源。

正確使用“垃圾回收器”(GC),確保自動清理不用的內存,分析器經常顯示CPU負荷過大的原因是GC正在收集垃圾內存,避免手動GC因為會導致本幀渲染耗費時間以幾何倍數形式上升,需要避免內存碎片產生。盡量使用for代替foreach,使用StringBuilder或string.format代替string的+=操作字符串拼接,如果一次運算量過大,可以分幀進行處理迭代運算,不要把所有運算放在同一幀,例如尋路算法、遺傳算法等,盡量使用“尾調用”來減少使用中間變量的方式來返回結果。

2.4空間瘦身優化

手機上運行的游戲產品需要考慮自身的精簡,盡可能壓縮游戲所需空間,包括控制游戲文件大小、運行時資源空間占用等方面。優化美術資源可以很好地實現對游戲文件大小的控制,可以優化幾何體模型,而在3D建模時盡可能減少模型中三角形的數量,對于模型沒有影響或肉眼難察覺到區別的頂點都要盡可能去掉,并且在三維建模軟件中盡可能重用頂點,壓縮模型的Mesh,并積極減少紋理大小,使用Texture Atlas可以幫助減少Draw Calls,考慮紋理的長寬比最好是1比1,長度值最好是2的整數冪,這樣可以達到最佳優化效果。使用Unity3D批處理技術進行壓縮,盡量使用同一個材質的物體,動態和靜態批處理之間的不同在于頂點數據的差別和使用網格不同,把這些頂點數據合并后再發送給CPU就可完成批處理,可節省很多資源的開銷。

2.5性能分析工具

Unity3D提供了強大且易用的性能分析器(Profiler),該分析器用于幫助優化游戲的性能,分析游戲在多個維度花費的時間,如渲染、動畫或邏輯花費時間的百分比。在分析器編輯器中,記錄著游戲運行每個幀的數據,單擊某個幀將在窗口下部顯示詳細信息,當前選擇的時間線區域不同從而顯示的細節也有所不同,時間線的垂直比例尺采用自動管理,并嘗試填充窗口的垂直空間。若要獲得CPU使用率區域等更多細節,可刪除內存和渲染區域,時間線和統計區域間的區隔線也可進行選定,向下拖動以增加時間線圖表使用的屏幕面積,時間線包含CPU使用率、渲染和內存,單擊面板上的關閉按鈕移除這些區域,分析控制欄上的添加區域下拉列表來重新添加,標簽區域的彩色方塊控制是否顯示關聯的時間線。

分析時調整腳本代碼會對游戲性能有小小影響,通常這種開銷較小,不太會影響游戲的幀率,重點分析游戲消耗時間最多的那些部分,比較分析代碼更改前后的數據結果,靈活應用Unity分析器為開發中的游戲進行體檢,通過Profiler.BeginSample和Profiler.EndSample等來自定義檢查范圍,關注調試CPU、內存使用率、音頻、渲染等的變化,實現游戲的性能優化[3]。

3 結語

本文概述了《保衛羊村》塔防游戲過程中的性能優化技術和方法,研究和分析了包括程序優化技術、優化美術資源、內存優化技術、空間瘦身優化和性能分析工具等多方面的關鍵技術,游戲可保持精彩美觀效果且明顯改善和提高了游戲的運行性能和操作體驗,Unity3D游戲的性能優化是進階階段,仍然有很多高級的實用技術需要更深入的學習和研究,這些將在后續的項目實踐中繼續進行提煉和總結。

[1]優美締軟件上海有限公司.Unity官方案例精講[M].北京:中國鐵道出版社,2015.

[2]優美締軟件上海有限公司.Unity 4.X從入門到精通[M].北京:中國鐵道出版社,2013.

[3]金璽曾.Unity3D手機游戲開發[M].北京:清華大學出版社,2013.

(編輯:姚歡)

Research of Performance Optimizing Technologies for Designing Mobile Game based on Unity3D

Wang Jin
(Suzhou Institute of Industrial Technology,Suzhou Jiangsu 215104)

This article describes the performance optimizing technologies during the design and development of a tower defense game based on Unity3D engine,briefly researches on optimization technologies of unity programming,art resources,memory,space and performance analysis tools,which significantly improves and enhances the game's performance and operating experience while maintaining excellent aesthetic effect.The summarized key technologies and methods of performance optimizing provide a good reference for other game developers.

Unity3D engine;mobile games;performance optimization

G898

A

2095-0748(2015)22-0094-03

10.16525/j.cnki.14-1362/n.2015.22.42

2015-11-02

王瑾(1981—),女,江蘇泰州人,碩士,講師,從事Web前端設計、動畫制作、計算機技術研究。

猜你喜歡
優化游戲資源
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
基礎教育資源展示
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
一樣的資源,不一樣的收獲
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
主站蜘蛛池模板: 91免费国产在线观看尤物| 久久久久88色偷偷| 亚洲精品制服丝袜二区| 亚洲免费毛片| 久草视频中文| 国产精品久久久精品三级| 91在线精品麻豆欧美在线| 青青草国产在线视频| 欧美成人A视频| 中文纯内无码H| 一边摸一边做爽的视频17国产| 精品久久人人爽人人玩人人妻| 无码人中文字幕| 51国产偷自视频区视频手机观看| av色爱 天堂网| 18禁不卡免费网站| a亚洲视频| 97国产成人无码精品久久久| 精品无码人妻一区二区| 久久人人97超碰人人澡爱香蕉| 亚洲成人免费看| 99青青青精品视频在线| 日韩少妇激情一区二区| 免费观看精品视频999| 久久鸭综合久久国产| 男女猛烈无遮挡午夜视频| 人妻中文久热无码丝袜| 欧美激情伊人| 国产人人乐人人爱| 试看120秒男女啪啪免费| 黑人巨大精品欧美一区二区区| 国产制服丝袜无码视频| 夜夜高潮夜夜爽国产伦精品| 伊人天堂网| 欧美无遮挡国产欧美另类| 免费观看欧美性一级| 国产精品无码久久久久久| 五月婷婷精品| 在线观看国产黄色| 亚洲区一区| 欧洲av毛片| 在线看国产精品| 热思思久久免费视频| 国产区人妖精品人妖精品视频| 欧美色99| 99国产精品免费观看视频| 欧洲在线免费视频| 亚洲无码日韩一区| 精品视频第一页| 久青草国产高清在线视频| 国产乱子伦一区二区=| 在线免费亚洲无码视频| 久久一级电影| 日韩欧美在线观看| 成人免费黄色小视频| 国产欧美日韩91| 国产原创自拍不卡第一页| 精品国产网| 亚洲最大情网站在线观看| 日韩国产一区二区三区无码| 国产精品99一区不卡| 久久一日本道色综合久久| 国产午夜人做人免费视频| 少妇露出福利视频| 成人韩免费网站| 亚洲一区色| 日韩人妻无码制服丝袜视频| 日韩av高清无码一区二区三区| 国产在线高清一级毛片| 日本成人精品视频| 91在线播放国产| 日韩无码真实干出血视频| 日本成人精品视频| 精品少妇人妻av无码久久| 国产日韩精品欧美一区灰| 中文字幕av一区二区三区欲色| 日韩国产无码一区| 亚洲性网站| 国产精品成人第一区| 免费观看国产小粉嫩喷水| 亚洲性网站| 国产第一页屁屁影院|