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.

主站蜘蛛池模板: 亚洲国产成人精品无码区性色| 欧美区一区| 国产女人水多毛片18| 欧美精品影院| 久青草免费在线视频| 亚洲欧美日韩中文字幕在线| 99999久久久久久亚洲| 波多野结衣中文字幕一区二区| 四虎成人精品在永久免费| 日韩美女福利视频| 欧美中日韩在线| 色精品视频| 久久综合亚洲色一区二区三区| 亚瑟天堂久久一区二区影院| 中国国产A一级毛片| 2022国产无码在线| 青青久久91| a级免费视频| 在线欧美a| 亚洲日韩Av中文字幕无码 | 亚洲第一成年网| 日本高清在线看免费观看| 亚洲精品无码专区在线观看| 中文字幕无码av专区久久| 成人噜噜噜视频在线观看| 激情综合婷婷丁香五月尤物| 少妇高潮惨叫久久久久久| 播五月综合| 在线免费无码视频| 国产女人水多毛片18| 日本影院一区| 狠狠ⅴ日韩v欧美v天堂| 国产自在线播放| 色综合狠狠操| 国产成人欧美| 天天摸天天操免费播放小视频| 久久久久亚洲av成人网人人软件| 精品综合久久久久久97超人| av在线无码浏览| 国产菊爆视频在线观看| 成年人免费国产视频| 久久五月天综合| 9cao视频精品| 国产精品夜夜嗨视频免费视频| 国产成人亚洲综合a∨婷婷| 国产91在线|日本| 成人毛片免费观看| 成人欧美日韩| 91无码国产视频| 欧美一级特黄aaaaaa在线看片| 午夜日b视频| 手机在线免费不卡一区二| 欧美激情伊人| 色天堂无毒不卡| 欧美国产日韩在线| 久久国产精品波多野结衣| 国内精品久久久久久久久久影视| 日韩小视频在线观看| 久久人人妻人人爽人人卡片av| 91色综合综合热五月激情| 日韩高清在线观看不卡一区二区| 亚洲天堂视频在线观看免费| 国产精品一区二区久久精品无码| 久99久热只有精品国产15| 免费一级毛片完整版在线看| 欧美日韩中文国产| 欧美有码在线观看| 国产成人精品无码一区二| 国内视频精品| 国产成熟女人性满足视频| 亚洲国产系列| 免费一看一级毛片| 国产www网站| 亚洲男人的天堂视频| 中文字幕日韩丝袜一区| 国产办公室秘书无码精品| 中文一级毛片| 欧美日韩专区| 国产白浆一区二区三区视频在线| 欧美成人区| 国产特一级毛片| 日韩无码黄色网站|