• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Unity3D游戲客戶端開發(fā)框架的設(shè)計與應(yīng)用

      2016-10-18 11:20:28桑琪葉德建
      微型電腦應(yīng)用 2016年6期
      關(guān)鍵詞:管理器消息客戶端

      桑琪,葉德建

      基于Unity3D游戲客戶端開發(fā)框架的設(shè)計與應(yīng)用

      桑琪,葉德建

      游戲行業(yè)競爭日益激烈,從現(xiàn)有的游戲開發(fā)中汲取經(jīng)驗形成框架是應(yīng)對殘酷市場的必由之路。從實踐出發(fā),從長期的游戲開發(fā)經(jīng)驗中總結(jié)了一套通用的Unity3D游戲客戶端開發(fā)框架,采用通用管理器的方式有效組織管理場景中的游戲?qū)ο笠约翱刂朴螒驅(qū)ο蟮哪_本,以通用組件的形式支持整個游戲功能系統(tǒng)的開發(fā)。簡述了UI框架、消息管理器、游戲?qū)ο缶彺娉?個框架層基礎(chǔ)組件的設(shè)計與實現(xiàn),并以一款即時戰(zhàn)略游戲為例講解了如何利用該框架進行客戶端開發(fā)。

      Unity3D;游戲客戶端框架;通用管理器

      章編號:1007-757X(2016)06-0066-04

      0 引言

      游戲作為近年來國家大力支持的文化創(chuàng)意產(chǎn)業(yè),一直呈高速發(fā)展的趨勢。就《2015年中國游戲產(chǎn)業(yè)報告》顯示,中國游戲市場2015年收入達1407億,同比增長22.9%[1]。隨著游戲行業(yè)膨脹式的發(fā)展,中國游戲行業(yè)競爭越來越激烈。在這樣的市場環(huán)境下,如何利用更短的時間開發(fā)出高質(zhì)量的游戲成為游戲開發(fā)人員關(guān)注的焦點。伴隨著游戲開發(fā)技術(shù)的成熟,游戲引擎不斷進化發(fā)展,極大提高了游戲開發(fā)的效率,Unity3D作為游戲引擎中的翹楚成為各大游戲尤其是3D游戲開發(fā)商們的首選。

      Unity3D擁有著多個子系統(tǒng),如渲染引擎、物理引擎、動畫系統(tǒng)、粒子特效等等,它們以組件的形式支持著游戲開發(fā)人員們的開發(fā)工作[2]。使用Unity3D開發(fā)游戲的基本原理是通過編寫腳本調(diào)用這些組件,生成并控制場景中的各類游戲?qū)ο髲亩纬梢粋€完整的游戲。然而如何更加有效地組織管理場景中的游戲?qū)ο笠约翱刂朴螒驅(qū)ο蟮哪_本,需要在游戲開發(fā)中有一定的技術(shù)及經(jīng)驗積累。

      Kim, Ae Hyun 、De Macedo等人針對應(yīng)用Unity3D引擎進行游戲開發(fā)中的常用技術(shù)以及開發(fā)流程做了簡單介紹[3-6],于Unity3D引擎的理解僅僅停留于使用層面。王超明、呂林軒、郭一晶等都曾經(jīng)介紹過某Unity3D游戲具體功能系統(tǒng)的設(shè)計與實現(xiàn)[7-9],但并沒有提取出通用的游戲客戶端開發(fā)框架。本文在實踐的基礎(chǔ)上,總結(jié)出一套通用的Unity3D游戲客戶端開發(fā)框架,將游戲開發(fā)中最常用的組件、功能整合起來,利用軟件復(fù)用的思想進一步提升了游戲開發(fā)的效率,同時還可形成技術(shù)上的沉淀。

      1 通用管理器

      Unity3D功能異常強大,它提供了各種API讓游戲開發(fā)者通過給游戲?qū)ο筇砑咏M件以及編寫腳本的方式實現(xiàn)各種游戲功能,如角色動畫、碰撞檢測、播放音樂音效等等。但如果整個游戲開發(fā)僅僅以疊加腳本添加組件的方式完成,不但無法實現(xiàn)復(fù)雜的游戲邏輯甚至還會讓整個項目混亂不堪難以維護[10]。因此我們要學(xué)會以通用管理器的方式統(tǒng)一組織管理同類的功能系統(tǒng)。以管理音效播放的管理器AudioManager為例,在Unity3D中,播放音樂音效需要在游戲場景的聲源處添加AudioSource組件用以掛載音頻源文件,在實際的游戲中我們往往需要在不同的時間播放不同的音效,因此需要實現(xiàn)一個AudioManager來管理游戲中的所有音樂音效的播放而非頻繁得掛載音頻文件。首先在AudioManager中維護一個音效字典,以key為標(biāo)記,在管理器初始化時統(tǒng)一掛載好所有所需的音頻文件,當(dāng)需要播放音頻的時候調(diào)用AudioManager對應(yīng)的函數(shù)同時傳入所需音頻的key即可。

      在整個游戲開發(fā)中,通用管理器的思想貫穿了從基本游戲框架到客戶端功能系統(tǒng)的設(shè)計實現(xiàn),這種思想也與面向?qū)ο缶幊痰乃枷胂嘟y(tǒng)一。整個游戲通常以組件式進行開發(fā),一個組件往往是一個大的管理器,其中可能包含許多小的管理器。

      2 基本游戲框架

      同其他軟件開發(fā)一樣,游戲開發(fā)也遵循類似MVC框架的模型視圖分離的準(zhǔn)則。沿用Unity3d本身的層級思想,本文的游戲框架也采用分層設(shè)計。整個游戲從下到上依次為系統(tǒng)層、框架層、數(shù)據(jù)層、控制層、視圖層,如圖1所示:

      圖1 游戲分層設(shè)計示意圖

      系統(tǒng)層,即游戲最終運行在什么平臺上。眾所周知,Unity3D可進行跨平臺發(fā)布,可發(fā)布游戲至IOS、Android、Windows phone 8等多種平臺。

      框架層,顧名思義,游戲開發(fā)的通用底層支持,可輕松復(fù)用于不同游戲的開發(fā),包括UI框架、消息管理器、游戲?qū)ο缶彺娉氐然A(chǔ)組件。

      上面3層為大家所熟悉的MVC框架,即模型(model)-視圖(view)-控制器(controller)。

      模型(Model)層用于處理游戲數(shù)據(jù)邏輯,負責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)或序列化與反序列化本地數(shù)據(jù)。我們將游戲數(shù)據(jù)劃分為兩大類:持久化數(shù)據(jù)和運行時數(shù)據(jù)。持久化數(shù)據(jù)包括游戲本身的配置表和用戶持久化信息,運行時數(shù)據(jù)是游戲運行時的臨時數(shù)據(jù)。

      視圖(View)層包括UI層和各類游戲?qū)ο蟮男袨楸憩F(xiàn)。UI層即用戶看到的游戲界面,用以顯示相應(yīng)的游戲數(shù)據(jù)。

      控制(Controller)層是游戲開發(fā)中各類管理器的合集,從View層讀取數(shù)據(jù),控制用戶輸入,并向Model層發(fā)送數(shù)據(jù)。集中表現(xiàn)在游戲?qū)ο蟮纳膳c控制。

      采用此種劃分層次可以讓數(shù)據(jù)與邏輯分離,使游戲開發(fā)更具條理和效率。下文中我們先依次介紹框架層三個重要基礎(chǔ)組件的設(shè)計與實現(xiàn),然后以ARPG游戲的游戲角色為例詳細解釋游戲?qū)ο蟮纳膳c控制。

      3 框架層的設(shè)計與實現(xiàn)

      游戲框架對于后期游戲功能系統(tǒng)的開發(fā)影響深遠,合理的游戲框架應(yīng)該在提高游戲開發(fā)效率的前提下同時兼顧游戲項目的穩(wěn)定性以及可擴展性,組件式的開發(fā)成為各游戲開發(fā)項目的首選。在這一部分,我們將介紹框架層三個非常重要基礎(chǔ)組件:基于NGUI的UI框架、消息管理器、游戲?qū)ο缶彺娉亍?/p>

      3.1基于NGUI的UI框架

      NGUI是目前Unity3D游戲開發(fā)團隊最常用的UI插件,提供了強大的UI系統(tǒng)和事件通知框架。NGUI基于組件化、模塊化的原則,可以使開發(fā)者們使用非常少的代碼以及操作便可實現(xiàn)各類UI控件。

      我們基于NGUI插件設(shè)計實現(xiàn)了一個UI框架,它具備以下功能特點:由UIManager統(tǒng)一管理游戲各UI界面的顯示、關(guān)閉、隱藏;提供插入界面動畫的接口;通過3個按鈕與相應(yīng)回調(diào)函數(shù)的隱藏與顯示實現(xiàn)通用對話框;同時管理各UI界面的上下文Context,Context保存著UI界面的數(shù)據(jù)信息,我們通過棧的方式管理Context,從而實現(xiàn)界面的有序跳轉(zhuǎn);用Mask遮罩提供插入新手教程的功能。應(yīng)用此框架可以讓開發(fā)人員專注實現(xiàn)單個UI界面的邏輯而不用擔(dān)心界面的顯示關(guān)閉以及跳轉(zhuǎn)的實現(xiàn),極大提高了游戲界面的開發(fā)效率。

      3.2消息管理器

      游戲通常要涉及各類游戲?qū)ο箝g的交互以及各個模塊的交互,為了實現(xiàn)模塊間的松耦合,我們一般采用消息驅(qū)動的方法來達到交互的目的。我們借鑒觀察者模式開發(fā)消息管理器模塊。模塊主要包括消息中心MessageCenter,消息觀察者Observer,消息發(fā)送者MessageSender,消息Message4部分,四者的交互活動圖如圖2所示:

      圖2 消息管理器活動圖

      MessageCenter是整個消息管理器的消息中樞,起著一個消息中介的作用,它維護一個消息隊列,負責(zé)接收以及轉(zhuǎn)發(fā)游戲的所有消息。Observer把自己以及自己感興趣的消息對應(yīng)得注冊到MessageCenter中的消息隊列中,相對的當(dāng)Observer對消息不再感興趣時,也可以隨時向MessageCenter取消注冊。EventSender產(chǎn)生并發(fā)送相應(yīng)的Message到MessageCenter,MessageCenter會遍歷自己的消息隊列,找到監(jiān)聽該消息的Observers并把Message轉(zhuǎn)發(fā)給它們。

      我們舉個例子來說明消息管理器的應(yīng)用。在游戲戰(zhàn)斗過程中,如果主角死亡往往會結(jié)束戰(zhàn)斗并跳出結(jié)算界面,但戰(zhàn)斗流程控制與角色行為管理是兩個不相關(guān)的模塊,如果角色行為管理器直接調(diào)用戰(zhàn)斗流程控制器的結(jié)算接口會增加兩個模塊的耦合性,這個時候我們便可以借助消息管理器。我們封裝一個MainPlayer_Dead的Message加入MessageCenter的消息隊列中供戰(zhàn)斗流程控制器注冊監(jiān)控,當(dāng)主角死亡時由角色行為管理器發(fā)送該消息即可。

      消息管理器的應(yīng)用讓我們避免了模塊間或游戲?qū)ο箝g交互時的顯示調(diào)用,讓游戲模塊間保持低耦合,非常方便游戲開發(fā)后期功能的擴展。

      3.3游戲?qū)ο缶彺娉?/p>

      前文中提到游戲由大量不同種類的游戲?qū)ο蠼M成,這些游戲?qū)ο笤谟螒蜻\行過程中需要不停地創(chuàng)建、銷毀,如果頻繁調(diào)用Unity3D游戲?qū)ο髮嵗疉PI (GameObject.Ins -tiante())與對象銷毀API(GameObject.Destroy() )會造成游戲頻繁卡頓同時會產(chǎn)生很多內(nèi)存碎片。游戲?qū)ο缶彺娉睾芎玫亟鉀Q了這一問題,它在合理利用設(shè)備內(nèi)存的同時還能保證游戲畫面的流暢。游戲場景開始加載的時候我們預(yù)先實例化一定數(shù)量的接下來要用到的游戲?qū)ο?,將游戲?qū)ο笾脼榉羌せ顮顟B(tài)放入緩存池,對象實例化的數(shù)量根據(jù)需求決定,例如金幣同屏最多30個,則可以在最開始時實例化30個金幣。如圖3所示:

      圖3 對象池設(shè)計圖

      當(dāng)外部需要某種游戲?qū)ο髸r可直接從緩存池獲取,然后把游戲?qū)ο笾脼榧せ顮顟B(tài),外部用完該游戲?qū)ο蠛蠓颠€給緩存池并置回為非激活狀態(tài)。當(dāng)切換游戲場景或終止游戲的時候,我們會對緩存池進行一次性清理。采用此種方式管理游戲?qū)ο蠓浅S行У毓芾砹藘?nèi)存并避免了內(nèi)存泄漏。

      4 客戶端設(shè)計與實現(xiàn)

      為了驗證該客戶端框架的可用性,我們采用此框架實現(xiàn)了一款動作類即時戰(zhàn)略游戲,游戲場景、人物為全3D設(shè)計,以戰(zhàn)斗中控制大招點放,聚焦各人物特色技能為亮點。我們把該游戲的開發(fā)分為兩塊,戰(zhàn)斗系統(tǒng)和除戰(zhàn)斗系統(tǒng)之外的系統(tǒng)(簡稱外圍系統(tǒng))。外圍系統(tǒng)通常包括人物養(yǎng)成系統(tǒng)、副本系統(tǒng)、商城系統(tǒng)、郵件系統(tǒng)等等,由于篇幅的限制,本文將主要介紹體現(xiàn)游戲核心玩法的戰(zhàn)斗系統(tǒng)。

      我們將戰(zhàn)斗場景中的游戲?qū)ο蠓譃閮纱蟛糠郑呵胺経I界面與后方的場景對象。UI界面是2D的,后方場景對象則為3D。后方的場景對象一般包括角色對象、地圖資源、武器對象以及各類特效等等,體現(xiàn)了游戲的核心玩法。作為游戲的重要一部分,大量游戲界面用來顯示玩家與游戲內(nèi)各類信息。上文我們已經(jīng)介紹了基于NGUI的UI框架用來生成與控制大量的UI界面,這里我們將針對后方場景游戲?qū)ο蟮纳膳c控制進行簡單的介紹,并以戰(zhàn)斗中角色對象的管理器為例進行詳細的說明。

      4.1游戲?qū)ο蟮纳膳c控制

      一方面在戰(zhàn)斗場景中每個動態(tài)的游戲?qū)ο蠖际且粋€單獨的線程,不斷根據(jù)用戶的操作或者事件的進行自我更新并改變自身的行為,復(fù)雜的游戲?qū)ο笸枰獛讉€組件來控制自身的行為,如場景中的人物角色,需要動畫播放組件、位置管理組件、行為狀態(tài)機以及碰撞處理器等等,每個組件獨立負責(zé)自己的功能邏輯,在需要通信的時候利用上文介紹的消息管理器,這些組件采用組合模式,構(gòu)成整個人物角色的控制器。游戲?qū)ο蟮姆N類多種多樣,因此我們一般采用Factory模式生成對象,將游戲?qū)ο蟾鱾€組件的創(chuàng)建與初始化工作統(tǒng)一封裝起來。這里對應(yīng)上文游戲?qū)ο缶彺娉氐膽?yīng)用,實例化對象采用抽象工廠模式,不同的游戲?qū)ο笞圆煌墓S方法到對象池,以key為標(biāo)記,非常方便后期新對象的擴展。游戲?qū)ο缶彺娉爻跏蓟瘯r,根據(jù)工廠字典用不同的構(gòu)造方法生成各類游戲?qū)ο蠹尤刖彺娉氐木彺骊犃兄?,供上層隨時獲取對象。

      另一方面游戲戰(zhàn)斗中一般都有暫停、恢復(fù)功能,甚至有幾倍速播放的需求,因此要求我們實現(xiàn)一個對象控制中心來統(tǒng)一管理所有的動態(tài)游戲?qū)ο?。所有的游戲?qū)ο蠖夹枰獙崿F(xiàn)IUpdate接口的Update方法,在該方法中更新所有的相關(guān)組件。當(dāng)加載戰(zhàn)斗場景時,所有的對象從緩存池中獲取后便加入對象控制中心的更新隊列中,戰(zhàn)斗進行時通過對象控制中心統(tǒng)一調(diào)用Update方法來定時更新所有游戲?qū)ο?,這樣我們便可以通過控制Update方法的調(diào)用頻率來實現(xiàn)所有游戲?qū)ο蠼y(tǒng)一暫停、恢復(fù)以及變速播放的目的。

      4.2角色管理器

      角色對象是游戲戰(zhàn)斗中最重要的組成元素,要想充分地吸引并留住玩家除了精致的角色美術(shù)模型還要有合理流暢的管理器,因此角色管理器的設(shè)計在游戲總體設(shè)計中處于核心地位。它需要的主要組件如圖4所示:

      圖4 游戲角色管理組件圖

      我們將依次介紹組件的設(shè)計與實現(xiàn)。

      4.2.1動畫管理器

      任何游戲都離不開動畫,尤其在突出人物角色的游戲中,角色動畫是否逼真、流暢直接關(guān)系到游戲的直接體驗。動畫的逼真程度往往取決于美術(shù)工作人員,但動畫是否能自然融合和過度以及跟周圍環(huán)境進行交互還是程序開發(fā)人員的工作。

      Unity3本身提供了動畫播放組件Animation和Animator,它支持動畫播放、停止、改變速度以及動畫融合。但這些并不足以滿足我們復(fù)雜的系統(tǒng)需求,Unity3D本身的動畫播放組件是基于時間自動播放動畫的,但我們需要動畫組件服從對象控制中心的統(tǒng)一調(diào)用進行幀更新,于是我們編寫了動畫管理器組件,它實現(xiàn)了以下功能:提供一個適配層讓動畫根據(jù)幀來進行播放,從而實現(xiàn)動畫的暫停、恢復(fù)以及變速播放;加入伴隨角色動畫的特效動畫,讓特效動畫與角色動畫保持同步播放;同時加入動畫事件系統(tǒng),實現(xiàn)動畫依賴的事件回調(diào),如角色攻擊的傷害判定。

      應(yīng)用此動畫管理器組件可以方便得控制角色動作的播放,添加動畫事件與周圍環(huán)境進行流暢交互,增加角色運動的多樣性,給玩家?guī)韽娏业囊曈X感受。

      4.2.2行為管理器

      游戲角色在游戲運行時往往有著不同的行為狀態(tài),如待機、攻擊、奔跑等等。游戲角色在不同的行為狀態(tài)下會產(chǎn)生不一樣的行為,并會在達到一定條件時切換行為狀態(tài),這便構(gòu)成了角色的行為狀態(tài)機。我們采用了狀態(tài)機模式實現(xiàn)了行為管理器,所有行為實現(xiàn)三個接口供行為管理器調(diào)用,分別為:狀態(tài)更新Update,進入狀態(tài)OnEnter,離開狀態(tài)OnExit。行為管理器作為角色行為狀態(tài)的控制中心,它維護該角色所有會產(chǎn)生行為的字典,以行為枚舉類為key,同時維護角色當(dāng)前唯一的行為狀態(tài)currentBehavior,行為管理器每幀的更新操作會調(diào)用currentBehavior的更新操作,當(dāng)達到一定條件時調(diào)用設(shè)置行為的函數(shù)并傳入枚舉類值來切換行為狀態(tài),此時會自動調(diào)用老行為狀態(tài)的OnExit操作,同時調(diào)用新行為狀態(tài)的OnEnter操作。

      采用行為管理器控制角色行為邏輯,可以讓開發(fā)者更加關(guān)注每個行為的具體邏輯而不用擔(dān)心狀態(tài)的切換。

      4.2.3碰撞處理器

      游戲尤其動作類游戲中避免不了對碰撞事件的處理,例如子彈碰到角色需要處理角色受擊,NPC角色在行走模式時碰到敵方角色或塔防需要切換至攻擊模式,碰到友方角色或塔防等障礙物需要改變行進路線。Unity3D提供了碰撞檢測的API,需要給游戲?qū)ο筇砑优鲎财鰿ollider跟剛體Rigidbody組件。碰撞器有各種形狀,Box Collider、Sphere Collider、Mesh Collider等等,我們可以根據(jù)具體需求來進行選擇。剛體用來描繪游戲?qū)ο蟮母鞣N物理屬性,可以讓游戲?qū)ο笤谂鲎埠髧栏褡裾瘴锢硪?guī)則來運動。兩個游戲?qū)ο螽a(chǎn)生碰撞的前提是,兩個對象都帶有碰撞體同時至少其中一個對象帶有剛體。

      Unity3D內(nèi)的碰撞處理的方式有兩種,一種是利用碰撞器,游戲?qū)ο笈鲎睬昂髸{(diào)用碰撞函數(shù)OnCollisionEnter/ Stay/Exit,同時根據(jù)物理規(guī)則產(chǎn)生碰撞效果。另一種是利用觸發(fā)器,即把對象身上碰撞器的IsTrigger屬性置為True,這種情況下僅調(diào)用碰撞函數(shù)OnTriggerEnter/Stay/Exit,而不產(chǎn)生任何碰撞效果。

      游戲開發(fā)過程中,為了保證對所有游戲?qū)ο蟮目煽匦?,我們一般采用后者來處理碰撞。我們的角色碰撞處理器便是為了處理游戲?qū)ο箝g的碰撞事件,它繼承于MonoBehavior腳本覆寫以下幾個函數(shù):

      MonoBehaviour.OnTriggerEnter(Collider other)當(dāng)進入觸發(fā)器MonoBehaviour.OnTriggerExit(Collider other)當(dāng)退出觸發(fā)器MonoBehaviour.OnTriggerStay(Collider other)當(dāng)逗留觸發(fā)器我們可以通過傳入的Collider獲取相應(yīng)的游戲?qū)ο髲亩幚硪幌盗械呐鲎彩录?/p>

      5 實驗結(jié)果

      我們應(yīng)用上文描述的客戶端開發(fā)框架開發(fā)了一個全3D即時戰(zhàn)略游戲,該游戲項目實現(xiàn)了多種復(fù)雜的游戲系統(tǒng),穩(wěn)定并具有很強的擴展性。目前該項目已經(jīng)上線運營,精細的畫風(fēng)配合流暢多樣的玩法得到玩家的一致好評,如圖5所示:

      圖5 游戲效果圖

      圖5(a)為游戲的主界面,中間部分展示的人物角色可以通過碰撞與玩家進行交互,周圍的UI部分展示了游戲的個功能入口。圖5(b)為抽獎界面,得意于功能強大的UI框架,抽獎面板可來回翻轉(zhuǎn)。圖5(c)為炫酷的戰(zhàn)斗場景,玩家可通過點擊下方人物頭像釋放對應(yīng)人物技能。

      6 總結(jié)

      本文闡述了一套通用的Unity3D游戲客戶端開發(fā)框架,并利用此框架開發(fā)了一個全3D即時戰(zhàn)略游戲。實踐證明,好的Unity3D程序員不僅要熟練使用引擎本身,還要學(xué)會在開發(fā)過程中吸取經(jīng)驗教訓(xùn),總結(jié)出好的游戲開發(fā)框架,將通用常用的功能組件提取整理,如此可以很大程度上減少開發(fā)下一個游戲的工作量。除此之外我們還要學(xué)會與團隊其他成員保持良好的溝通。

      [1] 中國游戲產(chǎn)業(yè)報告[Z]. 2016.

      [2] 謝文斌. 基于游戲引擎的沉浸式立體顯示游戲框架設(shè)計與實現(xiàn)[D]. 復(fù)旦大學(xué), 2013.

      [3] Kim A H, Bae J H. Development of Mobile Game Using Multiplatform (Unity3D) Game Engine[J]. International Journal of Intelligent Information Processing. 2014.

      [4] De Macedo D V, Formico Rodrigues M A. Experiences with rapid mobile game development using unity engine[J]. Computers in Entertainment. 2011, 9(3): 1-12.

      [5] Xie J. Research on key technologies base Unity3D game engine[C]. 2012.

      [6] Jie J, Yang K, Haihui S. Research on the 3D Game Scene Optimization of Mobile Phone Based on the Unity 3D Engine[C]. 2011.

      [7] 王超明. 基于 Unity3D 引擎的賽車手機游戲的設(shè)計與實現(xiàn)[D]. 北京交通大學(xué), 2015.

      [8] 呂林軒. 基于 Unity3D 的 “全民快跑” 客戶端的設(shè)計與實現(xiàn)[D]. 北京交通大學(xué), 2015.

      [9] 郭一晶, 吳文樹. 基于 Android 的飛行射擊游戲的設(shè)計與實現(xiàn)[J]. 微型電腦應(yīng)用, 2014, 30(6): 13-15.

      [10] 左強. 設(shè)計模式與游戲開發(fā)[J]. 程序員:游戲創(chuàng)造. 2006(3): 56-62.

      Design and Application of Mobile Game Client Development Framework Based on Unity3D

      Sang Qi1,2, Ye Dejian1,2
      (1. Software School, Fudan University, Shanghai 201203, China;2. Engineering Research Center of Cyber Security Auditing and Monitoring, Ministry of Education, Shanghai 201203, China))

      Along with the increasingly fierce competition in the game industry, forming a framework from the experience of existing game development is the only way to deal with the brutal market. This paper sums up a general framework for the development of the Unity3D game client based on the long-term game development experience, which uses the method of general manager to effectively organize the game objects in the scene as well as the control scripts of the game objects. In this paper, it first briefly describes three basic components in the frame layer including UI framework, message manager and buffer pool of game objects. Then it explains how to use the framework for client development with a real-time strategy game as an example.

      Unity3D; Game Client Framework; General Manager

      TP311

      A

      2016.02.20)

      桑 琪(1990-),女,復(fù)旦大學(xué),軟件學(xué)院,網(wǎng)路信息安全審計監(jiān)控教育部工程科研中心,碩士,研究方向:網(wǎng)絡(luò)多媒體,上海,201203

      葉德建(1976-),男,復(fù)旦大學(xué),軟件學(xué)院,網(wǎng)路信息安全審計監(jiān)控教育部工程科研中心,副教授,博士,研究方向:寬帶網(wǎng)絡(luò)與互動媒體,上海,201203

      猜你喜歡
      管理器消息客戶端
      應(yīng)急狀態(tài)啟動磁盤管理器
      一張圖看5G消息
      Windows文件緩沖處理技術(shù)概述
      縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      高集成度2.5A備份電源管理器簡化鋰離子電池備份系統(tǒng)
      消息
      消息
      消息
      定边县| 宝丰县| 三亚市| 油尖旺区| 寿宁县| 台山市| 佛冈县| 米林县| 江达县| 东兰县| 寿宁县| 阿拉善右旗| 武城县| 呈贡县| 区。| 清水县| 双流县| 福安市| 北碚区| 炉霍县| 古蔺县| 顺义区| 普格县| 烟台市| 闸北区| 荣成市| 准格尔旗| 永新县| 平山县| 永昌县| 泸溪县| 永修县| 鹤庆县| 岑溪市| 成武县| 淄博市| 前郭尔| 盱眙县| 肇源县| 威信县| 邓州市|