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

基于Unity3D的音樂游戲制作

2021-11-03 13:08:59張貝貝
現代信息科技 2021年8期

DOI:10.19850/j.cnki.2096-4706.2021.08.031

摘? 要:Unity3D是目前國內相對流行的游戲開發軟件,而音樂游戲也是自游戲發展以來就極其盛行。文章基于Unity3D開發制作了一款音樂游戲,其主要功能包括人物控制、按鍵消音、樂譜管理、分數統計、UI界面與音效以及特效播放。該游戲與傳統音樂游戲不同,添加了動畫人物以及打擊動作,使音樂游戲與動作游戲相互結合。通過此游戲,玩家們能夠在游玩之余享受音樂以及通關的樂趣。

關鍵詞:Unity3D;C#;FL Studio

中圖分類號:TP311? ? ? ?文獻標識碼:A ? ? 文章編號:2096-4706(2021)08-0112-04

Music Game Making Based on Unity3D

ZHANG Beibei

(School of Computer and Software,Jincheng College of Sichuan University,Chengdu? 611731,China)

Abstract:Unity3D is a relatively popular game development software in China at present,and music games are also extremely popular since the development of the games. In this paper,a music game is developed and made based on Unity3D. Its main functions include character control,key silencing,music score management,score statistics,UI interface,sound effect and special effect playing. The game is different from the traditional music games,adding animated characters and strike actions,which makes music games and action games combine with each other. Through this game,players can enjoy music and clearance fun while playing.

Keywords:Unity3D;C#;FL Studio

0? 引? 言

當今社會發展飛速,人們生活節奏快,碎片化時間比較多,多數人更愿意選擇玩一些簡單易操作又不易沉迷的游戲來放松。而根據中國音數協游戲工委(GPC)與國際數據公司(IDC)共同發布的《2020年度第一季度中國游戲產業報告》,受新冠肺炎疫情影響,“宅經濟”大熱,游戲業保持了非常高的增速,且隨著科技的發展,不少優秀的游戲引擎也更新換代。本文采用的Unity3D是一款發展成熟的開發引擎,極大程度上方便了個人進行游戲的開發設計,降低使用的難度,提高了開發者的效率。而音樂游戲類型則是要求玩家在聽到相應的音樂后,根據節奏等因素按下按鍵消除音塊,以獲得分數。玩家的最終目的是在盡可能不漏音塊的前提下更加精準地按下按鍵來獲得更多分數。

1? 游戲設計

1.1? 玩法設計

本音樂游戲采用常規的下落式音塊,以及按鍵來控制小人攻擊,攻擊到音塊來達到消音的功能。游戲場景中,會不斷有音塊按照一定節奏落下,當落到最底端的人物部分的時候,需要按下相應的按鍵才可以啟動按鈕,如果按早或者按晚了,得分就會低,只有在人物的攻擊剛覆蓋按鈕的時候才會得到最高的分數。而在按下了按鈕后,音塊會消失,并且播放對應音樂中的音符聲與特效。玩法流程如圖1所示。

1.2? 場景設計

該場景模仿同類游戲Deemo中的簡潔場景,只有落下的音塊和下方的4個按鍵人物組成,以此來使玩家體會到最沉浸的游戲體驗。背景采用了與音塊對比色較大的白色調背景,并且音塊采用了漸變色以使玩家能更輕松地分辨不同音塊位置,提升玩家的游戲體驗。并且在游戲中消音會有特效播放,該特效會提醒玩家消音成功,可以提升游戲的流暢性。

1.3? 人物設計

為了使游戲有更好的游戲節奏,游戲人物選擇了2D橫版的游戲角色,而攻擊動畫制作快速不冗雜,使玩家玩游戲的時候不會因為攻擊動畫影響手感。由于音塊分為鼓點與鋼琴音,所以選擇了大錘角色來攻擊鼓點,單手劍角色來攻擊鋼琴音。空閑時人物會進行空閑動畫,攻擊則播放攻擊動畫,游戲完成時播放慶祝動畫。

1.4? 音樂設計

由于是音樂游戲,游戲類型特殊,所以對于音效的要求高于其他游戲。需要在編輯軟件FLstudio中,使用鋼琴音將樂譜扒取下來,并且進行修改調整,最終導出。然后將該音樂中所使用到的音符以及鼓點單獨導出,為后續的音塊制作做準備。對于不同樂曲有不同的節奏,即BPM,所以根據不同的節奏來整理不同的樂曲難度,相對的難度越高,音塊越多。目前制作的音樂有:Dream,samurai 45,the truth that you leave,第105天,千本櫻等。

1.5? 關卡設計

音樂游戲這一類型在讓人感受到音樂魅力的同時也要最大限度地讓人體會到演奏音樂的樂趣,而游戲中的音塊又因音樂的特殊性無法進行批量孵化,所以最終采用的是音塊擺放的方式。不同的音樂設置不同的關卡,而在關卡中則通過調整音塊的下落速度、音塊之間的距離來起到符合音樂節奏的作用;將關卡中的不同音塊錯位擺放,從而模擬在琴鍵上演奏樂曲,讓玩家可以體會到更多的樂趣。

1.6? UI設計

該游戲UI采用了簡潔的設計,主要是為了讓玩家可以更加沉浸在游戲中,其中包括了開始游戲、關卡選擇、難度選擇、以及游戲中暫停、重新開始、回到主菜單等功能。UI中還包含了對于分數的統計,以及對是否漏掉音塊的判斷。

1.7? 功能設計

功能主要分為系統功能和游戲功能,其中系統功能有開始游戲、關卡選擇、游戲暫停及游戲結束。游戲功能為角色按鍵功能,其中包括角色攻擊、特效播放、音效播放以及動畫播放。游戲中的音塊功能分為音塊移動、位置判斷、函數執行以及音塊銷毀功能。游戲功能設計如圖2所示。

2? 游戲主要功能模塊詳細設計與實現

2.1? 場景搭建

游戲場景搭建首先要將背景圖片放入,并且與音塊預設對比調整顏色,由于游戲使用的是碰撞體檢測來進行音塊消除邏輯,所以將人物放入場景而不是UI界面,然后分別擺放游戲管理按鈕位置,關卡位置,制作主菜單場景并且分別制作關卡場景。

2.2? 音塊

2.2.1? 音塊制作

音塊制作在Flstudio中進行初次制作,首先根據要制作的音樂,通過扒譜將樂曲轉換成單個音符,再將所有用到的音符單個導出并保存。然后再進行音樂的豐富,添加和弦、鼓點、節奏鍵,再將所添加的音符單獨導出并保存。在Unity中,先制作一個圖片精靈,將事先于PS中制作的音塊圖放入,并且為其添加AudioSource組件,為添加音效做準備,然后添加碰撞體以及控制腳本。

2.2.2? 音塊動畫制作

在音塊控制腳本的更新函數中,通過控制音塊的位置來進行音塊動畫的實現,通過transform.Translate(new Vector2(0,-3)*Time.deltaTime, Space.World)語句來分別控制腳本對象的x,y軸,下落的速度以及對應的坐標系。在音塊生成時,通過動畫控制器為其制作抖動動畫與搖擺動畫,并且在下落過程中使搖擺動畫循環播放。

2.2.3? 音塊消除控制

在腳本中定義一個整數類型變量存放碰撞的標簽類型,初始為0,使用OntriggerEnter函數判斷碰撞物標簽類型,如果碰撞到的是時機檢測標簽類型,則根據不同的標簽類型為變量賦不同的值,當碰撞到的標簽為按鈕時,則運行音塊消失函數:實例化音效、判斷整數變量的值來進行不同特效的實例化與分數的增加,摧毀音塊等內容。如果碰撞到了最后放的漏音檢測碰撞體則分數減少并且摧毀。

2.3? 按鍵人物制作

2.3.1? 人物制作

游戲角色是從Unity資源商店中下載的2D人物模型初稿,模型特點是方正,在導入后為人物添加裝飾,武器,特效,并且增加碰撞體組件,增加音效組件,然后將人物放入一個父對象,并且再設置三個子對象作為音塊位置檢測碰撞體存放位置。

2.3.2? 人物動畫

每個人物制作一個動畫控制,動畫有待機動畫、攻擊動畫以及慶祝動畫,三個動畫均由動畫控制器的錄制功能制作,將武器放在初始位置,再到結尾時間處添加關鍵幀,開啟錄制后更換位置即可。動畫制作后調整關鍵幀之間的時間,使動作干凈利落。動畫邏輯如圖3所示。

2.3.3? 人物攻擊邏輯及腳本

人物在接收到相應按鍵后,播放攻擊動畫,人物的碰撞體啟用并在一定時間后關閉,如果碰到了音塊則執行音塊銷毀相關內容,如果不是則播放揮空音效。腳本中使用游戲對象數組存放四個角色,在更新函數中進行按鍵的判斷,如果按下后使用SetActive打開游戲的碰撞體。使用協程函數進行時間控制,在一定時間后將碰撞體關閉。主要代碼為:

yield return new WaitForSeconds(keytime);

detects[a].SetActive(false);

if(isattack){

CircleCollider.enabled=true;

StartCoroutine(attacktime); }

IEnumerator attacktime(int a){

yield return new WaitForSeconds(keytime);

CircleCollider.enabled=false; }

2.4? 游戲中的碰撞檢測

游戲中,針對音塊的位置有4種不同的狀態,分別是未碰到角色按鍵區域,碰到角色按鍵區域前段,中部和后端。分別在角色按鍵的前方、上方和后方放置三個對應位置子對象并賦予方塊碰撞體,為其分別命名標簽以此判斷按鍵時音塊所處的位置來計算分數。最后在按鍵后方一定距離處同樣放置一個游戲對象并賦予方塊碰撞體,該碰撞體目的是判斷是否有音塊漏過,如有則分數減少并實例化提示特效。主要檢測代碼為:

if(collision.CompareTag("button"))

{Destroy(gameObject);

GameValue.instance.ScoreTotle+=10;

SoundManager.instance.PlaySound(keysound);

}

if(collision.CompareTag("backdetect")){

GameValue.instance.isFullCombo=false;

}

2.5? 分數統計

根據在音塊腳本中的按鍵位置,分為三種分數,過早和過晚按鍵分數、完美按鍵分數以及錯過按鍵分數,在音塊函數中判斷位置后,通過腳本的外部訪問,輸入分數來進行相應的加減。最終分數將不會在游戲中進行顯示,可以通過暫停游戲或者完成游戲來得知自己的分數。分數腳本主要采用實例化進行外部訪問。主要代碼為:

public static GameValue instance;

instance = this;

Scoretext.text="分數:"+ScoreTotle.ToString()

2.6? UI設計

游戲UI設計模仿了同類游戲簡潔明了的樣式,在玩家玩游戲的時候盡可能地避免在屏幕中放入過多元素而影響了玩家的游戲體驗,所以游戲關卡中只有下落的音塊,四個角色按鍵,菜單呼出鍵和漏音圖標這幾個部分。而在游戲外的關卡選擇中則會顯示音樂封面,點擊詳情可以提前查看游戲的關卡。

2.7? 游戲管理

游戲進入時為主頁面,點擊即可開始游戲,緊接著為游戲的不同關卡選擇,點擊左右按鈕翻頁,后退按鈕回到主頁面。關卡又對應歌曲封面以及一個預覽播放按鍵組成,點擊播放鍵可以預覽之前制作的全部音樂,并且出現相應關卡剪影。點擊關卡圖片則進入,關卡中有四個角色按鈕分別被玩家控制,左上角呼出菜單功能使游戲暫停、重新開始、繼續、回到主菜單,并且有分數的提示。游戲管理如圖4所示。

2.8? 游戲腳本

游戲中制作了按鍵管理腳本、銷毀腳本、游戲完成腳本、游戲控制腳本、游戲值腳本、音效管理腳本、音塊腳本、屏幕控制腳本、關卡選擇腳本、關卡解鎖腳本以及角色控制腳本。

3? 游戲測試

3.1? 測試環境

游戲由2018.3.9f1版本Unity3D制作,VisualStudio2019進行C#腳本編寫,游戲在顯卡RX550、CPU為i7,內存16 GB的環境下進行測試。

3.2? 測試內容

測試內容為調整不同的游戲分辨率來觀察有無界面的錯位,按鍵的丟失;使用不同的電腦來判斷是否存在運行錯誤;不同的玩家測試游戲,并且分享游戲體驗來調整不同游戲關卡難度并且進行關卡的等級排序,最終完善一個關卡等級分級。主要功能展示如圖5所示。

4? 結? 論

本項目是使用Unity3D為基礎制作的一款音樂游戲,主要功能有音塊消除,角色按鍵控制,音效播放,特效播放,分數統計,菜單與關卡管理。本游戲意在使玩家體驗游戲的同時感受音樂給人帶來的樂趣,結果表明游戲設計合理,關卡難度分層明確,玩家游玩體驗良好,可玩性較高。

雖然這款游戲已經可以達到最初制作的基本要求,但是還有待改進,未來工作是優化游戲代碼和模型,并加入更多曲目,角色以及音塊類型,希望能給玩家帶來更加沉浸的游戲體驗。

參考文獻:

[1] 張越,陶俊,徐迅.基于Unity3D的塔防類游戲的設計與實現 [J].現代信息科技,2021,5(1):84-87.

[2] 黃福鈺.基于Unity3D的歷史RPG教育游戲設計開發 [J].電腦知識與技術,2021,17(11):58-60.

[3] 張勝男,司占軍.基于Unity 3D的尋寶游戲的設計與制作 [J].電腦知識與技術,2020,16(22):37-39.

[4] 王艷,華唯辰.基于Unity3D的ARPG游戲設計與實現 [J].電腦知識與技術,2020,16(29):199-201.

[5] 劉雨嘉,楊鍵,馮夢雨.基于Unity3D的VR射擊游戲的研究與實現 [J].數碼世界,2019(3):44-45.

作者簡介:張貝貝(2000—)男,漢族,四川宜賓人,本科在讀,研究方向:VR與游戲開發。

收稿日期:2021-03-09

主站蜘蛛池模板: 日本一区二区三区精品国产| 91尤物国产尤物福利在线| 自慰网址在线观看| 久久精品波多野结衣| 亚洲综合色婷婷中文字幕| 天堂网国产| 91欧美在线| 国产成人亚洲综合A∨在线播放| 一本大道东京热无码av| 手机永久AV在线播放| 久久精品视频亚洲| 亚洲综合久久成人AV| 免费无码AV片在线观看中文| 青草精品视频| 久久精品这里只有精99品| 国产香蕉97碰碰视频VA碰碰看| 国产成人久久777777| 丁香婷婷久久| 人妻少妇久久久久久97人妻| 亚洲成人黄色在线| 99热这里只有精品免费| 色婷婷在线播放| 毛片网站在线播放| 成人在线综合| 日本不卡在线播放| 国产呦精品一区二区三区下载 | 欧美日韩国产成人高清视频| 日韩精品一区二区三区视频免费看| 91国内在线视频| 亚洲欧美综合另类图片小说区| 一区二区三区四区精品视频 | 91在线一9|永久视频在线| 天堂岛国av无码免费无禁网站| 亚洲av色吊丝无码| 精品少妇人妻av无码久久 | 狠狠亚洲婷婷综合色香| 尤物国产在线| 国产地址二永久伊甸园| 午夜天堂视频| 1级黄色毛片| 国产亚洲精品91| 亚洲三级成人| 99一级毛片| 亚洲 日韩 激情 无码 中出| 亚洲天堂日韩av电影| 国语少妇高潮| 91丝袜美腿高跟国产极品老师| 在线观看av永久| 欧美人在线一区二区三区| 99视频精品在线观看| 干中文字幕| 国产XXXX做受性欧美88| 爱色欧美亚洲综合图区| 中文字幕欧美日韩高清| 成·人免费午夜无码视频在线观看 | 国产精品视频观看裸模| 国产自在线拍| 国产一国产一有一级毛片视频| 亚洲a免费| 无遮挡一级毛片呦女视频| 国产午夜一级淫片| 波多野结衣第一页| 韩日午夜在线资源一区二区| 亚洲愉拍一区二区精品| 日韩中文精品亚洲第三区| 亚洲国产综合第一精品小说| 99精品视频九九精品| 第一页亚洲| 久久黄色一级视频| 亚洲天堂久久久| 无码内射在线| 亚洲精品另类| 久久这里只有精品免费| 黄色不卡视频| 亚洲日本中文综合在线| 老司国产精品视频| 在线精品欧美日韩| 丝袜高跟美脚国产1区| 午夜国产精品视频| 91成人在线免费视频| 国产成人a毛片在线| 久久久久无码精品|