国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Unity3D的射擊類游戲設(shè)計研究

2018-11-01 03:04王莉莉周靈王薪州
電腦知識與技術(shù) 2018年19期

王莉莉 周靈 王薪州

摘要:隨著數(shù)字媒體技術(shù)的發(fā)展,Unity3D引擎作為一款跨平臺游戲引擎,已被廣泛應(yīng)用于游戲設(shè)計開發(fā)中。該文以《單兵作戰(zhàn)》第一人稱視角射擊游戲為例,介紹基于Unity3D引擎的射擊類游戲設(shè)計實現(xiàn)過程,主要包括場景系統(tǒng)、角色系統(tǒng)、道具系統(tǒng)、狀態(tài)系統(tǒng)、交互系統(tǒng)和得分系統(tǒng)等,經(jīng)測試游戲運行流暢。

關(guān)鍵詞:射擊類游戲;電子競技游戲;Unity3D引擎

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)19-0104-03

1 引言

隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)的發(fā)展,電子競技產(chǎn)業(yè)已經(jīng)受到世界各國的廣泛關(guān)注。以《穿越火線》《CSGO》《絕地求生》等為代表的FPS(射擊)類電子游戲,每年通過舉辦國際性賽事吸引全球游戲迷強烈關(guān)注。據(jù)相關(guān)數(shù)據(jù)預(yù)測,到2019年我國電子競技用戶規(guī)模將達(dá)4.3億人,他們的年齡大多是25歲以下,其中軍事電子游戲因其獨特的競技性廣受年輕一代的青睞。

電子競技游戲不僅是一種基于互聯(lián)網(wǎng)平臺的以智力對抗游戲為內(nèi)容的體育活動,更是一種青少年普遍認(rèn)同的文化娛樂形式,已成為一種新興文化的傳播媒介。設(shè)計開發(fā)一款能夠開展國防教育和軍事文化傳播的電子競技游戲是非常重要的課題。本文以Unity3D為開發(fā)引擎,以《單兵作戰(zhàn)》游戲為例,介紹了軍事類題材,射擊類游戲的設(shè)計研究過程。

2 Unity3D引擎簡介

Unity3D是由Unity Technologies開發(fā)的一款多平臺綜合游戲引擎,允許用戶輕松創(chuàng)建交互式內(nèi)容,如3D游戲、建筑可視化、三維動畫等。它類似于Director、BlenderGame Engine、Virtools或Torque Game Builder等利用交互式圖形開發(fā)環(huán)境為主要形式的軟件,其編輯器可運行在Windows和Mac OS X操作系統(tǒng)下,可以發(fā)布游戲到Windows,Mac,Wii,iPhone,WebGL(需要HTML5),Windows Phone 8和Android平臺。還可以使用Unity Web Player插件發(fā)布網(wǎng)頁游戲,并支持Mac和Windows的網(wǎng)頁瀏覽。因為這些優(yōu)點,使得越來越多的游戲開發(fā)人員選擇Unity3D這款游戲引擎。本文通過Unity3D引擎實現(xiàn)了場景搭建、游戲交互等。

3 游戲整體設(shè)計

3.1 游戲策劃

游戲場景是熱帶雨林,玩家以解放軍士兵身份被派遣至此。玩家進(jìn)入游戲,自帶初始體力值和彈藥數(shù),利用拾取道具增加體力值和彈藥數(shù)。按Q鍵拾取彈藥箱和補給箱,每拾取一個彈藥箱,補充50枚彈藥;每拾取一個補給箱,體力增加30。彈藥的峰值為200,體力的峰值為100,當(dāng)彈藥數(shù)和體力數(shù)達(dá)到峰值時,拾取道具,彈藥數(shù)和體力值均不會增加。當(dāng)士兵的體力值大于0時,士兵的體力值會因受到攻擊而減少。當(dāng)體力值為0時,角色死亡,跳轉(zhuǎn)到重新開始界面。

敵人有三種類型,一血型、二血型、三血型,分別能夠承受1、2、3枚子彈。場景中的敵人是隨機生成的,根據(jù)游戲難度,簡單、困難、專家,敵人初始數(shù)量分別為200人、300人和500人。當(dāng)敵人數(shù)量少于160人時,系統(tǒng)會自動增加敵人。敵人具備智能自由行走功能,在行走中尋找玩家所控制的士兵,當(dāng)士兵與敵人在一定范圍內(nèi),敵人會追擊士兵,并調(diào)用攻擊動畫對士兵進(jìn)行攻擊。當(dāng)敵人受到士兵攻擊時,血量會減少,當(dāng)血量為0時,調(diào)用倒地動畫。子彈是否打中敵人,涉及碰撞檢測,當(dāng)子彈打中敵人時,敵人血量減少或者死亡,子彈銷毀,當(dāng)子彈并未打中敵人時,子彈自動銷毀,釋放內(nèi)存,敵人血量不變。

得分系統(tǒng)的設(shè)置,可增加游戲的競技性。得分系統(tǒng)顯示在游戲中和游戲結(jié)束時,實時提醒玩家得分情況。當(dāng)系統(tǒng)中士兵體力值為0時,調(diào)用游戲結(jié)束界面,顯示得分系統(tǒng)。

3.2 游戲功能模塊設(shè)計

本游戲主要包括游戲主界面、場景系統(tǒng)、角色系統(tǒng)、狀態(tài)系統(tǒng)、道具系統(tǒng)、交互系統(tǒng)、得分系統(tǒng)五部分。游戲功能結(jié)構(gòu)圖如圖1所示。

4 游戲具體實現(xiàn)

4.1 游戲主界面實現(xiàn)

在Unity3D環(huán)境中,通過Image設(shè)置游戲主界面背景圖片,設(shè)置三個按鈕。設(shè)置游戲難度選項卡、音量調(diào)節(jié)功能,設(shè)置攝像機。針對三種難度,編寫代碼控制敵人初始數(shù)量、移動速度、血量等,完成主界面設(shè)計,如圖2所示為游戲主界面。下面給出游戲難度為“簡單”的相關(guān)代碼:

if (toggle.name == "簡單") {Debug.Log("okokokok");

PlayerPrefs.SetFloat("Count_Enemys", 200f);

PlayerPrefs.SetFloat("moveSpeedX_Enemys0", 0.5f);

PlayerPrefs.SetFloat("moveSpeedX_Enemys1", 1f);

PlayerPrefs.SetFloat("Life_Reduce", 0.0001F); }

4.2 游戲場景設(shè)計

首先創(chuàng)建一個地形,調(diào)整地形大小,修改平面大小,調(diào)整地勢的起伏,給地形貼材質(zhì)、刷樹木、花草、石子等,添加天空盒,創(chuàng)建好基礎(chǔ)地形。再添加一些巖石、古遺跡模型、添加合適的音樂等使得地圖更加逼真。如圖3所示為游戲場景地形圖。

4.3 游戲角色設(shè)計

游戲角色主要包括玩家控制的士兵和系統(tǒng)自動生成的敵人。

4.3.1 士兵角色設(shè)計

將士兵模型導(dǎo)入Unity3D后,通過編寫代碼控制其行走、奔跑、跳躍等動作,再通過設(shè)置相應(yīng)的動作動畫使其更逼真。士兵的移動,通過官方自帶的FPSController組件來設(shè)置,可實現(xiàn)人物的移動方式、鼠標(biāo)鎖定、視角跟隨、WSAD控制上下左右移動,空格跳躍等。如圖4所示為人物角色屬性界面。人物跑動的相關(guān)代碼需單獨設(shè)置如下:

武陟县| 济宁市| 剑阁县| 佛冈县| 德安县| 繁峙县| 丹棱县| 永安市| 金秀| 南召县| 平泉县| 天长市| 新乡市| 民勤县| 汉沽区| 巴林左旗| 乌兰浩特市| 山丹县| 阿拉尔市| 固阳县| 金秀| 麻栗坡县| 贵州省| 武鸣县| 兖州市| 普兰店市| 平罗县| 清镇市| 洛阳市| 阿克陶县| 漳平市| 昌吉市| 永安市| 岫岩| 昆山市| 福泉市| 托克托县| 霞浦县| 阳朔县| 水富县| 红河县|