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

基于Unity3D開發Survival shooter的實現

2018-01-15 09:52:06王濤王曉博
智富時代 2018年11期

王濤 王曉博

【摘 要】本文闡述了一個基于Unity3D開發的射擊類游戲,重點實現了碰撞檢測、敵人智能跟蹤、動畫設置、聲音播放等功能,UI搭建方面實現了界面的制作、玩家血量條、玩家分數記錄和音量界面的制作。

【關鍵詞】Unity3D軟件;射擊類游戲;UI界面

1.引言

小游戲作為電子游戲家族中的一個獨特成員,在其中扮演著重要的角色。通常以休閑益智類為主,主要分為單機版和網絡版。本次開發的噩夢射手就是屬于休閑小游戲,正是迎合了當前游戲產業,具備良好的發展前景。

2.游戲系統設計

2.1 場景搭建

游戲素材來自于Unity引擎中自帶的資源商店,在搜索界面輸入Survival shooter就可以搜索到本題的素材,通過下載導入就可將游戲素材導入到Unity資源文件中。根據原場景進行場景搭建,搭建場景的所有游戲對象都會在Hierarchy視圖中顯示出來,方便開發者對場景隨時進行更改與調整。

2.2 場景中的物理檢測設置

游戲中能夠發生碰撞的物理引擎是Collider組件,受到重力、摩擦力和角摩擦力的是Rigidbody組件,當給游戲中的對象加上這些組件的時候,他們就會模擬出現實世界中的一些物理現象。

在物理引擎中,兩個物體發生碰撞的條件是:兩個物體都具有碰撞器,并且一個物體必須帶剛體,而且兩個物體發生相對運動,這是在Unity的物理引擎中產生物理碰撞的必要條件。

2.3 UI界面的制作

在本題中游戲界面中顯示的有玩家的血量和得到的分數記錄,當按下ESC鍵會彈出聲音控制面板和結束暫停重新開始界面。

3.游戲功能實現

3.1 主角的移動

通過獲取虛擬軸來實現主角的移動,水平虛擬軸和垂直虛擬軸,水平虛擬軸對應了鍵盤上的A、D,垂直虛擬軸對應了鍵盤的W、S。獲取到他們,將它們賦值給主角的位置,這樣就可以在按下W、A、S、D讓主角移動了,其本質就是改變了主角在三維世界中的位置來達到移動的目的。

3.2 主角的轉向

主角的轉向是通過鼠標來控制的,由于鼠標是在屏幕上的,因此首先要將鼠標的位置轉換到世界坐標中,在本題中通過射線檢測的方法與四元數的轉向的方法來讓主角轉向并且很自然的轉向。

3.3 主角的動畫播放

通過直接拖拽的方式將主角的動畫添加到這個面板中,在游戲剛開始時,不移動主角時,我們就會讓主角執行一個閑置的狀態,當按下W、A、S、D中的任何一個時,主角就會播放移動的動畫,此時在主角的這個游戲對象的屬性面板上加上一個Animator組件,然后將我們創建的這個動畫狀態機添加給Animator組件,這樣就這兩個組件連接在一起了,最后在主角的這個腳本中將這個組件拿到,加上一些判定,在適當的時候來播放這個動畫就可以了。

3.4 主角的射擊

主角的射擊是通過鼠標來控制的,當玩家按下鼠標左鍵的時候,主角會對敵人進行射擊,在本題中,主角射出是一條線段,這個線段有一個最遠距離,也會給場景中的所有對象添加一個層(ShootableMask),也會將敵人添加這個層中,當主角打到這個層中的任何一個對象是,這個線段就會以這個對象作為終點,否則射線就會打到最遠的距離。

4.敵人的產生、移動和動畫播放

4.1 敵人的產生

先在已經搭建好的場景中創建三個空的游戲對象,將它們放置在想要敵人生成的地方,然后再創建一個空的游戲對象來管理這三個位置,將在這個空的游戲對象掛在一個實例化敵人的腳本,其次要將素材中的敵人設置好做成預設體,在腳本中拿到預設體和將要產生敵人的位置,這樣敵人的生成就可以了。

4.2 敵人的移動是通過自動尋路來尋找主角的。

使用Unity中自帶的導航系統,可以讓敵人自動尋路,只要在一開始的時候給敵人一個主角位置,之后就會跟著主角的移動來移動。

4.3 敵人的動畫播放

敵人的動畫的邏輯是,當游戲開始時,給敵人加上移動的動畫,動畫參數選擇Trigger類型的參數,這是從移動的動畫到閑置狀態的動畫之間的切換,它的觸發條件就是當玩家死亡的時候,而敵人死亡的動畫是無論是在移動狀態下還是閑置狀態都會觸發,所以要將死亡的動畫加在任何狀態的狀態上,這樣就可以隨時觸發這個動畫了。

4.4 主角與敵人攻擊邏輯的實現

主角攻擊與主角的健康,在前面提到過主角的射擊,而主角攻擊就是用槍來射擊敵人,并且給槍設置的每發子彈是20點傷害,玩家的血量設置的是100點血量,在實現開始前記錄一個當前玩家的血量和初始血量。

敵人的攻擊與健康,每一個敵人的游戲對象身上都會具有一個觸發器,當敵人接近主角的一定范圍時,敵人就會對玩家發起攻擊,本題中,敵人的攻擊是10點傷害,血量也是100點上限,在開始前也記錄一個當前敵人的血量和初始血量。

4.5 UI界面的搭建與代碼之間的關聯

UI界面的搭建也是游戲制作的重要部分,首先我們先創建一個Panel,并且將它的大小設置與畫布大小一樣,它有一個Image組件,里面有一個Color的屬性,將顏色改變為紅色,然后將它的透明度設置為0,這樣我們在游戲開始時就會看不到。顏色的改變我們就通過主角的健康腳本用代碼來實現,首先我們先獲取到這個能改變這個Panel顏色的組件Image組件,并且要給這個組件賦一個初始值,就是主角受到攻擊以后,顏色顯示為這個初始值,如果沒有受到攻擊,我們就讓顏色通過一個Color.Lerp()的方法漸變為透明,其中,這個方法有三個參數,第一個參數就是主角受到攻擊時的顏色,第二個參數就是Color.clear,第三個參數我們會給一個這個顏色從主角受到攻擊時的顏色到透明的一個漸變的速度,因此我們會在剛開始的時候給一個漸變速度,讓這個速度在乘以一個Time.deltaTime,這樣就是顯得很平滑,不至于突兀。

接下來是主角的血條制作,我們使用的一個是叫Slider的游戲組件,他是一個滑動條,這個組件上有Interactable、Min Value、Max Value、Value屬性,其中第一個屬性是是否可交互,默認為True,如果將其改為False將不能與代碼鼠標完成交互,第二個是這個滑塊的最小值,第三個是這個滑塊的最大值,第四個是這個滑塊的值,默認是0到1,在本題中,我們將主角的值設置為了100,因此我們將這個滑塊的最大值改為100,用來現實主角的血量。

在主角健康的腳本中將主角當前的血量賦值給這個Slider組件,這樣在游戲開始時主角受到攻擊時,那個血量就會根據敵人的攻擊來減少。

主角所得分數的計算,寫一個腳本掛載到顯示分數的文本上,通過這個腳本來獲取每個敵人死亡后的分數。

最后就是我們的音量面板和游戲暫停面板,跟上面的做法一樣,在畫布上選擇一些Slider游戲,不過在這又用了兩個新的游戲對象,一個Button游戲對象,一個Toggle游戲對象,Button游戲對象是可點擊的按鈕,在這通過ESC鍵可以呼出這個面板,最下方有一個繼續游戲(Resume)按鈕,一個離開游戲按鈕(Quit Game),在上面就是一個是否開關聲音的Toggle游戲組件,當取消這個按鈕時,我們的游戲界面將沒有聲音,在上面就是通過我們的Slider游戲對象來實現的。通過與代碼的交互,我們就可以實現以上所說的這些。

5.總結

本次設計的第一人稱射擊的休閑類小游戲,功能單一,后期會逐步完善。

【參考文獻】

[1]吳志達.基于Unity3D游戲引擎的游戲研究與實現[D].中山大學,2012.

[2]李錦榮,郭磊,譚忠揚.基于Unity3D平臺的射擊游戲的開發[J].福建電腦,2015(02)171-173.

主站蜘蛛池模板: 久久青青草原亚洲av无码| 99视频全部免费| 亚洲无码A视频在线| 美女无遮挡免费网站| 中文字幕永久视频| 精品国产中文一级毛片在线看 | 91国内外精品自在线播放| 国产又黄又硬又粗| 新SSS无码手机在线观看| 亚洲成人精品| 在线观看免费AV网| 波多野结衣无码中文字幕在线观看一区二区 | 国产va在线观看| 亚洲精品动漫| 亚洲人成影视在线观看| 欧美日韩中文字幕二区三区| 国产免费高清无需播放器| 婷婷综合缴情亚洲五月伊| 在线欧美日韩| 亚洲精品第一页不卡| 国产精品视频第一专区| 特级毛片免费视频| 22sihu国产精品视频影视资讯| 国产欧美精品一区aⅴ影院| 黄色在线不卡| 一本大道香蕉中文日本不卡高清二区| 国产免费网址| 精品国产中文一级毛片在线看| 欧美三级日韩三级| 国产免费a级片| 四虎永久在线视频| 亚洲区一区| 91成人在线观看| 老色鬼久久亚洲AV综合| 农村乱人伦一区二区| 99精品福利视频| aa级毛片毛片免费观看久| www.精品视频| 国产成人AV综合久久| 精品国产福利在线| 色综合国产| 亚洲无线国产观看| 99在线小视频| 亚洲第一黄片大全| 免费一极毛片| 日本免费a视频| 亚洲精品中文字幕午夜| 伊人久久大香线蕉影院| 真实国产乱子伦高清| 欧美伊人色综合久久天天| 波多野结衣一二三| 婷婷亚洲天堂| 无码网站免费观看| 精品福利视频网| 91青青视频| 亚洲成A人V欧美综合| 中文字幕亚洲综久久2021| 日本成人精品视频| 伊人久热这里只有精品视频99| 国产亚洲高清在线精品99| 精品91视频| 伊人久久综在合线亚洲91| 国产精品香蕉在线| 亚洲国产成人在线| 久久久成年黄色视频| 亚洲综合二区| 91精品网站| 91在线播放免费不卡无毒| JIZZ亚洲国产| 亚洲综合精品第一页| 国产麻豆永久视频| 亚洲男人的天堂在线观看| 午夜国产精品视频| 精品夜恋影院亚洲欧洲| 午夜精品影院| 亚洲清纯自偷自拍另类专区| 精品一区二区三区波多野结衣 | 91亚洲免费视频| 亚洲日韩图片专区第1页| 69视频国产| 在线另类稀缺国产呦| 中文字幕在线观|