<optgroup id="liuka"><i id="liuka"><center id="liuka"></center></i></optgroup>

<span id="liuka"></span>
  • <ruby id="liuka"><menu id="liuka"></menu></ruby>

  • <optgroup id="liuka"></optgroup>
    <span id="liuka"><video id="liuka"><b id="liuka"></b></video></span>
    書簽 分享 收藏 舉報 版權申訴 / 30

    類型16210120607_黃梓豪_基于Unity3D的橫版過關游戲設計與實現.docx

  • 上傳人:小香灰
  • 文檔編號:84338
  • 上傳時間:2021-08-03
  • 格式:DOCX
  • 頁數:30
  • 大?。?.90MB
  • 注意事項:

    本文檔如無特殊說明,請使用OfficeWPS軟件打開,文檔中的文字與圖均可以修改和編輯。

    版權聲明:

    本文檔由用戶上傳版權歸上傳用戶所有,搜文庫僅提供文檔存儲空間。若發現您的權利被侵害,請聯系客服郵件kefu@souwenku.com,我們盡快處理。

    關 鍵  詞:
    16210120607 黃梓豪 基于 Unity3D 過關 游戲 設計 實現
    文本預覽:
    本科畢業設計(論文) 基于Unity3D的橫版過關游戲設計與實現 Design and Implementation of Platform Level Game Base on Unity3D 院 (系) 計算機學院 專 業 軟件工程 班 級 16軟件6班 學 號 16210120607 學生姓名 黃梓豪 指導教師 葉小鶯 提交日期 年 月 日 畢業設計(論文)原創性聲明 本人鄭重聲明:所呈交的畢業設計(論文),是本人在指導老師的指導下,獨立進行的設計(研究)工作及取得的成果,論文中引用他人的文獻、數據、圖件、資料均已明確標注出,論文中的結論和結果為本人獨立完成,不包含他人已經發表或撰寫的作品及成果。對本文的研究作出貢獻的個人和集體,均已在論文中作了明確的說明。本人完全意識到本聲明的法律結果由本人承擔。 畢業論文作者(簽字): 簽字日期: 年 月 日 成績評定 成績項 論文成績(百分制) 折合比例 實得成績(折合分) 指導教師成績 30% 評閱教師成績 20% 答辯成績 50% 總評成績 注:畢業設計(論文)成績按百分制評定。答辯成績不及格的(評分低于60分的),則該畢業設計(論文)總評成績為答辯成績。 內容摘要 隨著互聯網不斷地普及,游戲逐漸走進了人們的生活,受到了廣泛的關注和喜愛,其中各種風格類型的游戲蓬勃發展,但主打便捷性以及大眾性的游戲還比較少。為此,研究設計了一款以橫版過關為核心玩法的2D游戲。 本次研究將實現一款基于Unity3D的橫版過關類游戲,本游戲以跑酷為主要玩法,加上收集、過關等要素。結合了當代2D游戲的開發思路和研究方向。以玩法豐富和獨特的風格設計吸引玩家。給與玩家休閑娛樂的同時又增添了許多刺激和挑戰,適合大部分玩家游玩。 首先,本設計以關卡系統為核心,基本確定了想要傳達的游戲內容和制作方法。本文詳細介紹了通過跑酷這一核心要素開展各種有趣的玩法設定,能給予玩家很多意想不到的挑戰和驚喜。在各種玩法的銜接上,給予玩家一定的“學習”時間,讓游戲體驗更加緊湊,游戲體驗也更佳。 在交互反饋上,通過相應的UI動畫和反饋音效讓玩家能感受到游戲的反饋,從玩家的角度出發進行設計。 綜上所述,本文研究實現的跑酷類過關游戲具有創新性高,趣味性強等特點。實現過程不僅加深了自己對游戲開發的理解,還能提供很高的研究及應用價值。 關鍵詞:Unity3D 關卡設計 跑酷類游戲 Abstract With the continuous popularization of the Internet, games have gradually entered people's lives and have been widely attention and love. Among them, various types of games are grow vigorously, but the main convenience and popular games are relatively few. For this reason, a 2D game is designed with the platform level as the core. This research will implement a cross-level game based on Unity3D. This game uses parkour as the main gameplay, with some elements such as collection and clearance. It combines the development ideas and research directions of contemporary 2D games. Attract players with rich gameplay and unique style design. It adds a lot of excitement and challenges to the players while being entertained, which is suitable for most players to play. First of all, this design takes the level system as the core, and determines the game content and design method. This article details the various interesting gameplay settings through the core element of parkour, which can give players many challenges and surprises. In the connection of gameplay, give players a certain "learning" time, making the game experience more compact and better. In interactive feedback, the player can feel the feedback of the game through the UI animation and feedback sound effects, and design from the perspective of the player. In summary, the parkour-based level-crossing game researched and implemented in this article is highly innovative and interesting. The implementation process not only deepens my understanding of game development, but also provides high research and application value. Key words: Unity3D Level design Parkour games 廣東東軟學院本科生畢業設計(論文) 目錄 第一章 緒論 1 1.1 研究目的及意義 1 1.2 國內外研究現狀 2 1.2.1國內研究現狀 2 1.2.2國外研究現狀 2 1.3 研究內容及研究方法 3 第二章 Unity引擎介紹 4 2.1 Unity引擎簡介 4 2.2 Unity引擎開發的優勢 4 2.3 Unity游戲腳本分析 4 第三章 游戲的需求分析 5 3.1玩家需求分析 5 3.2功能需求分析 5 3.3性能需求分析 6 第四章 游戲設計與實現 7 4.1 游戲結構設計 7 4.2 UI設計 7 4.2.1開始界面 7 4.2.2設置界面 9 4.2.3暫停界面 9 4.2.4結束界面 10 4.3游戲關卡系統設計 11 4.4游戲場景系統設計 13 4.4.1 場景編輯 13 4.4.2 Cinemachine功能 14 4.4.3 復活功能 15 4.4.4 敵人AI 16 4.4.5 游戲交互 16 4.4.6 音樂控制 18 4.5本章小結 18 第五章 游戲測試 19 5.1功能測試 19 5.2性能測試 20 5.3 游戲測試結果分析 20 第六章 總結與展望 21 參 考 文 獻 22 致 謝 23 23 第一章 緒論 1.1 研究目的及意義 如今,隨著全球互聯網行業的發展和電腦、手機、IPad等電子設備的更新迭代,網絡游戲的各種載體和類型不斷豐富,目前市場上的各種類型游戲品質不斷提高,各種不同游戲類型均有龐大的受眾群體。電子游戲已經成為了現代人們業余消遣的不二之選,不僅有大量類型的游戲滿足不同玩家的胃口,還有各類小程序游戲滿足了上班族緊迫的生活節奏。使得他們能在高速發展的環境中得以放松以及體驗到游戲帶來的樂趣。隨著大部分學生以及上班族都在追求時間利用率的最大化,以傳統主機游戲為載體的各類家用游戲機已不能滿足時間較為緊迫的上班族,追求簡單、高效的pc、移動平臺游戲越來越受到了青年一代學生和上班族的青睞。如今發展更為便攜更為高效的小游戲逐漸成為了市場的需求,目前國內各大游戲公司也在努力往這類游戲發展,可見此類游戲的發展前景。毋庸置疑,這已經成為了現代生活中各群體享受生活的絕佳選擇。但目前游戲性更為直接以及大眾性的游戲還比較少。為此,研究設計了一款以橫版過關為核心玩法的2D游戲。 隨著商業化游戲開發引擎的不斷壯大和完善,目前越來越多的游戲引擎能滿足各大游戲廠商和游戲開發者的需求。例如Unity3D、Unreal、寒霜引擎等等,同時由于Unity3D引擎的受眾廣泛、入門更為簡單等特點,已經成為了更多入門開發者的選擇,相較于游戲行業初期需要開發者從第一行代碼從“零”開始搭建基層代碼,游戲引擎對于基層代碼的封裝無疑讓我們減少了很多重復性的代碼編寫。Unity應用廣泛的另一個原因就是其跨平臺的特性,使得開發者只用學習一種語言就能進行跨平臺開發。同時Unity官方發布的大量開源免費資源和插件使得讓看起來較為復雜的游戲開發也變得更為簡單同時還不失趣味性以及專業性。為廣大游戲廠商和游戲開發者帶來了很多便利性。 如今,2D類游戲的發展已經受到了很多玩家的追捧,大多數的熱門作品都以敘事、美術和創意吸引玩家。完整的世界觀、獨特的美術風格和具有創意的玩法已經成為了當代優秀作品的標配。玩家往往能從中獲得游戲快樂的同時也了解了一個全新的世界觀,代入感強且能獲得一定的共鳴。但往往這類豐滿的游戲需要幾十甚至上百小時的時間去完整地體驗,不能滿足很多時間有限的學生和上班族。因此,本次研究設計結合了2D游戲的優勢,同時又以能快速體驗游戲樂趣的方向,開發了一個2D跑酷類的游戲。 1.2 國內外研究現狀 1.2.1國內研究現狀 中國大陸的游戲行業發展始于PC的單機游戲,但跟隨著網絡游戲的蓬勃發展和盜版游戲市場的泛濫讓本就不熱門的單機游戲更加小眾化,隨著近年來電子競技的蓬勃發展,pc的電子競技類游戲憑借其良好的運營和廣闊的發展空間占據了市場的一大比重。目前主流的電子競技項目以國外廠商的游戲作品國內運營為主。 2019年,Unity每個月的活躍用戶規模達到600萬,而在2016年,全球的Unity用戶僅為650萬,因此,Unity的發展是極為迅速的,也被國內越來越多的開發者使用。在國內,過半數的手游是使用Unity開發的,而PC、主機游戲占到了30%-40%,AR、VR則是2/3左右。使用Unity開發的游戲在市場上可以說比比皆是。在2018年的China Joy上,國產游戲中,以古風濃郁為代表的西山居游戲吸引了眾多玩家,《劍網3》等中國風游戲融入了大江湖的元素吸引了一大批古風愛好者。中國作為文明古國,自然也打造出了中國風等能夠深受人們喜愛的文化符號,使中國的游戲產品擁有更大的發展空間。 1.2.2國外研究現狀 國外的游戲現狀則與國內有較大的區別,首先國外以傳統主機游戲為主。PS4、Xbox、Switch御三家幾乎占據了所有的主機市場。其中育碧、CDPR、Rockstar Games等游戲大廠推出的各類單機游戲都堪稱經典。這些游戲大廠往往能做出高成本、高體量、高質量的3A游戲來滿足全世界的游戲愛好者。 2004年,Unity誕生于丹麥并在2005年將總部設立在了舊金山,發布了Unity1.0版本。國外的Unity研究相較于國內起步時間更早,且優秀的作品也更多。曾經風靡一時的經典作品《神廟逃亡2》僅發布13天,下載量就突破了5000萬。僅由3人組成的Team Cherry工作室開發的具有龐大背景故事和劇情設定的2D游戲《空洞騎士》吸引了全球的2D游戲愛好者,如圖1-1所示。還有暴雪的卡牌游戲《爐石傳說》等。這表明國外的Unity研究和發展都比國內要早很多,值得我們學習。其中,優秀的關卡設計能給玩家帶來情感的獨特體驗。[1]而這些游戲都有非常強大的關卡系統,以此看出關卡設計的重要性。 圖1-1 Team Cherry使用Unity開發的游戲 1.3 研究內容及研究方法 本次課題主要是以Unity3D游戲開發引擎設計的一款橫版以關卡跑酷為主要類型的游戲,本次設計主要功能和內容有以下幾個方面: (1)以獨特的關卡和豐富的玩法為游戲的核心通關方式,相比于普通的跑酷類游戲,具有入門較簡單,可拓展性強等特點,因此游戲的玩法就成了吸引玩家最重要的一點。本次設計共有5個關卡,其中每個關卡都有其獨特的進行方式,極大的激發玩家不斷往前探索的樂趣。 (2)游戲里不同玩法里不同特效的實現,主要包括粒子特效,還有搭配相應的音效以讓玩家達到身臨其境的感覺。此外還通過彈窗UI的效果在某些地點引導玩家游戲如何進行。 (3)研究方法主要是結合了當代游戲開發的方向和高效性的原則進行。因此游戲的畫風和標題的設計就尤為重要,好的畫風以及標題能讓玩家迅速被游戲所吸引,同時玩家又不需要花費大量的時間沉浸在理解和探討游戲的內容中,只需直接高效地從游戲中獲得游戲體驗。 第二章 Unity引擎介紹 2.1 Unity引擎簡介 Unity是一款由Unity Technologies公司開發的一款商業游戲引擎,作為一款在中國受眾最廣的游戲引擎之一,它搭載了完美的跨平臺系統,節省了開發者的開發周期。Unity具有層級式的綜合開發環境以及可視化編輯,使用C#語言快速上手,這大大降低了游戲引擎的門檻,因此本課題將選擇Unity引擎開發,本節將從Unity引擎開發的優勢、Unity腳本分析兩個方面來對Unity進行簡要介紹。 2.2 Unity引擎開發的優勢 一個優秀的游戲引擎可以很大程度地提高開發效率,縮短開發周期的同時為開發者提供了便利。目前國內外市場上已經有許多技術完善的游戲引擎。例如Cocos2d、Unity、Unreal等,Unreal引擎采用了目前最新的光追系統、HDR光照、虛擬位移等新技術,可以實時渲染出電影CG級的畫面,效果驚爆眼球。[2]而Unity引擎的優勢在于其跨平臺性并且入門快、應用廣,更符合目前國內市場的需求。 同時Unity提供的豐富的API接口能快速地滿足開發者的需求,通過這些API,開發者能很方便地調用來實現想要的功能,同時Unity官方還配有API文檔和用戶手冊來提供給開發者學習如何去使用它。 其次,Unity還內置了NVIDIA的PhysX物理引擎,PhysX是目前使用范圍最廣的物理引擎,開發者可以通過物理引擎高效、逼真地模擬剛體碰撞、布料、重力等物理效果,使游戲畫面更加真實和生動。 Unity還提供了內置的UGUI系統,即Unity圖形用戶界面,UGUI有著非常豐富的功能,可以非常方便地制作出想要的UI效果。 2.3 Unity游戲腳本分析 游戲腳本在一款游戲的開發中扮演著至關重要的角色,游戲腳本控制著游戲的正常運行。目前Unity支持C#語言(最新版本中JS、BOO已被放棄支持)進行開發,C#是一個面向對象的、運行于.NET Framework之上的高級程序設計語言。優秀的編程語言往往強大而靈活,語法簡單清晰,能夠不斷支持新功能。[3]所以使用C#來開發Unity是很好的選擇。 第三章 游戲的需求分析 3.1玩家需求分析 本次設計的游戲適合絕大多數玩家,其中主要目標群體為缺乏大量時間去深入玩游戲的輕度玩家。正因為其突出的高效性和操作簡便、游戲反饋好等特點促使了玩家能更容易、快速地感受到游戲的核心玩法和游戲樂趣。此外豐富和巧妙的關卡設計和獨特的美術風格能讓玩家有繼續探索的欲望。 3.2功能需求分析 由于本游戲的玩家群體目標為適合大多數玩家,因此游戲風格上不能太過小眾,要選用適合大部分人的美術風格,同時在現有的美術基礎上加上一些特定的粒子效果提高視覺效果。 首先,獨特的關卡設計和逐漸增加難度提高了游戲的完整性和合理性。使玩家在不斷探索的同時獲得一定的成就感。關卡難度不斷加大的同時又讓每關都有不同的玩法,讓玩家不會感到重復感強。在一些難度較低的關卡中還會增加相應的AI來增加游戲樂趣。同時在高難度的關卡中為了游戲的連貫性和游戲體驗則沒有添加AI,這樣才能更符合“跑酷”這一預期設定。 其次,“收集”這一要素貫穿整個游戲的所有關卡,收集金幣是很多游戲的核心要素之一,能提高游戲的玩法和耐玩性。同時金幣的擺放也能在一定程度上影響玩家的想法和玩法。是一個能正確引導玩家的好方法。 最后,還通過增加顯示游戲時間的功能來對玩家最終到達終點的時間進行顯示,反映了游戲通關的時長和水平。讓玩家對自己這一關的水平有一定的了解,同時也是一個玩家互相比拼的游戲水平。 綜上所述,本次研究設計的游戲功能可以分為以下幾個模塊: (1)人機交互:玩家通過鼠標和鍵盤按鍵等操作對游戲里的人物、UI等系統發生交互,并且有交互簡單高效、游戲反饋明顯等特點,提高玩家的游戲體驗。 (2)關卡設計:通過設計玩法不同、難度遞增的關卡讓玩家感受到游戲豐富的體驗和一定的成就感,提高游戲對玩家的吸引力。根據每關難度的不同,又分為AI、加速、地面隱藏、地面移動、增強跳躍等功能,相應地增加游戲的玩法和難度。同時搭配不同顏色的風格來渲染出符合游戲玩法和難度的顏色。因此本設計的核心功能是關卡系統的設計,既要符合合理的難度搭配和風格設定,又要讓玩家在體驗的過程中感受到樂趣是本次設計的核心。 游戲的大致功能如圖3-1所示。 圖3-1 游戲功能規劃圖 3.3性能需求分析 一個游戲是否能吸引到大量的玩家,除了有獨特的玩法、豐富的內容和精致有特色的美術以外,游戲的性能如何也是考量一個游戲是否成功的標準之一。由于本設計獨特的美術風格,加上游戲的類型為2D,游戲粒子特效較為簡單等,游戲本身的性能較為優秀,通過合理的刪除場景不必要資源即可保證游戲的運行流暢。 第四章 游戲設計與實現 4.1 游戲結構設計 由于本次設計主要目標對象為缺乏大量時間去體驗游戲的人群,所以游戲的結構應以快速上手和簡便為主,不能太過復雜。游戲結構如下圖4-1所示。 圖4-1 游戲結構設計圖 4.2 UI設計 4.2.1開始界面 圖形與用戶界面(GUI)是一個允許使用鍵盤、指點設備(鼠標、跟蹤球或者觸摸板)及顯示器與自己算計交互的程序[4]。玩家通過輸入鍵盤和指點設備來顯示到屏幕上,在整個游戲中GUI扮演者很重要的角色。目前新版本的Unity中自帶的UGUI系統已經較為成熟,功能齊全,運行效率高,且本次設計的GUI需求量較小,所以選擇UGUI系統和OneMinuteGUI插件結合進行開發,原因是這款插件可以提供很好的UI動畫效果,增加游戲的樂趣,且游戲資源占用率不高,能保證游戲的流暢運行。 游戲UI設計的重點其實在用戶界面的交互上, 它不僅僅是漂亮、華麗、符合游戲風格。[5]而游戲開始界面是一款游戲UI的重中之重,因為這是玩家第一眼所看到的畫面,畫風需要簡單貼切,切合主題,營造出跑酷類游戲的歡快感。首先,創建UGUI畫布——Canvas,這是GUI系統的必備組件,所有的UI都要在Canvas下才能顯示。 開始界面的背景是游戲中某個關卡的截圖,能很好貼合游戲風格的同時展示了游戲中加速的彩帶效果和收集金幣的功能,在一定程度上揭示了游戲的主要玩法。便于玩家了解整個游戲的風格。 在“開始游戲”、“設置”、“退出游戲”三個Button組件上采用了透明的風格和白色的字體,增加了玩家的舒適感。然后在Button中的OnClick方法中添加2個事件,一是使用OnLoadSceneAddtive方法實現場景的疊加跳轉,同時開始場景仍在底層顯示。二是添加一個AudioSource.PlayOneShot方法實現點擊事件的時候觸發音效,增強游戲的代入感。 游戲界面設計并不是單純的平面美術設計, 其往往會融合一定的工業設計元素。[6]在游戲Logo的制作上,采用了2種不同字體的結合,進一步營造出游戲的自由輕松的感覺。在字體的顏色上采用了5個不同關卡的主題色漸變得來。最后通過創建2個Render Texture綁定在2個不同的Camera上生成2個有動畫效果的RawImage搭在游戲的Logo上,實現在UI界面上展示動畫的效果,增加了游戲的藝術感及活潑感。 在開始頁面的背景音樂上,選擇了一首活潑快樂的音樂,激起玩家的興趣,讓玩家體會到游戲的輕松。同時在切換至游戲界面的時候音樂的切換不能太突兀,因此要選擇2首風格相近的音樂,保證游戲的連貫性。 綜上所有設計開始界面的方法,開始界面最終效果如下圖4-2所示。 圖4-2 游戲開始界面 4.2.2設置界面 設置頁面主要功能有游戲玩家的控制指南和游戲音量的調節。本頁面采用的是OneMinuteGUI插件進行設計。如圖4-3所示。 圖4-3 設置界面 4.2.3暫停界面 本次設計是有時間計算的跑酷類游戲,因此設置暫停功能是很有必要的,在每個關卡的右上角添加一個Image組件并添加Button組件使得它具有點擊功能,在OnClick中添加OnPause方法,點擊時Time.timeScale = 0,實現游戲暫停并設置暫停菜單的激活狀態為True。需要注意的是,設置Time.timeScale = 0以后暫停界面的UI動畫也會暫停不能正常顯示,需要在Button組件上設置Animator的Update Mode為Unscaled Time不受暫停的影響。在切換場景的Button中使用OnLoadScene方法。點擊事件音效和上述相同,在此不作詳細介紹。暫停界面如圖4-4所示。 圖4-4 暫停界面 4.2.4結束界面 結束界面主要有顯示游戲用時和顯示收集的金幣數量功能,跳轉界面同樣使用OnLoadScene方法。較為復雜的是需要在結束時將場景中記錄的時間TimeSpend傳遞過來最后還需要轉換成分:秒:毫秒的形式呈現在結束界面上,具體實現的代碼如下圖4-5所示。 圖4-5 結束界面時間顯示主要代碼 通關后游戲處于暫停狀態,粒子效果的生成同樣需要在Button組件上設置Animator的Update Mode為Unscaled Time不受暫停的影響。收集金幣的數量則需要一個變量在每次吃到金幣后自增,然后通過.text傳遞到UI中。場景的切換功能與上述相同。結束界面實現效果如圖4-6所示。 圖4-6 結束界面 4.3游戲關卡系統設計 在本次設計中,關卡系統是整個游戲的核心系統,它既承擔了每個游戲的主要玩法、通關流程和游戲節奏等大量元素。游戲中的路線, 建筑群, 資源等要素的擺放位置直接關系到了游戲體驗的效果。[7]本小節將對關卡系統方面進行詳細介紹,關卡系統主要由關卡選擇,難度設定,關卡美術風格和每個等方面進行概述,關卡系統如表4-1所示。 表4-1 游戲關卡系統 首先游戲共分成五大關卡,分別對應了不同的核心玩法和具有相應辨識度的美術風格。其中收集金幣的玩法是貫穿整個游戲的基本玩法,玩家在每關都可以根據需要收集金幣,也能追求時間極限不收集金幣,取決于玩家本身,給予了玩家一定的自由度。 游戲的前兩關都較為簡單,第一關以教學為主。在地圖略大的第二關和第三關加入了敵人AI系統,增加游戲樂趣的同時避免了游戲關卡拉長所帶來的沉悶感。 第三關開始游戲進入節奏較快的關卡,玩家在開頭能通過一個加速板獲得速度的提升。加速效果是創建一個Box Collider 2D,檢測當人物通過時速度增加,并把附在游戲物體上的粒子效果設置為true,實現一個加速后的彩帶效果,增強游戲的畫面感,同時為了玩家得到更好的游戲反饋,還需要在碰撞檢測后觸發一個音效AudioSource,通過AudioSource.PlayOneShot可以控制音效在通過時只播放一次就停止。加跳躍能力功能與上述類似,也是通過檢測來增加彈跳能力并開啟粒子效果。 第四關所包含的隱藏地面效果是使用InvokeRepeating方法來制造出地面的Box Collider隨著時間不斷激活和禁用的過程。通過設置好time和repeatRate參數就能設計出想要的漸變效果。同時為了讓玩家能夠看出漸變的效果,需要將所屬地面的透明度也隨著時間而降低,通過GetComponent().color來設置RGBA中a的值來實現透明效果。從而給玩家傳達較為清晰的視覺效果。實現效果如圖4-7和4-8所示。 圖4-7 Collider激活 圖4-8 Collider禁用 而地面的移動效果需要用到Vector3向量然后使用Mathf.PingPong的方法傳遞給需要運動的軸向,然后還要傳遞一個不斷變化的參數Time.time實現類似乒乓球效果,如果需要改變速度,就需要乘以一個系數。最后還需要一個參數表示開始運動的方向和距離。 第五關是游戲最后的一個關卡也是最難的一個,它集合了本次設計所有的玩法,同時在地圖的編輯上也更為靈活,由于核心技術都在上文講解過,在此不作詳細說明。 最后,關卡系統的設計對于游戲的重要性不言而喻,關卡是給予玩家體驗,傳達游戲內容最直接有效的方法。本設計通過入門、掌握、中等、較難、難的難度設定能很好的劃分關卡之間難度的階梯,確保每一個關卡都有其存在的價值,讓玩家感受到逐步深入游戲和探索的過程,其次通過觸覺、視覺、聽覺的反饋基于玩家一定的刺激,這便是關卡系統的核心要素。 4.4游戲場景系統設計 4.4.1 場景編輯 在2D類游戲的場景編輯中,Unity就用非常強大且方便的功能——TileMap。這個功能大大提高了場景編輯的開發效率。在Hierarchy面板上依次點擊Create->2D Object->Tilemap 新建Tilemap,隨后Unity將自動創建一個Gird的父對象和一個Tilemap的子對象。TileMap主要由以下幾部分組成: (1) Sprite(精靈):紋理的容器。大型紋理圖集可以轉換為精靈圖集(Sprite Sheet)。還能由多個Sprite做成動畫效果。 (2) Tile(瓦片):包含一個精靈,以及二個屬性,顏色和碰撞體??稍诋嫴忌线x擇不同的Tile填充。 (3) Palette(調色板):用于保存Tile,將Tile進行預處理,方便后續將它們繪制到網格上。如圖4-9所示。 (4) Brush(筆刷):Brush可將畫好的Tiles繪制到畫布上。使用Tilemap時,可以在內置的多個筆刷中任意選擇,繪制理想效果。 (5) Grid(網格):用于控制網格屬性的組件,類似于UI Canvas。 圖4-9 Palette功能 隨后需要分別創建不同層級的TileMap將不同的Tile繪制在場景上,如圖4-10所示。 圖4-10 繪制TileMap 4.4.2 Cinemachine功能 一個Unity內置的用于控制玩家移動時鏡頭移動的組件,相比于普通的Camera,Cinemachine能更有效地管理Camera,且具有更豐富和方便的可視化調節功能。依次點擊菜單欄上的Cinemachine->Create Virtual Camera即可創建一個最簡單的Cinemachine。創建后的Inspector面板如圖4-11所示。 圖4-11 Cinemachine功能 首先把人物拖到Cinemachine的Follow下就能實現鏡頭的跟隨。圖中第二個框Orthographic Size可調節視野大小,根據實際測試效果設置為4。Game窗口中的效果如圖4-12所示。 圖4-12 Game視圖中的Cinemachine 攝像機會根據黃點來控制鏡頭的跟隨,在透明區域Dead Zone移動時,攝像機將不會進行跟隨,有效防止鏡頭的頻繁抖動造成玩家不適感。當玩家移動到藍色區域時,鏡頭會緩慢跟隨使目標在中間的透明區域。紅色區域為不可到達區域,鏡頭跟隨過程中人物是不會到達這些區域的。Screen X和Screen Y則可調節鏡頭中左右偏移量的大小,因為本設計向右為前進的跑酷類游戲,所以Screen X應設置鏡頭往左偏移從而取得更大的前方視野。 如圖3-11可知,Cinemachine還有一個組件Cinemachine Confiner。需要創建一個Polygon Collider 2D類型的碰撞體來限制攝像機移動的邊界,防止玩家掉出地面后攝像機的繼續跟隨。效果圖如4-13所示。 圖4-13 限制攝像機移動的Collider 4.4.3 復活功能 游戲場景中,每相隔一定距離會有一個RespawnPoint來保存玩家當前的位置。當人物掉入死亡區域或者碰到敵人AI時,人物會立刻死亡,并在3秒后回到上一次保存的復活點,每一個RespawnPoint都是一個單獨的Box Collider,當人物經過時,就會自動記錄位置,便于復活時回到正確的位置。同時使用協程可以控制死亡后延遲復活的時間,使游戲更加真實。具體代碼實現如圖4-14所示。 圖4-14 人物復活功能實現 4.4.4 敵人AI 本游戲由于主題是以跑酷為主,AI功能并不是主體,因此只在功能較少的第二關和第三關添加了相應的AI。AI也是通過碰撞體Collider來檢測玩家是否碰到AI,如果碰到則人物會死亡,并于三秒后回到上一次復活點,同時為了增強AI的功能性,還需要設置AI的移動,我們采用了Mathf.PingPong的函數來控制AI的左右巡邏,通過Time.time這個不斷變化的值來得到參數t,float類型的變量v來控制左右移動的距離。再加上AI的初始位置則可完成AI在相應位置的巡邏。具體實現如圖4-15所示。 圖4-15 敵人AI巡邏實現 4.4.5 游戲交互 本游戲的交互與一般的跑酷類游戲相似,以鍵盤左右鍵和空格鍵為主要操作方式。相對簡單和快速上手。具體的實現大致可分為以下三點: (1) 人物的移動:直接控制transform.position來實現角色的移動,通過 Time.deltaTime和速度的乘積得到運動的量再乘以Input.GetAxis("Horizontal")所獲得的鍵盤輸入量來得到人物位移的距離。同時在動畫的設置上還要把h的值設置成自身的絕對值再傳遞給控制人物跑動的“Speed”,使得只要人物移動不管方向都能觸發跑步動畫的播放,如圖4-16所示。 圖4-16 人物移動具體實現 (2) 人物的跳躍:通過判斷鍵盤是否輸入空格鍵,以及可跳躍狀態后才可進行跳躍。用AddForce來給人物一個y方向的力實現跳躍,同時需要將isJump設置成False防止人物在空中再次觸發跳躍。具體實現如圖4-17所示。 圖4-17 人物跳躍具體實現 (3) 人物的翻轉:在實現移動和跳躍后,人物仍不能很自然的進行運動,原因是人物的朝向無論向左還是向右都不會變,這并不符合實際的情況,所以我們需要寫一個Flip方法使得人物朝向正確地配合左右移動。在Flip方法中我們需要得到人物的Scale并乘以-1再賦值給localScale。然后在Update中我們只需把h>0且朝向不為右的時候以及h<0朝向為右的時候調用Flip方法實現翻轉。同時,因為FacingRight的初始值為True,這會導致向左移動時,一直調用Flip方法重復翻轉,所以需要用FacingRight = !FacingRight來解決這個問題。具體實現如圖4-18所示。 圖4-18 翻轉功能實現 4.4.6 音樂控制 關于音樂的控制中BGM的控制較為簡單,只需添加一個Audio Source組件在場景中的任意物體上即可。通過拖拽音樂文件到AudioClip上實現播放功能,且需要勾選Play On Awake和loop功能。 音效的控制本游戲主要音效分為死亡、跳躍、收集、速度提升、跳躍提升、游戲結束6種不同的音效。具體實現為將音樂文件拖拽到腳本上即可。 AudioListener聆聽者,相當于AudioSource的耳朵,用于接收和控制AudioSource播放的音頻。其中volume參數可以調整游戲中音量的大小,可以滿足不同玩家的需求。在設置和暫停界面中都有音量的調節功能,這時我們要用AudioManager來管理這些音樂。用AudioListener.volume= slider.value把volume的值給到slider控制,實現在UI上可調節音量的功能。 4.5本章小結 參考了現在2D跑酷類游戲的整體開發方向以及思路,根據本設計中的需求分析和預定的目標和想法,從UI設計、關卡系統設計和場景系統設計詳細分析了本設計制作過程的心路歷程和遇到問題的解決方案。最終實現了游戲的開發和設計。 第五章 游戲測試 任何一款游戲都需要進行嚴格的游戲測試,本章節將對游戲進行功能測試和性能測試,確保游戲的功能可行和性能優秀。用于測試的計算機軟件及硬件環境如表5-1所示。 表5-1 測試用計算機軟件與硬件環境 軟件與硬件環境 參數 CPU Inter(R) Core(TM) i5-4590 CPU @ 2.20GHz GPU Nvidia GeForce GTX 660 內存 16GB 操作系統 Windows 專業版 64位 Unity版本 2019.2.1f1 5.1功能測試 將本次設計的游戲在Unity游戲引擎中Build出為Pc端的exe應用軟件,對其進行功能測試。測試方法采用黑盒測試來觀察游戲各項功能是否正常運行。綜上,根據各方面的功能測試,本設計的功能測試的結果如下表5-2所示。 表5-2 游戲功能測試結果 測試項目 操作方法 操作結果 人物移動 左/右/Space 可行 攝像機跟隨 人物移動、死亡 可行 場景跳轉 依次點擊每個場景間的跳轉 可行 事件交互 暫停功能、結束游戲功能 可行 動畫播放 人物靜止、跑動、跳躍播放 可行 UI交互 觸發每個UI并點擊每個UI的按鈕 可行 粒子效果 進入指定碰撞體后觸發 可行 音樂與音效 操作人物觸發各個音效、調節音量 可行 5.2性能測試 性能測試中我們采用的是官方的UPR軟件來進行測試,測試結果如圖5-1所示。 圖5-1 性能測試結果 根據圖中測試可以看出平均幀率穩定62幀,同時測試評分也達到了91,可以說是性能非常優秀的游戲,也達到了跑酷類游戲的基本要求。 5.3 游戲測試結果分析 在本游戲的測試中,在進行了多次測試以后,未發現功能性問題和性能問題,能滿足玩家對游戲的性能要求。玩家可通過鍵盤、鼠標正常進行交互,人物、攝像機跟隨正常,場景跳轉、事件交互、UI交互,粒子效果和音樂音效都能正確反饋,根據測試結果可以說明:本游戲畫面運行流暢,功能正常,對CPU、內存占用量小,能給玩家較好的游戲體驗。 第六章 總結與展望 在整個游戲開發的過程中,我收獲了很多Unity相關的知識和游戲設計的技巧,在本次設計中,我的主要研究工作包括以下幾點:
    展開閱讀全文
    提示  搜文庫是C2C交易模式,所有文檔均是用戶上傳分享,僅供網友學習交流。文檔版權歸屬內容提供方,未經書面授權,請勿作他用!
    關于本文
    本文標題:16210120607_黃梓豪_基于Unity3D的橫版過關游戲設計與實現.docx
    鏈接地址:http://www.sherlockholmespart3.com/p-84338.html

    copyright@ 2016-2022 搜文庫網站版權所有   網站客服QQ:425721614

    經營許可證編號:粵ICP備2021173911號

    本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。

    搜文庫平臺僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知搜文庫平臺,我們立即給予刪除!


    搜文庫
    收起
    展開
    jealousvue老大太,美女作爱全过程免费观看国产,忘忧草在线社区www日本,人c交zoozooxx真实视频
    <optgroup id="liuka"><i id="liuka"><center id="liuka"></center></i></optgroup>

    <span id="liuka"></span>
  • <ruby id="liuka"><menu id="liuka"></menu></ruby>

  • <optgroup id="liuka"></optgroup>
    <span id="liuka"><video id="liuka"><b id="liuka"></b></video></span>