亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Unity3D的ARPG游戲設(shè)計與實(shí)現(xiàn)

        2020-12-01 03:17:10王艷華唯辰
        電腦知識與技術(shù) 2020年29期
        關(guān)鍵詞:碰撞檢測游戲

        王艷 華唯辰

        摘要:目前人們生活節(jié)奏快碎片化時間多,多數(shù)人更愿意利用碎片化時間玩一些不易沉迷的游戲。為了迎合現(xiàn)代人對游戲的需求,旨在開發(fā)一款不易讓人沉迷、鍛煉玩家快速反應(yīng)能力的三維ARPG類游戲?;赨nity3D游戲開發(fā)技術(shù)在Visu-aIStudi02019平臺、使用C#開發(fā)語言設(shè)計并實(shí)現(xiàn)了這款名為劍圣的三維ARPG游戲。首先分析選題背景,然后描述游戲開發(fā)的目的、玩法以及包含的功能模塊,接著詳細(xì)闡述游戲中關(guān)鍵技術(shù)的開發(fā)思路,最后展示了游戲的實(shí)現(xiàn)效果圖。

        關(guān)鍵詞:Unity3D;ARPC;游戲;碰撞檢測;人物交互

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2020)29-0199-03

        1 概述

        ARPG( Action Role-playing Game)即動作類角色扮演游戲,有很大一部分是單機(jī)游戲。在這類游戲中,用戶控制某個角色并執(zhí)行相應(yīng)的動作(尤其是攻擊動作)在特定環(huán)境中活動,AR-PC融合了動作游戲和傳統(tǒng)RPG游戲的元素,將激烈的打斗場面融人其中,大大加快了游戲的節(jié)奏感和緊張感,更加容易調(diào)動用戶的參與感,它增強(qiáng)了RPG游戲的交互性和動作感[1],也使得ARPG類游戲在中國受到越來越多人喜歡。

        Unity3D作為目前主流的3D游戲開發(fā)引擎,集圖形、音頻、物理和網(wǎng)絡(luò)等多功能為一體[2j,可以編輯地形、搭建3D場景、并通過腳本編寫對角色進(jìn)行控制,尤其他強(qiáng)大的物理引擎還能模擬出更加逼真的場景,使游戲更加真實(shí)[3]。所以本文基于Uni-ty3D技術(shù)和Visual Studi02019平臺、使用C#語言開發(fā)一款A(yù)R-PG游戲系統(tǒng)。

        當(dāng)今社會發(fā)展飛速,人們生活節(jié)奏快碎片化時間比較多,多數(shù)人更愿意選擇玩一些簡單易操作又不易沉迷的游戲來休息與放松,所以本文開發(fā)的是一款只有刀光劍影、沒有讓人沉迷的故事情節(jié)、旨在鍛煉玩家快速反應(yīng)能力的ARPG類游戲。

        2 游戲設(shè)計

        2.1 游戲開發(fā)目的

        本游戲旨在實(shí)現(xiàn)一個3D的ARPG單機(jī)闖關(guān)游戲。本游戲中人人都是劍圣,沒有花里胡哨的法術(shù),也沒有一招必勝的絕招,有的只是以刀劍去會武林各路高手的豪邁、勇猛,主要考驗(yàn)玩家在極短時間內(nèi)做出反應(yīng)操作的能力,可以鍛煉玩家的快速反應(yīng)能力。

        2.2 游戲玩法

        本游戲共有2種角色:劍客和敵人,共4個關(guān)卡。玩家在進(jìn)入游戲后,可以選擇“開始新游戲”“繼續(xù)游戲”和“退出游戲”。如果是新游戲,先是挑戰(zhàn)一個教學(xué)關(guān)卡,成功后繼續(xù)挑戰(zhàn)剩下三個打斗關(guān)卡;如果是繼續(xù)游戲,則繼續(xù)使用上一次游戲退出時劍客的屬性,比如體力值、攻擊力等,跳過教學(xué)關(guān)卡,直接挑戰(zhàn)三個打斗關(guān)卡。所有角色只有體力值沒有生命值,角色一旦受到傷害只會削減體力值,劍客體力值為零則挑戰(zhàn)失敗,以武會友不傷性命。敵人被擊敗后會掉落增加劍客技能和攻擊力的寶物。

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

        本游戲包括三個功能模塊:場景設(shè)計模塊、人物功能模塊、游戲功能模塊,如圖1所示。

        1)場景模塊包括了場景環(huán)境的搭建以及界面UI的顯示,本游戲系統(tǒng)設(shè)計了四個場景:教學(xué)場景和三個打斗場景,和六個界面:開始界面、設(shè)置界面、劍客信息界面、勝利界面、失敗界面、通關(guān)界面。

        2)人物功能模塊包括對劍客和敵人的控制功能模塊。

        劍客:劍客由玩家操控,在體力值大于0時,可以前后左右移動;在防御時,可以通過翻滾、格擋進(jìn)行閃避,當(dāng)劍客進(jìn)行格擋時,敵人的普通攻擊不會對其造成傷害,并且格擋在特定情況下會對敵人彈反,彈反成功會對敵人造成硬直;劍客在攻擊時,在精力值不為0時,可進(jìn)行普通攻擊、連擊和技能攻擊;劍客受到傷害時會硬直,體力值會減少,當(dāng)體力值變?yōu)?時,玩家挑戰(zhàn)失敗,游戲重新開始。

        敵人:本游戲包含3種敵人:小怪、精英怪物和boss,具有追逐、自動躲避障礙、防御、進(jìn)攻和反擊等邏輯,敵人對劍客進(jìn)行攻擊,其中精英怪物和Boss能夠?qū)偷倪B續(xù)攻擊和技能攻擊進(jìn)行格擋,如果敵人一直被劍客攻擊會有一定概率的反擊操作,如果劍客一直格擋敵人會看破。

        3)游戲功能模塊是本游戲系統(tǒng)的主體部分,包括音效管理、公共方法封裝、流程控制、點(diǎn)擊事件、傳送邏輯、底層數(shù)據(jù)管理,該模塊采用MVC框架進(jìn)行設(shè)計[4]。

        3 游戲關(guān)鍵技術(shù)

        3.1 場景實(shí)現(xiàn)

        由于場景建模不是本系統(tǒng)的重點(diǎn)內(nèi)容,所以場景中的地圖環(huán)境素材來源于網(wǎng)上的開源素材,導(dǎo)人到Unity3D項(xiàng)目的Assert文件夾中,將基本的素材(石頭、青苔、樹木、葉子、木板等)組合成一個prefab預(yù)制體(山體、樹木、房屋),在場景中添加物體以及人物,并為場景中的物體、人物加載碰撞器( BoxColider)組件和剛體(RigidBody)組件,方便后續(xù)實(shí)現(xiàn)重力、碰撞等物理效果,最后烘焙場景光源和可到達(dá)區(qū)域[5]。

        3.2 人物碰撞檢測

        本游戲系統(tǒng)主要涉及劍客與敵人間的攻擊,為了呈現(xiàn)攻擊碰撞時的真實(shí)性和準(zhǔn)確性,需要為劍客和敵人設(shè)置碰撞檢測。本系統(tǒng)采用Unity提供的BoxColider碰撞器組件、觸發(fā)器進(jìn)行碰撞檢測[6]。

        3.2.1劍客的攻擊碰撞檢測

        劍客的攻擊碰撞檢測,是將BoxColider組件和PlayerSward-Attack腳本掛載到劍客人物模型的右手的劍上,并勾選Is Trig-ger屬性[7-8]。當(dāng)劍碰撞器接觸到敵人軀體碰撞器時,物理上看劍會穿過敵人,在PlayerSwardAttack腳本中進(jìn)入OnTriggerEnter方法,首先實(shí)例化劍客的攻擊特效,并設(shè)置一個攻擊參數(shù)is—CanAttack,判斷玩家操控劍客時是否按下攻擊鍵(即劍客是否正在攻擊),如果沒在攻擊,比如人物移動時劍只是碰到敵人并沒有攻擊敵人,則直接退出方法,物理上沒有任何效果,如果正在攻擊,敵人則受到傷害,播放受傷動畫并減少血量,同時獲取敵人,將敵人掛載的enemySwardAttack腳本中的攻擊參數(shù)設(shè)置為false,這樣可以保證敵人在被攻擊時自身的攻擊碰撞器失效,避免攻擊邏輯上的混亂。

        3.2.2 敵人的攻擊碰撞檢測

        敵人攻擊碰撞器的實(shí)現(xiàn)原理與劍客攻擊碰撞器的相同,只是組件和腳本被掛載到了一個透明的、立方體形狀的游戲物體上,如圖2所示,若劍客在這個碰撞器范圍內(nèi),敵人便隔一定時間調(diào)用攻擊方法,若不在碰撞器范圍內(nèi),敵人根據(jù)距離來判斷是否追蹤劍客。

        在敵人攻擊劍客時,激活其攻擊碰撞器,并實(shí)例化劍客被攻擊的特效,重置攻擊時間間隔attackTimer。因?yàn)閯鸵恢痹诠襞鲎财鞣秶鷥?nèi),所以先設(shè)置碰撞器關(guān)閉,當(dāng)攻擊間隔at-tackTimer到時才激活碰撞器對劍客進(jìn)行攻擊,這樣不會一直對劍客造成傷害.實(shí)現(xiàn)敵人的間隔攻擊。

        3.2.3 敵人和劍客的軀體碰撞檢測

        在劍客和敵人的軀體模型上掛載BoxColider碰撞器組件,但均不勾選IsTrigger這個觸發(fā)器屬性,在游戲中稱為“碰撞體積”,不勾選觸發(fā)器屬性的效果就如同現(xiàn)實(shí)生活中兩個人面對面移動不可能直接穿過去而是會撞在一起一樣,在游戲中劍客同樣不能從一堆敵人中穿過去,而是會被包圍。

        3.3 人物間交互

        在Unity3D中,實(shí)現(xiàn)虛擬交互的方式是編寫能夠?qū)崿F(xiàn)交互功能的腳本,并將相應(yīng)腳本掛載到相應(yīng)的3D物體上。本游戲系統(tǒng)關(guān)鍵交互技術(shù)為:敵人智能追蹤、劍客彈反和劍客連擊。

        3.3.1敵人智能追蹤

        敵人智能追蹤是使用Navigation導(dǎo)航系統(tǒng)實(shí)現(xiàn)的[9],在Nav-igation系統(tǒng)中先烘焙地圖上的導(dǎo)航網(wǎng)格確定哪些地方是可達(dá)到的(Walkable),再使用NavMeshAgent組件控制角色的移動。敵人具有轉(zhuǎn)身速度、仇恨距離、攻擊距離、攻擊間隔等屬性,在敵人這個G ameObject上掛載的EnemyController腳本中實(shí)例化導(dǎo)航系統(tǒng),在Awake方法中調(diào)用NavMeshAgent里的API獲取劍客的實(shí)時位置坐標(biāo),并得出劍客與敵人的距離,若該距離在敵人的仇恨距離內(nèi)追擊玩家,當(dāng)進(jìn)入攻擊距離后開始根據(jù)攻擊間隔攻擊玩家。

        3.3.2 劍客彈反

        敵人攻擊的同時若玩家能在指定之間內(nèi)按下空格鍵便可進(jìn)行彈反。在敵人的碰撞器腳本中,當(dāng)敵人進(jìn)行攻擊時,將彈反機(jī)會參數(shù)isCanOpenPlayProtect設(shè)置為true,進(jìn)入彈反判斷,計算玩家按下空格鍵的反應(yīng)時間,設(shè)置控制玩家彈反的判定時間(例如1s),此時考驗(yàn)和鍛煉玩家反應(yīng)速度的時候到了,當(dāng)玩家反應(yīng)時間大于判定時間時則彈反失敗,劍客受到傷害;若玩家反應(yīng)時間小于判定時間則彈反成功,效果如圖3所示,調(diào)用Tools單例中取消敵人傷害的方法,并實(shí)例化彈反的特效,播放彈刀的音效,并重置敵人的攻擊時間,播放敵人受傷動畫,即敵人產(chǎn)生硬直,效果如圖4。

        3.3.3 劍客連擊

        劍客攻擊時會消耗精力值,在調(diào)用攻擊方法前,先判斷劍客當(dāng)前的精力值是否大于攻擊消耗的精力,若大于則調(diào)用攻擊方法、播放攻擊動畫、AudioController設(shè)置攻擊音效,并進(jìn)行是否連擊的判斷。若玩家本次與上一次的攻擊間隔小于系統(tǒng)設(shè)定的攻擊間隔attackTimer則認(rèn)為是連擊,再根據(jù)連擊次數(shù)thi-sAttacklndex獲取連擊進(jìn)度,再依據(jù)連擊進(jìn)度播放不同的攻擊動畫和音效。

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

        部分游戲?qū)崿F(xiàn)效果,如圖5所示。

        5 結(jié)語

        本文基于Unity3D技術(shù)和VisualStudi02019平臺、使用C#開發(fā)語言設(shè)計并實(shí)現(xiàn)了這款A(yù)RPG游戲。游戲只有劍客與敵人間的對戰(zhàn),不易讓人沉迷其中,尤其是彈反系統(tǒng)的設(shè)計,更好的考驗(yàn)、鍛煉了玩家的反應(yīng)能力,但游戲場景不夠華麗、界面也不夠美觀,在這個方面還有很大提升空間。

        參考文獻(xiàn):

        [1]鄧增強(qiáng),基于Unity3D的輕量級ARPG手機(jī)游戲系統(tǒng)研究與應(yīng)用[D].廣州:廣東工業(yè)大學(xué),2017.

        [2]尹大偉,張熙若,李歡歡,等,基于Unity3D的虛擬校園漫游系統(tǒng)及其關(guān)鍵技術(shù)研究[J].軟件工程,2019,22(9):17-19.

        [3]朱晴.Unity3D開發(fā)工具在3D游戲開發(fā)中的應(yīng)用[Jl,電子技術(shù)與軟件工程,2019(22):58-59.

        [4]馬春江,張明禎.Unity3d游戲開發(fā)中的面向組件思想和MVC框架[J].信息與電腦,2017(18):70-72.

        [5]張策.基于Unity3D的三維游戲場景設(shè)計與實(shí)踐[D].合肥:合肥工業(yè)大學(xué),2016.

        [6]俞磊,韓春香.基于Unity3D和3DSMax的虛擬醫(yī)院漫游系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].長春大學(xué)學(xué)報,2020,30(4):40-44.

        [7]朱喜基,馮振輝,基于Unity3D虛擬校園漫游碰撞檢測的研究[J].江蘇科技信息,2018(11):66-68.

        [8]武桐,王曉雨.Unity3D中碰撞檢測問題的研究[J].電子測試,2018(1):83-84.

        [9]袁科,高啟文,閆永航.基于Unidy3D的角色扮演游戲設(shè)計與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2019。18(8):75-79.

        【通聯(lián)編輯:梁書】

        作者簡介:王艷(1985-),江蘇徐州人,研究生,助理實(shí)驗(yàn)師,研究方向:軟件工程;華唯辰(1997-),江蘇蘇州人,本科。

        猜你喜歡
        碰撞檢測游戲
        全新預(yù)測碰撞檢測系統(tǒng)
        基于BIM的鐵路信號室外設(shè)備布置與碰撞檢測方法
        Unity3D中碰撞檢測問題的研究
        電子測試(2018年1期)2018-04-18 11:53:00
        游戲
        數(shù)獨(dú)游戲
        瘋狂的游戲
        飛碟探索(2016年11期)2016-11-14 19:34:47
        空間遙操作預(yù)測仿真快速圖形碰撞檢測算法
        爆笑游戲
        BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測
        第八章直接逃出游戲
        免费网站国产| 亚洲av无码国产精品久久| 免费无码av一区二区三区| 日本老熟欧美老熟妇| 人妻人妻少妇在线系列| 免费看久久妇女高潮a| 最新精品国偷自产在线婷婷| 中文字幕被公侵犯的丰满人妻| 全国一区二区三区女厕偷拍| 久久一区二区三区久久久| 免费观看a级毛片| 亚洲av综合永久无码精品天堂| 曰本无码人妻丰满熟妇5g影院| 国产粉嫩高清| 天天综合色中文字幕在线视频| 日本免费大片一区二区| 国产中文欧美日韩在线| 任你躁国产自任一区二区三区| 人妻少妇精品一区二区三区| 麻豆国产精品一区二区三区 | 成人美女黄网站色大免费的| 奇米狠狠色| 用力草我小逼视频在线播放| 日本免费大片一区二区三区 | 久久精品中文字幕极品| 国产一区二区三区在线观看蜜桃| 成人欧美一区二区三区黑人| 久久精品人人做人人爽电影蜜月| 国产精品亚洲国产| 深夜黄色刺激影片在线免费观看| 欧美性猛交xxxx三人| 丁香六月婷婷综合| 高清亚洲精品一区二区三区| 久久亚洲av成人无码电影| 久无码久无码av无码| 国产极品美女到高潮视频| 久久伊人精品中文字幕有尤物 | 精品人妻伦九区久久aaa片| 囯产精品无码va一区二区| 国产免费一区二区三区在线视频| 国产aⅴ无码专区亚洲av|