基于unity3D的華麗彈幕_第1頁
基于unity3D的華麗彈幕_第2頁
基于unity3D的華麗彈幕_第3頁
基于unity3D的華麗彈幕_第4頁
基于unity3D的華麗彈幕_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

中文摘要從街機游戲到計算機游戲,信息技術(shù)的影響將與信息技術(shù)相伴,未來的發(fā)展將受到非凡的影響。加上現(xiàn)代5G的起步,以后更是行業(yè)大動蕩時期,將萌發(fā)新游戲時代。今天,世界正在迅速發(fā)展著電子游戲產(chǎn)業(yè),這是人們的生活,且這是當(dāng)今所謂的第九種藝術(shù)的組成部分,電子游戲的崛起已經(jīng)給全球帶來巨大的經(jīng)濟收入。相對應(yīng)的游戲引擎也在更新迭代,為游戲提供更強大的技術(shù)支持。在現(xiàn)在的時代來看,Unity3D的發(fā)展已經(jīng)深入民心,基于Unity3D引擎開發(fā)的游戲越來越多。本文結(jié)合華麗彈幕游戲開發(fā)需求,分析了解了業(yè)內(nèi)游戲現(xiàn)狀,關(guān)注了其他游戲的優(yōu)缺點,總結(jié)了游戲過程中的一些常見問題,分析對比不同游戲之間的差異與共性。本文主要涉及游戲及其各個方面,根據(jù)游戲的實際需求選擇Unity3D機器作為游戲開發(fā)引擎,最后使用Unity3D易于使用的功能開發(fā)了一款游戲。輕巧美觀的解決了3D生產(chǎn)過程中的關(guān)鍵技術(shù)問題,以此完成畢業(yè)設(shè)計的階段性目標(biāo)。關(guān)鍵詞:游戲;Unity3D,設(shè)計;華麗彈幕游戲第一章緒論1.1研究背景隨著時代進步,電子游戲產(chǎn)業(yè)悄然從路邊街機轉(zhuǎn)身投入家用領(lǐng)域,越來越多的人們開始將消費需求轉(zhuǎn)向新興的文化層面,這就是被稱為第九藝術(shù)的電子游戲。人們開始更多的關(guān)注電子游戲的發(fā)展。傳統(tǒng)的電視電影文化節(jié)目的影響力在被電子游戲削弱,人們更多的喜歡將消費投入游戲中。那些排名位于世界前列的游戲公司創(chuàng)了上百億的收入,其規(guī)模遠遠遠超過一般的電影票房,而產(chǎn)生的經(jīng)濟收入對當(dāng)前的電視娛樂節(jié)目產(chǎn)生不小的影響。統(tǒng)計海量數(shù)據(jù)明細得知在我國這個行業(yè)每年的實際總產(chǎn)生的銷售額是數(shù)千億,而且不斷增長的趨勢。毫無疑問游戲產(chǎn)業(yè)是國內(nèi)經(jīng)濟的潛力股,這說明游戲行業(yè)是個可繼續(xù)發(fā)展并且會帶動經(jīng)濟增長的一個行業(yè)。本文以基于Unity3D的華麗彈幕游戲制作為主體,詳細介紹了游戲從最開始策劃設(shè)計過渡項目最終完成的完整過程。游戲的設(shè)計一開始要先了解3D游戲設(shè)計思路弄清楚思路才能得心應(yīng)手,然后就需要熟悉Unity3D的基本使用手冊,了解對項目開發(fā)有益的插件。Unity3D基于使用C#語言可以方便相關(guān)腳本的編寫。最后項目完成后導(dǎo)入到相關(guān)設(shè)備上調(diào)試。1.2研究現(xiàn)狀1.2.1國內(nèi)研究現(xiàn)狀對于Unity3D這樣一個最新出的、飽受爭議的游戲引擎,在我國,還沒有相對來說比較完善的、整體性強的中文教程,可以說大部分的Unity3D的教程比較零散,初學(xué)者學(xué)起來需要花費一定的時間去搜索資料。所以,在Unity3D產(chǎn)品與項目需求大量出現(xiàn)的時候,由于缺乏熟悉Unity3D特性的人員,對人才和技術(shù)積累的漠視以及對Unity3D技術(shù)的先前收集的缺乏最終導(dǎo)致了該項目的許多Universe項目中的許多廢棄。本文研究基于Unity3D的設(shè)計游戲的設(shè)計和開發(fā)。本文使用Unity3D入門,具有簡單,易于操作,易于理解和其他功能。開發(fā)一款簡單的獨立游戲,重點解決一系列重要的游戲開發(fā)問題,例如框架設(shè)計,美術(shù)資源管理和屏幕自定義。投資者可以根據(jù)游戲的演示進行對其一系列的評審觀察,最后敲定是否可行從中吸收一定的經(jīng)驗,其具有重要的創(chuàng)新和借鑒意義。1.2.2國外研究現(xiàn)狀游戲的用戶只會一直在增從來不會減少,從而開發(fā)也會相應(yīng)提升,所以研發(fā)者和玩家都是持續(xù)增長oUnity3D還可以開發(fā)虛擬現(xiàn)實游戲和應(yīng)用程序。根據(jù)Unity3D的調(diào)查報告,通過多種選擇,UnityChina已成為全球最大的開發(fā)商,用戶活動和終端設(shè)備。在全球范圍內(nèi),Unity有超級多的市場幾乎占據(jù)大數(shù),并在全球擁有最大的市場份額。離我們最近的美國只占我們市場份額的三分之一。Unity在全球擁有超過60萬個月的活躍用戶。不僅如此,東南亞的快速發(fā)展也帶動了該地區(qū)國家的電子產(chǎn)業(yè)對于全球性的Unity具有長遠意義。基于Unity的手機3D游戲也如雨后春筍般冒出。由此看來Unity在國外的發(fā)展?fàn)顩r非常熱門,前景良好。1.3研究意義1.3.1對技術(shù)推廣的意義借助Unity3D,開發(fā)人員可以輕松創(chuàng)建3D視頻游戲,建筑可視化效果,實時動畫等。它是一個全面的多平臺游戲開發(fā)工具,可讓您創(chuàng)建交互式內(nèi)容。例如,強大編輯能力,專業(yè)的游戲引擎,處理相關(guān)項目。Unity3D可以運行在各式各樣的平臺上絲毫沒有壓力。由于易于操作,因此易于使用,后來被開發(fā)為可在各種平臺上甚至在Web上分發(fā)。Unity3D可以以C#或JS為腳本語言,適用于游戲腳本語言的開發(fā)人員。Unity3.5.x的最新版本提供了Flash游戲的發(fā)布,這降低了游戲的最大開發(fā)量,降低研發(fā)人員門檻可以做到個人或者單個游戲工作室都可以進行游戲研發(fā)。1.3.2對個人技術(shù)的意義項目中主要用的語言是C#,C#是開發(fā)人員眾所周知的當(dāng)今廣泛使用的Unity3D開發(fā)技術(shù)。熟練使用C#已成為游戲開發(fā)者的必備基礎(chǔ)。通過此項目設(shè)計,學(xué)習(xí)Unity3D的印象更加深刻,并增強?Unity3D技術(shù)的兼容性和理解力。1.4研究內(nèi)容本次畢業(yè)設(shè)計的研究內(nèi)容展示了基于Unity3D游戲設(shè)計實現(xiàn)中的具體工作。主要工作分為以下幾個方面: 第一章確定研究方向和課題的意義背景。第二章介紹相關(guān)Unity3D技術(shù)以及腳本的使用等。第三章介紹游戲可行性分析、系統(tǒng)分析、性能分析。第四章介紹游戲的主體框架和總體設(shè)計包括音樂和音效等。第五章詳細介紹游戲整體設(shè)計以及實現(xiàn)功能等。第六章介紹做系統(tǒng)測試用例,判斷項目運行。第二章關(guān)鍵技術(shù)簡介2.1Unity3D簡介今天的游戲領(lǐng)域已經(jīng)包含了大大小小的跨平臺游戲,他們在占有很大的市場,通過自己的方式擴散著游戲的影響力,其中Unity3D有著非常非常優(yōu)秀的開發(fā)引擎,提供給人們?nèi)タ梢暬拈_發(fā)游戲。它在游戲的場景、畫面、腳本等各方面設(shè)計能力極強,出色的燈效,游戲講究的是動態(tài)燈光,畫面效果;Unity3D支持眾多的平臺發(fā)布游戲,它有著非常好的兼容性支持游戲項目的開發(fā)運行。一個非常好的證明是,在很短的時間里,Unity3D引擎在眾多的平臺,開發(fā)的PC游戲并且具有兼容的數(shù)量遙遙領(lǐng)先。不僅如此,它對手機游戲的開發(fā)中,也是大力支持的,所以在手機移動端領(lǐng)域也呈現(xiàn)井噴式增長,以Unity3D引擎開發(fā)的手機游戲已數(shù)不勝數(shù)。Unity3D最早誕生于3位年輕人手中,最初他們的想法是讓全世界的開發(fā)人員可以用最少的資源開發(fā)出他們喜歡的游戲,數(shù)十年后,Unity3D有著大批的開發(fā)用戶,這是因為Unity3D游戲開發(fā)引擎通俗易懂的制作辦法結(jié)合非常創(chuàng)新的可視化制作環(huán)境,對于用戶來說,它準(zhǔn)備了大量教學(xué)的課程,對于使用軟件的人來說,它有著非常高效、友好的資源管理系統(tǒng),完善的的腳本語言等等,使得Unity3D在眾多的游戲引擎中大方光彩,這種光彩也吸引了許多游戲的愛好者去了解,也因為它及其便利的制作方式而促進了很多游戲獨立開發(fā)者的制作,這對游戲的發(fā)展是具有意義的。2.2相關(guān)Unity3D技術(shù)知識2.2.1物理系統(tǒng)Unity3D有一個名為的NVIDIAPhysx內(nèi)置引擎系統(tǒng),它算是一個比較普遍被運用到的物理引擎。游戲制作者如果需要模擬現(xiàn)實的物理效果,或者需要模擬現(xiàn)實生活中的自由碰撞以及跌落摔倒等等自然反應(yīng),就可以使用這個物理引擎來為物體賦予rigidbody,從而達到自己需要的物理游戲效果。一般來說,游戲中的物體只有在有嚴(yán)格的身體構(gòu)成時才會受到重力的影響。添加到游戲?qū)ο蟮哪_本以及與物理引擎計算的其他對象的交互時也需要添加剛性組件。碰撞體Collides是可以添加到具有剛性物體的游戲?qū)ο笥脕碛|發(fā)碰撞的物理組件。Collides在軟件中,以多種形狀出現(xiàn),比如地形的碰撞器,標(biāo)準(zhǔn)的BoxCllides等等。在游戲的制作中,這兩個組件是一個很好的搭檔。Rigidbody和collides說的結(jié)合,可以讓需要有碰撞效果的物體達到這種碰撞效果,在這個項目中,得意這兩個組件,讓我的項目能夠更加完整的呈現(xiàn)。2.2.2UIGUI插件游戲制作是界面ui呈現(xiàn)和腳本技術(shù)缺一不可的,在游戲中,有一個好的比較穩(wěn)定的ui插件就顯得非常的重要了,一個游戲的畫面呈現(xiàn)能決定玩家是否會繼續(xù)玩下去。UIGUI算是是一個內(nèi)置的插件,更最先開始出現(xiàn)的GUI比較起來,它有很多的可視化按鈕、調(diào)用事件,它是一個獨立的插件包,不會跟隨著Unity版本的不一致而去發(fā)生不穩(wěn)定的變化,對于游戲開發(fā)者來說,即使是在不運行游戲的情況下,它也可以任意調(diào)整UI界面。2.2.3腳本系統(tǒng)Unity3D腳本開發(fā)是整個游戲開發(fā)過程中的重要環(huán)節(jié),即使是簡單的游戲我們通過腳本的編寫才能實現(xiàn)用戶的操作,可以說腳本是項目必不可少的一部分。此外游戲常見的事件觸發(fā)、游戲?qū)ο蟮膭?chuàng)建與銷毀等都需要通過腳本來控制。Unity3D中可以選擇兩種腳本進行開發(fā),分別為JavaScript和C#。Unity3D使用的JavaScript語法與網(wǎng)頁開發(fā)中基本相同,也可以稱其為Unity腳本。而C#是一種分別借鑒了C++和Java優(yōu)點的語言,本游戲項目是基于C#語言進行開發(fā)。2.3Unity3D制作游戲流程(1) 游戲策劃游戲的有趣性往往離不開策劃腦海中的靈感,沒有經(jīng)過策劃,游戲的第一步就無從下手。策劃的主要工作通常是編寫游戲世界觀從中獲得故事,制定游戲規(guī)則,加強玩家與游戲的互動性,整個游戲世界世界觀的詳細細節(jié)。(2) 游戲原畫設(shè)定一個游戲在進行腳本的開發(fā)之前,美術(shù)需要根據(jù)策劃案來畫出相對應(yīng)風(fēng)格的圖集的,其中包括游戲的LOGO、游戲的特效、游戲的道具以及游戲的場景等等。程序,美術(shù)缺一不可,美術(shù)可以說是一個游戲風(fēng)格走線的設(shè)計者和把控者(3) 游戲的模型及貼圖制作在制作3D游戲時,游戲中的場景建?;蛘呤侨宋锝巧:偷谰呓J悄苌俚模@需要3D建模師根據(jù)策劃案,去制作出能夠符合游戲的模型,并且給這個模型貼上圖片,模型和貼圖的好壞絕對會讓游戲增色不少。(4) 游戲的程序編寫當(dāng)游戲大體完成后,研發(fā)者就要寫代碼實現(xiàn)游戲里面各種角色的操作了,界面交互,傷害的計算,血量的計算,AI的行動方式和巡邏路徑等。沒有腳本編寫的游戲相當(dāng)于斷了線的木偶,只有編寫好了程序才能通過掛載在物體上使其運行。游戲的測試在一個游戲制作完成之后,就非常需要去測試游戲的功能是否能夠順利運行,去注意到游戲的UI界面、細節(jié)等是否達到了自己想要的效果。測試得越早,以后解決BUG的時間成本就會越低,所以在開發(fā)初期,測試就應(yīng)按計劃流程階段進行。在游戲的開發(fā)過程中,會使用其他的的軟件和其他的插件應(yīng)用,使用的軟件也因經(jīng)過測試才方便配合游戲的創(chuàng)作。游戲初期版本的開發(fā)涉及到游戲初期的運行測試。綜上所述良好的游戲開發(fā)需要大量的測試輔助完成,測試能盡早發(fā)現(xiàn)游戲開發(fā)過程中的弊端。2.4C#簡介c#語言是微軟公司開發(fā)的編程語言。在眾多的語言中,它有著不可替代的優(yōu)點,相對比于C++,他更加的簡單易懂,對一個入門級別的程序開發(fā)者來說,它是友好的,也更加穩(wěn)定有效。除此之外,C#能夠很方便快捷的在其他IDE當(dāng)中使用,因為C#把核心從Windows和VisualStudio當(dāng)中剝離了出來。這就說明開發(fā)者可以用任何的自己擅長的喜歡的IDE或者編輯器去編寫C#腳本??傮w來看,C#語言特點非常明顯,簡潔、穩(wěn)定、方便快捷。它是一個站在開發(fā)者角度的一個腳本編輯器,它在擁有簡單,易上手的巨大優(yōu)點的同時,也兼顧到了程序開發(fā)者非注重的特性,C#也從專有的技術(shù)轉(zhuǎn)化為了一個開源技術(shù),這對C#的發(fā)展來說是非常具有重大意義的。第三章系統(tǒng)需求分析3.1可行性分析該軟件的可行性分析是為了保證系統(tǒng)的開發(fā),其后的可用性和可持續(xù)性,并預(yù)測項目結(jié)束后可獲得的經(jīng)濟效益。技術(shù)可行性考慮實施項目所需要用到的資源要考慮當(dāng)前開發(fā)人員技術(shù)上限,同時應(yīng)詳細考慮項目所需要的技術(shù)以及開發(fā)過程的棘手問題。Unity3D支持的插件也越來越多樣化同時豐富了開發(fā)者的需求,開發(fā)界面的GUI,作為用戶的交互控件可以方便進行游戲交互的開發(fā)。Unity3D在PC端上有著不俗表現(xiàn),將華麗彈幕游戲發(fā)布實現(xiàn)看來是能達到預(yù)期效果。基于Unity3D的華麗彈幕游戲的設(shè)計與實現(xiàn)在Unity下完成,Unity支持多種編程語言如使用頻繁Javascript、C#等。在Unity3D的整潔工作界面環(huán)境下,即使是初學(xué)者也能通過簡單的代碼完成簡單可用的原型,從最開始的只支持打包導(dǎo)出exe文件,到支持跨平臺應(yīng)用發(fā)布,并且在Unity也在迭代更新,通過一系列的更新表明開發(fā)者手中還在繼續(xù)探索著Unity的可發(fā)展領(lǐng)域并不斷將Unity可用性擴大。綜上所述,基于Unity3D的華麗彈幕游戲的開發(fā)技術(shù)具有很高可行性,開發(fā)者通過獲得一定開發(fā)技術(shù)來開發(fā)游戲。可行性對于該游戲項目來說是理論可行的。經(jīng)濟可行性一個成功的游戲從開發(fā)運行到后期維護更新,包含了大大小小的費用,從公司注冊成本再到時間成本、人力資源成本、機會成本,可以說一款優(yōu)秀的游戲所花費的人力物力資源并不少?;赨nity3D的華麗彈幕游戲的設(shè)計與開發(fā)的過程中,開發(fā)成本不高,早期的開發(fā)和投資系統(tǒng)不必投入大量資金,從而降低了成本并提高了效率。從經(jīng)濟角度來看,改游戲前景是很有可行的。管理可行性因為此游戲的任務(wù)簡單明了,所以玩家可以直接使用簡單文檔中描述的緊急聯(lián)系信息進行工作,而無需其他管理和人員管理。因此,從管理的角度來看,基于Unity3D的華麗彈幕游戲是合理的可行的。法律可行性本游戲項目主要用于提供廣大喜愛華麗彈幕游戲者一同欣賞娛樂,同時主要以學(xué)習(xí)為主,不參與商業(yè)活動,因此在法律上是可行的。3.2需求分析開發(fā)者建立了一個邏輯世界觀,完善游戲主要目標(biāo),讓玩家在虛擬世界中體驗現(xiàn)實,探索自我。體驗虛擬世界中無法通過游戲在現(xiàn)實世界中探索的事件,找到不 屬于現(xiàn)實世界的虛幻從而獲得滿足感。要達成這個階段就要分析游戲項目需求的功 能,確定系統(tǒng)必須要完成的水平。從需求分析來看,充分考慮目標(biāo)人群想獲得的內(nèi) 容,玩家在什么樣的場景會使用,玩家使用時將碰到程序上問題等。 游戲開發(fā)過程的過程可大致分為游戲前期策劃和游戲制作實現(xiàn),前期經(jīng)過開發(fā) 者策劃制定游戲初步方向并打下理論基礎(chǔ)。開發(fā)過程中遇到的實際問題應(yīng)反射到前 期策劃的方向上,策劃與制作應(yīng)相輔而成。決定游戲的可玩性往往取決于策劃文案, 眾所周知策劃文案是大多數(shù)游戲的生命線,玩法不夠創(chuàng)新必然使得游戲失去可玩性導(dǎo)致玩家流失,企劃游戲時必須選擇好的主題,根據(jù)游戲的內(nèi)容決定游戲的風(fēng)格和 邏輯,豐富了游戲題材才能讓玩家自然而然喜歡上游戲。游戲開發(fā)階段以及兩者之間關(guān)系如圖3.1所示。提供依據(jù) 游對前期策劃爺 T游戲制作實現(xiàn)反憒圖3.1游戲開發(fā)流程3.3游戲性能分析可靠性需求 游戲可用性:普通玩家可以使用游戲文檔來滿足一般的操作要求,界面設(shè)計非常合理,玩家能方便的使用游戲進行游玩。游戲的完整性需求信息記錄保持完整,保證信息不被非授權(quán)者輕易修改內(nèi)容。在保持信息在傳輸、 交換、儲存和處理期間,性能數(shù)據(jù)應(yīng)予以披露、丟失、未經(jīng)許可更改和具有最安全的特性。性能需求 游戲能執(zhí)行所有功能且不占用大量資源,響應(yīng)時間決定游戲的反饋時間,考慮 到該游戲項目為單機類型,估算游戲性能要求不高,實現(xiàn)項目運行是完全可行的。易用性需求進入游戲時,用戶必須根據(jù)游戲文件的要求理解游戲中的所有操作。游戲界面 的布局盡可能簡潔舒適,用戶需要與可視化畫面對應(yīng)的提示和幫助獲得相應(yīng)引導(dǎo)。3.4本章小結(jié)首先對游戲的可行性進行分析,主要包括技術(shù)可行性,游戲性能,開發(fā)流程可行性等確定游戲開發(fā)可行性。然后對游戲進行功能性需求分析,在游戲創(chuàng)作階段同時要注意非功能性需求分析方便確定游戲項目的具體內(nèi)容。第四章游戲設(shè)計4.1框架設(shè)計基于Unity3D的華麗彈幕游戲開發(fā)環(huán)境在Unity下進行,使用UIGUI提供圖形方式顯示界面,UI系統(tǒng)會自動創(chuàng)建EventSystem負責(zé)監(jiān)聽輸入的信息。簡潔的界面有利于提高工程項目制作的效率。Unity引擎開發(fā)中的界面如下。圖4.1unity3D游戲開發(fā)圖開發(fā)界面主要由菜單欄,工程面板,游戲場景,層次版面等組成。(1)菜單欄顯示了全部unity中操作的選項,開發(fā)者通過菜單欄執(zhí)行打開、保存工程文件等操作,菜單欄如圖4.2所示,游戲開發(fā)中的UI通過Component選項打開創(chuàng)建。FileEditAssetsGam-eObjectComponentWindowHelp圖4.2Unity3D菜單欄圖 (2)工程面板是Unity3D的重要組成部分。下圖工程面板中是unity3D工程中的源文件夾,里面包含了該工程的全部項目文件,開發(fā)者可以在該文件中導(dǎo)入導(dǎo)出資源,如果在文件系統(tǒng)中修改文件,工程面板文件顯示也會自動更新。圖4.3unity3D工程面板圖(3)游戲場景是unity3D開發(fā)的可視化窗口,場景分為Scene和Game,開發(fā)者通過Scene的可視化場景進一步搭建場景然后通過Game畫面進行即時模擬。攝像機是場景里的重要組成部分,而游戲最終畫面是由攝像機的位置和拍攝畫面決定,不同于代碼的字符,可視化場景方便開發(fā)者更好的完成游戲開發(fā)需求。場景面板如圖4.4所示。圖4.4unity3D游戲場景展示圖(4)監(jiān)視器也是unity3D的重要部分,相當(dāng)于文件的詳細信息顯示。開發(fā)者在監(jiān)視器查看Gameobject中的信息,對信息進行修改。開發(fā)者在左邊GameObject列表選擇后監(jiān)視器會展示其詳細信息。下圖為Canvas的詳細信息圖圖4.5unity3D監(jiān)視器圖4.2總體設(shè)計4.2.1游戲功能設(shè)計目前游戲在市場上熱度暴增也讓很多人把關(guān)注點放在了游戲身上,人們將空閑的時間打發(fā)在游戲上已經(jīng)是越來越普遍的行為。游戲受歡迎的原因有易于上手的便捷性,游戲交互的娛樂性還有游戲的可操作的自由性。在基于Unity3D的華麗彈幕中,玩家需要通過巧妙操作躲避子彈,游戲的設(shè)計為關(guān)卡式,在游戲內(nèi)能隨時暫停。本文基于Unity3D的華麗彈幕游戲使用的是關(guān)卡式,必須要解鎖完成這關(guān)本關(guān)然后才能有資格進入下關(guān)。該游戲的功能圖如下圖所示:基于Unity3D的華麗彈幕游戲查看生命值保存游戲記錄顯示成績選擇音效查看排行榜開始游戲繼續(xù)游戲暫停游戲選擇游戲模式查看生命值保存游戲記錄顯示成績選擇音效查看排行榜開始游戲繼續(xù)游戲暫停游戲選擇游戲模式圖4.6游戲功能設(shè)計圖4.2.2美術(shù)與音效設(shè)計設(shè)計游戲界面風(fēng)格與游戲音效也是游戲設(shè)計中富有意義的一部分。好的游戲設(shè)計的優(yōu)秀藝術(shù)風(fēng)格游戲也會被世人銘記,游戲被稱為第九藝術(shù)也并非浪得虛名,傳統(tǒng)藝術(shù)或多或少的影響游戲方面的美術(shù),基于傳統(tǒng)美術(shù)上的方面開發(fā)者需在游戲中創(chuàng)作屬于自己的藝術(shù)領(lǐng)域。游戲美術(shù)設(shè)計也是游戲藝術(shù)的一部分。很多出色的開發(fā)者參與游戲的制作,其中游戲藝術(shù)家決定了游戲的品質(zhì),游戲藝術(shù)家具備專業(yè)的美學(xué)知識和游戲設(shè)計知識,并在游戲中合理利用自己的傳統(tǒng)美學(xué)知識融入到游戲里。?Prajcct-□Console匚re-at4?—Animatinn% ,只三罷也?噸5^少匸所?fiudioEOpS云FontsAudiaCliitfaflpsaounoeisAudiaCliitalPicturei^aiButtlet云EffecthiPlaneDesb'D/MEnemyiSItemMap圖4.7音頻管理基于Unity3D的華麗彈幕游戲,除了游戲美術(shù)之外,游戲的聲音決定了游戲的模擬真實程度。聲畫一直是游戲表現(xiàn)力的重點,開發(fā)者希望玩家看到畫面聽到聲音并沉浸在其中,通過游戲聲音玩家也能判斷自己所處的環(huán)境做出相應(yīng)的判斷,可以說音效也有引導(dǎo)的作用在里面。聲音與游戲畫面紊亂則會提供錯誤的信息,玩家難以用正確的操作反饋從而大大降低了可玩性。同樣音效也非常重要,不能缺少。4.2.3運行環(huán)境設(shè)計游戲開發(fā)時候需要的環(huán)境要求為:winlO系統(tǒng)以及以上操作系統(tǒng)之中。該工作環(huán)境下的處理器為英特爾酷睿17-7700HQ四核處理器。操作系統(tǒng)為winlO旗艦版,win7,win8版本亦可。4.2.4游戲關(guān)卡設(shè)計(1)游戲難度內(nèi)分簡單和困難模式。游戲敵機分普通飛機,中型飛機,boss三種簡單模式:普通飛機①類發(fā)射指向性彈幕,朝飛機下方一次性發(fā)射一串子彈;普通飛機②類發(fā)射不同速度的隨機密集彈幕(困難模式的子彈速度加快);中型飛機同時發(fā)射指定玩家飛機方向的扇形子彈和隨機子彈(困難模式的子彈數(shù)量翻倍,扇形距離擴大子彈射出速度增加);boss同時擁有普通飛機和中型飛機的子彈攻擊。游戲中還可以點擊屏幕上方的模式暫停游戲。死亡后顯示玩家分數(shù)成績和歷史最高紀(jì)錄并詢問是否輸入名稱記錄排行榜。圖4.8參考飛機發(fā)射彈幕(2)特色消除彈幕判定:游戲進行中玩家可以通過按住鼠標(biāo)左鍵完成開火、放大招、消除彈幕等操作。自機的判定為飛機正中心的一個較小圓形區(qū)域,只要該區(qū)域不被子彈打中,不算自機被擊落,相對應(yīng)的敵機會發(fā)射大量密集彈幕,為了應(yīng)對密集彈幕,消除彈幕按鍵是專門為緩解玩家壓力而做,消除彈幕是隨著時間增加逐漸積累的進度條,當(dāng)進度條滿了,按下大招旁邊的鍵位即可立刻消除區(qū)域彈幕。消除彈幕如圖4.9。privatevoidCleofEulLatHandla0/消除;理Ic1earBulletTimer■-TimeLdeltaTime; .?'U、.;It\ .I|Ul:'JHif(clearBulletTimer<clearEulletCd) i1P幕消險2間小丁勃「3肖-/'CD.I':(Ev?I:tCenter.Bruadcast(EventBefine-CpdateClearBu11.etPrghclearBull^tTimer/clearBu11etCd);isRefreshPig-false: -"i.'i)■else■I(if(!isRefreshPrg)(■iEventCenter.Broadcast(EventDefine.Update€1earBulietPrg3clearBui1etTimer/elearBulletCd);isRefreshPrg=true;//Al[|新i:}:)}圖4.9消除彈幕(3)當(dāng)敵機死亡時候調(diào)用父類死亡,通過DestroyGameObject將敵機于游戲中銷毀并同時播放爆炸動畫效果與音效。publicoverridevoidDie(){CreateDestroyEffeet(newVector3(0.6fp0.6f,If));//創(chuàng)建摧殿特效和特效尺寸大小AndioManager.Instance.PlaySound(AudioConst.EFF_EXPLODE_1):〃調(diào)用音效GameManager.Instance.AddScore(score>增;.l[分以base.Die0;■■■'/調(diào)用父類死T二方法圖4.10敵機死亡代碼圖4.11摧毀爆炸效果動畫(4)游戲場景滾動播放。背景圖片通過this.transform.translate()緩慢向下移動,在通過v3postion實時獲取當(dāng)前地圖移動坐標(biāo)判斷是否循環(huán)。如圖4.12所示。]puiblicclassBackEonuidLaGp:UonoBehaviour{- publicfloatspeed=2f:* private觀idUpdate()?if(GaweManager.Itistaiice.GameStaie!=GaneState.Battle)return;「丁如果不是在戰(zhàn)斗狀念就不用蓿環(huán):this,transforn.Translate(l'eetor3down*speed*TitaedeltaTime);■iMR項Vectox3pDation=this,tzaasfom-position;?次時汩;;地底移動坐標(biāo);//地圖超過了這個范國又重新惘壞]:;if(postiotLy<=-IL5fJtrosform.position=newVectors(postloti. gsostion.y+IL5f*2?postion.s);圖4.12場景滾動播放4.3 本章小結(jié)基于Unity3D的華麗彈幕游戲設(shè)計首先給出了游戲基礎(chǔ)設(shè)計模型和整體設(shè)計思路。根據(jù)設(shè)計思路中的內(nèi)容編寫游戲項目,需求分析對游戲整體進行分析,將游戲大體分成細節(jié)進行編寫,敵機的生成運行與子彈射擊音效處理,最后保證游戲開發(fā)流暢,并設(shè)計軟件的運行環(huán)境。通過設(shè)計完善游戲從而進一步實現(xiàn)。第五章游戲?qū)崿F(xiàn)游戲?qū)崿F(xiàn)后,可進行游戲打包與發(fā)布。選擇游戲要發(fā)布到的平臺,然后添加要發(fā)布的場景。完成生成設(shè)置之后,進行詳細設(shè)置階段。點擊bulid,設(shè)置游戲名稱將游戲打包生成。完成以上兩個步驟之后,成品文件介紹。5.1屏幕設(shè)置在初次打開的時候,可以在頁面中進行設(shè)置屏幕大小,進行設(shè)置的界面如圖所圖5.1游戲配置界面5.2游戲主要界面如圖5.2所示為主界面,玩家可以通過該主菜單界面選擇開始游戲,游戲主界面展示如下所示。其中包括開始游戲、排行榜、設(shè)置遺跡退出游戲等選項。整體界面由MenuPanel、SettingPaneKRankPaneKBattlePanel四部分組成。圖5.2游戲主要界面5.3游戲內(nèi)界面玩家點擊開始游戲按鈕后,馬上可以開玩。如果正在進行游戲,則玩家可以單擊簡單模式停止游戲并退出游戲。左下角為大招按鍵,上面顯示2/2表示當(dāng)前可用次數(shù)為2次,上限次數(shù)最大為2。最下方的彈幕消除會隨著時間增長而累積,滿格之圖圖5.6音效設(shè)置界面圖圖5.4定義多種子彈類型后可按下右邊的彈幕消除清除彈幕。圖5.3參考游戲界面普通飛機會發(fā)射指向正下方的一串彈幕;另外一類飛機發(fā)射不同速度的隨機密集彈幕;困難模式的子彈密度增加;紅色小飛機朝下方發(fā)射指定方向的子彈和隨機子彈;困難模式下的子彈數(shù)量翻倍,另外一類飛機扇形距離擴大子彈射出速度增加。通過以下代碼定義四種子彈類型方便掛載在飛機類上。publicV'?idShootCftuillBtTypflbulletType,OwiuarTT^eVectorSp-dSifloatejk。圍iiitcount,iotatk,d:iectargs=cilII)1:Etch(buJletrype)1:<sase-BulletTypE.Efone:! :!break;cas?Bullet-Type.Single;£ingleBiilL^t.Slw>t(cvtier,posr紀(jì)1,玳虬>ar旺.);breai:caseBulletType?Sineletol:singleColBullet.Shoot(OTier,posPspeed,remit』at-Kargs);breal;;caseBulletiype,RandooClose:rstnd.ciQClcs&Eu]Le-t.Shoali'cmi&rtpcisrspeed,count,atkpargs):hreal;BiilletTypE.Secto-r;5&ctorBulletcShflot-(o?nrr3po*speed,c<xmtP玳虹argsl;breal;easeBuiletType?Las-eribreai:? :default:; ;breal;5.4排行榜保存界面玩家在游戲結(jié)束后可以通過圖5.5所示界面代碼添加玩家姓名,保存目前的游戲記錄。輸入的名字將會被記錄在主界面的排行榜內(nèi)。publicList<Record>GetRankList(GameModemode){if(mode=GameHode.None)1retuxnnul1;iListCRecord>records=mode=GawMode,Easy?easyRecords:hardReccrds;returnrecords?OrderBy(a=>a.score)?ReverseQ.ToList();)privatestringEncode(ListCRecord>records){stringdata.=foreach(varit巳elinrecords){data-string.Format(■*{0},{1}-item,tiame,item,score);由t化逐凱舟:収名了、分魏I 1}data=data.TrLJiiEtid(,returndata:)圖5.5排行榜記錄代碼5.5音效設(shè)置游戲音效設(shè)置代碼展示如下圖5.6所示。拖動音樂滑條可以調(diào)節(jié)游戲界面的背景音樂大小,拖動音效滑條可以調(diào)節(jié)游戲內(nèi)子彈音效等聲音大小。IpublicclassAudioMana^Er:MonoBEhavioLir(publicstaticAudioMana^erInstance{get;privateset:。'平-I叫iiIprivatefloatmusicVolume-0.咅樂聲咅publicfloatMusicVo]ume[get(returiimusicVoluihe;]}privatefloatsoundVoLuine=0.5F〃音效聲音publicfloatSoundVolume(g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論