《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Unity3D的移動(dòng)平臺(tái)躲避游戲的設(shè)計(jì)與實(shí)現(xiàn)
基于Unity3D的移動(dòng)平臺(tái)躲避游戲的設(shè)計(jì)與實(shí)現(xiàn)
2016年微型機(jī)與應(yīng)用第08期
于永勝,李效偉,許駿勝,張海程,莊緒姣
(山東女子學(xué)院 信息技術(shù)學(xué)院,山東 濟(jì)南 250300)
摘要: 主要介紹使用Unity3D制作躲避類(lèi)手機(jī)游戲的方法。實(shí)現(xiàn)通過(guò)手機(jī)的重力感應(yīng)控制角色躲避飛來(lái)的箭,實(shí)現(xiàn)箭的數(shù)量隨機(jī)和準(zhǔn)確度隨機(jī),實(shí)現(xiàn)攝像機(jī)自然地轉(zhuǎn)動(dòng)視角,使玩家有更舒適的視覺(jué)體驗(yàn)。實(shí)現(xiàn)箭的射出和擊中時(shí)的音效及擊中玩家后的粒子特效,使游戲的打擊感生動(dòng)。以上功能的實(shí)現(xiàn)使游戲帶給玩家更加豐富的游戲體驗(yàn)。
Abstract:
Key words :

  于永勝,李效偉,許駿勝,張海程,莊緒姣

 ?。ㄉ綎|女子學(xué)院 信息技術(shù)學(xué)院,山東 濟(jì)南 250300)

       摘要:主要介紹使用Unity3D制作躲避類(lèi)手機(jī)游戲的方法。實(shí)現(xiàn)通過(guò)手機(jī)的重力感應(yīng)控制角色躲避飛來(lái)的箭,實(shí)現(xiàn)箭的數(shù)量隨機(jī)和準(zhǔn)確度隨機(jī),實(shí)現(xiàn)攝像機(jī)自然地轉(zhuǎn)動(dòng)視角,使玩家有更舒適的視覺(jué)體驗(yàn)。實(shí)現(xiàn)箭的射出和擊中時(shí)的音效及擊中玩家后的粒子特效,使游戲的打擊感生動(dòng)。以上功能的實(shí)現(xiàn)使游戲帶給玩家更加豐富的游戲體驗(yàn)。

  關(guān)鍵詞:Unity3D;JavaScript;躲避類(lèi);3D手機(jī)游戲

0引言

  手機(jī)游戲已經(jīng)進(jìn)入人們的娛樂(lè)生活中,成為娛樂(lè)消遣的不可或缺的方法。三維游戲逼真的三維效果和良好的人機(jī)交互可以帶給用戶(hù)愉悅的游戲體驗(yàn)。不論是從游戲框架方面還是開(kāi)發(fā)周期方面來(lái)分析,三維游戲的制作都很難脫離游戲引擎。Unity3D是由丹麥Unity公司開(kāi)發(fā)的游戲開(kāi)發(fā)工具,Unity3D游戲引擎本身強(qiáng)大的物理特性、跨平臺(tái)發(fā)布、地形編輯、著色器、腳本、網(wǎng)絡(luò)、物理、版本控制等特性[1],以及通過(guò)Unity3D進(jìn)行作品開(kāi)發(fā)的快速高效性[2],使其受到開(kāi)發(fā)人員的歡迎。

  在眾多移動(dòng)平臺(tái)游戲中,躲避類(lèi)手機(jī)游戲現(xiàn)在越來(lái)越受歡迎。躲避類(lèi)手機(jī)游戲已經(jīng)有很多經(jīng)典作品了,比如《神廟逃亡》、《小黃人快跑》等,這些游戲都是第三人稱(chēng)躲避類(lèi)而且節(jié)奏很強(qiáng)的游戲。本文游戲的操作設(shè)計(jì)比較人性化,玩家僅通過(guò)重力感應(yīng)就可以操控角色,箭的設(shè)置比較用心,箭每次飛來(lái)的數(shù)量隨機(jī),準(zhǔn)確度也隨機(jī),而且會(huì)交替到達(dá);充分模仿了人的視覺(jué)習(xí)慣,玩家獲取的視角會(huì)隨箭而變化。游戲中玩家流血效果的制作運(yùn)用了粒子系統(tǒng)[3];地形的制作用到了Unity3D本身的地形編輯工具[46];游戲運(yùn)用了碰撞檢測(cè)技術(shù)[7]。

1游戲設(shè)計(jì)

  游戲設(shè)計(jì)包括游戲內(nèi)容設(shè)計(jì)和游戲功能設(shè)計(jì)。游戲內(nèi)容設(shè)計(jì)包括游戲的操作方法和游戲的細(xì)節(jié)設(shè)計(jì);游戲功能設(shè)計(jì)是對(duì)組成游戲的要素的具體設(shè)計(jì)。

  1.1游戲內(nèi)容設(shè)計(jì)

  游戲的操作主要通過(guò)重力感應(yīng)實(shí)現(xiàn),玩家進(jìn)入游戲后,會(huì)看到一支支箭從前方射過(guò)來(lái),每次來(lái)的箭的數(shù)量隨機(jī),準(zhǔn)確度也隨機(jī),玩家需要通過(guò)傾斜屏幕來(lái)躲避飛來(lái)的箭。

  1.2游戲結(jié)構(gòu)設(shè)計(jì)

  游戲的結(jié)構(gòu)包括3D森林場(chǎng)景、重力感應(yīng)控制、箭的設(shè)置、玩家動(dòng)態(tài)視角和游戲的音效與粒子特效。游戲整體設(shè)計(jì)如圖1所示。

  001.jpg

2游戲?qū)崿F(xiàn)

  游戲的實(shí)現(xiàn)包含游戲場(chǎng)景的制作、重力感應(yīng)控制、箭的設(shè)置、玩家動(dòng)態(tài)視角及音效與粒子特效。游戲場(chǎng)景的制作包括地形制作、植物的添加以及天空盒的添加;重力感應(yīng)控制用于控制角色移動(dòng);箭的設(shè)置包含箭的數(shù)量和準(zhǔn)確性的設(shè)計(jì)隨機(jī)性;玩家動(dòng)態(tài)視角是實(shí)現(xiàn)玩家在躲避箭時(shí)攝像機(jī)視角的自然變化;音效與粒子特效包含箭射出和玩家被擊中時(shí)的音效和此時(shí)的粒子效果。

  2.1游戲場(chǎng)景的制作

  游戲場(chǎng)景的制作包含地形和植被的制作以及天空盒的添加。地形和植被的制作包括制作高低起伏的地形和森林;天空盒的添加指給游戲場(chǎng)景加一個(gè)天空背景。

  (1)地形和植被的制作

  森林地形的制作包括地表材質(zhì)的添加以及制作高低起伏的地形。首先要通過(guò)創(chuàng)建terrain來(lái)創(chuàng)建一塊平地。地表材質(zhì)貼圖需要通過(guò) “Add Terrain Texture”面板添加。高低起伏的地形的制作需要先做出有一定高度的山丘,然后磨平這些山丘比較尖銳的角就可以了。

  添加樹(shù)和草的方法很相近。添加樹(shù)時(shí),需要先在“add tree”面板中添加樹(shù)的模型,點(diǎn)擊add按鈕后,就可以用筆刷工具在場(chǎng)景中種樹(shù)了。添加草時(shí)只要添加做好的草的png格式的圖像就能在場(chǎng)景中用筆刷工具種草了。

 ?。?)天空盒的添加

  天空盒的添加包括向場(chǎng)景中添加和向攝像機(jī)添加,這里采用的是向場(chǎng)景中添加。首先要導(dǎo)入天空盒資源包,然后向skybox Material拖入不同的天空盒文件就能添加不同的天空盒。

  2.2重力感應(yīng)控制

  重力感應(yīng)是玩家操縱游戲角色的方法。通過(guò)調(diào)用Input.acceleration.x控制角色的水平移動(dòng),調(diào)用Input.acceleration.z控制角色的上下移動(dòng)。

  重力感應(yīng)實(shí)際是調(diào)用了手機(jī)的加速度感應(yīng)器,包含x、y和z軸三個(gè)方向上的加速度數(shù)值,當(dāng)手機(jī)晃動(dòng)時(shí),每個(gè)軸上的加速度數(shù)值都會(huì)發(fā)生相應(yīng)的變化。當(dāng)手機(jī)左邊高度低于右邊高度時(shí),Input.acceleration.x小于0,角色向左移動(dòng);反之同理;當(dāng)手機(jī)的屏幕有朝上的分量,Input.acceleration.z小于0,角色向上移動(dòng);反之同理。

  2.3箭的設(shè)置

  箭的設(shè)置包括每次飛來(lái)的箭數(shù)量隨機(jī)和每一支箭的準(zhǔn)確度隨機(jī)。

 ?。?)數(shù)量隨機(jī)

  場(chǎng)景中需要設(shè)置多支箭,只要把每一只箭的速度設(shè)置成隨機(jī),當(dāng)箭飛到玩家身后一段距離后,將箭的位置重置到玩家前方,而且將箭的速度也一起重置,這樣,每一支箭被重置到玩家前方,這一支箭的速度就會(huì)發(fā)生變化,玩家每一次遇到的箭的數(shù)量也會(huì)變?yōu)殡S機(jī)。在每次將箭重置到玩家前方時(shí),還將箭在射向玩家方向上的坐標(biāo)設(shè)置成一定范圍的隨機(jī)值,這樣就使玩家每次遇到的箭的數(shù)量更加不確定,使本游戲的趣味性更強(qiáng),變化性更豐富。

 ?。?)準(zhǔn)確度隨機(jī)

  當(dāng)將箭的位置重置為玩家前方時(shí),通過(guò)箭的高度和水平位置的調(diào)整可以使箭的準(zhǔn)確度不確定。將箭的高度和水平坐標(biāo)重置成一定范圍的隨機(jī)值就可以實(shí)現(xiàn)箭是隨機(jī)的;將箭的高度重置成玩家的高度、水平坐標(biāo)重置成玩家的坐標(biāo)就可以實(shí)現(xiàn)箭的追蹤,這里通過(guò)emp.transform.position.x、emp.transform.position.y和emp.transform.position.z獲取玩家的三維空間坐標(biāo)。

  2.4玩家動(dòng)態(tài)視角

  視角的變化主要是用LookAt來(lái)實(shí)現(xiàn)的。LookAt函數(shù)能使物體旋轉(zhuǎn)自身,使其指向目標(biāo)物體所在的位置。首先需要獲取箭在三維空間中的坐標(biāo)arrow.transform.position.x、arrow.transform.position.y和arrow.transform.position.z,然后將箭的位置作為參數(shù)帶入LookAt函數(shù)。

  2.5音效與粒子特效

  游戲中的音效與粒子特效的實(shí)現(xiàn)都是通過(guò)用代碼調(diào)用在場(chǎng)景中創(chuàng)建的組件實(shí)現(xiàn)的。

 ?。?)游戲音效

  箭擊中角色所觸發(fā)的音效的實(shí)現(xiàn)方法如下。首先在場(chǎng)景中建立一個(gè)空物體hit,在hit上添加Audio Source音頻組件,然后將聲音文件拖到音頻組件的Audio Clip中,再在控制角色移動(dòng)的腳本中聲明一個(gè)AudioSource類(lèi)型的變量music,最后用music獲取剛才的聲音組件AudioSource,當(dāng)箭射中了角色時(shí),就用music.play()觸發(fā)這一段音效。

  (2)粒子特效

  箭擊中玩家時(shí)會(huì)觸發(fā)粒子特效,實(shí)現(xiàn)方法包括創(chuàng)建粒子系統(tǒng)物體和通過(guò)代碼控制粒子物體。

  先創(chuàng)建一個(gè)粒子系統(tǒng)物體Particle System,要在Inspector中將粒子的顏色Start Color調(diào)整為紅色;粒子持續(xù)時(shí)間需要設(shè)定為確定值,這里需要將Looping的對(duì)勾去掉,再將Duration的值設(shè)定為確定值;通過(guò)Start Lifetime調(diào)整粒子存在的時(shí)間;通過(guò)Start Speed調(diào)整粒子噴出的速度;再通過(guò)調(diào)整Emission中的Rate來(lái)改變單位時(shí)間里發(fā)射的粒子數(shù)。

  創(chuàng)建一個(gè)GameObject的變量particle,用particle去獲取Particle System,當(dāng)箭擊中了角色時(shí),就通過(guò)particle.particleSystem .Play ()觸發(fā)這個(gè)粒子效果。

002.jpg

  游戲界面如圖2、圖3所示,它的實(shí)現(xiàn)要有3D的效果,而且背景必須要精美,這樣才能有足夠的吸引力。

  

003.jpg

4結(jié)論

  這是一款基于Unity3D開(kāi)發(fā)平臺(tái)制作的游戲,運(yùn)用了JavaScrip腳本,實(shí)現(xiàn)了游戲場(chǎng)景的制作、重力感應(yīng)控制、箭的設(shè)置、玩家動(dòng)態(tài)視角及音效與粒子特效,但模型的制作還需要再精細(xì)一些,場(chǎng)景中可以加一些動(dòng)態(tài)的變換的元素,3D效果還可以通過(guò)暴風(fēng)墨鏡加強(qiáng)。

  參考文獻(xiàn)

 ?。?] 王樹(shù)斌.淺析Unity3D開(kāi)發(fā)游戲流程及常用技術(shù)[J].電腦知識(shí)與技術(shù),2012,8(22):53515352.

  [2] 李效偉,張海程,董樹(shù)霞,等.Unity3D引擎在軟件類(lèi)學(xué)科競(jìng)賽中的應(yīng)用[J].計(jì)算機(jī)教育,2015(24):69.

 ?。?] 謝韜.基于Unity3D粒子系統(tǒng)的游戲特效實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2015(16):3032.

 ?。?] 蔣元,蔡勝軍,何紹勇,等.基于Unity3D的虛擬地理環(huán)境構(gòu)建[J].現(xiàn)代計(jì)算機(jī),2014(22):5255.

  [5] 張敏.基于Unity3D的三維地形建模[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,14(6):1618.

 ?。?] 王亞萍.淺析Unity3D創(chuàng)建環(huán)境地形[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012(19):175.

  [7] 李杰,楊娜,李釗.真實(shí)感游戲中的碰撞檢測(cè)方法研究[J].現(xiàn)代計(jì)算機(jī),2014(1):3537.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 日韩综合网站 | 久久免费视频1 | cao美女视频网站在线观看 | 国产成人精品免费视频动漫 | 亚洲一二四区性毛片1在线 亚洲一二三在线 | 久久笫一福利免费导航 | 久爱免费观看在线精品 | 最近免费字幕中文大全在线观看 | 最近中文字幕免费4 | 青青草欧美| 国产特级毛片aaaaaaa高清 | 欧美日韩在线免费观看 | 午夜男人剧场 | 色综合色综合色综合 | 亚洲精彩视频在线观看 | 真人一级一级特黄高清毛片 | 在线播放亚洲精品 | 成人欧美视频在线观看播放 | 欧美日韩亚洲国产综合 | 成人免费夜片在线观看 | 成人福利网站在线看视频 | 久久99精品久久久久久秒播放器 | h网站免费在线观看 | 中文字幕日本一本二本三区 | 国产亚洲欧美在在线人成 | 国产一区二区精品在线观看 | 久久99热成人精品国产 | 一个人看的免费视频www中国 | 小明免费视频一区二区 | 九九久久亚洲综合久久久 | 免费看一级毛片 | 免费特黄一级欧美大片在线看 | 日韩三级视频在线 | 午夜小视频在线观看 | 欧美成人伦理 | 99re在线视频免费观看 | 亚洲欧美片 | 午夜影皖普通区 | 波多野结衣视频在线 | 55夜色66夜色国产亚洲精品区 | 亚洲欧美v国产一区二区 |