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

基于Unity3D塔防類手機(jī)游戲的設(shè)計(jì)與制作策略

2022-04-29 17:48:55李竟
計(jì)算機(jī)應(yīng)用文摘 2022年18期

李竟

關(guān)鍵詞:unity3D;塔防;手機(jī)游戲;設(shè)計(jì)制作

國(guó)產(chǎn)游戲的發(fā)展可謂是突飛猛進(jìn),特別是手機(jī)游戲種類越來(lái)越多。市場(chǎng)調(diào)研報(bào)告顯示,估計(jì)在2023年,全球的手機(jī)玩家數(shù)量可突破30億,中國(guó)游戲市場(chǎng)發(fā)展前景廣闊。塔防游戲?qū)儆谳^為典型的休閑游戲,受到諸多玩家的喜愛(ài),其在設(shè)計(jì)過(guò)程Unity3D的應(yīng)用必不可少,依托此技術(shù)能夠?yàn)樗烙螒虻脑O(shè)計(jì)提供方向,優(yōu)化設(shè)計(jì)思路,增強(qiáng)玩家的游戲體驗(yàn),推動(dòng)3D手機(jī)游戲領(lǐng)域的快速發(fā)展。

1概述

Unity3D屬于游戲開發(fā)綜合類型工具,能夠?yàn)橥婕掖蛟燧p松的游戲場(chǎng)景,通過(guò)三維視頻,建立實(shí)時(shí)動(dòng)畫,搭建可視化平臺(tái)。Unity3D中包含編輯器、地形編輯、腳本、版本控制以及跨平臺(tái)發(fā)布多重功能,能夠形成物理引擎( PsysX).可以拒絕多個(gè)腳本語(yǔ)言運(yùn)行,其中還內(nèi)置Shader效果,便于開發(fā)者應(yīng)用,游戲開發(fā)以后能夠向Android和iOS等手機(jī)平臺(tái)上發(fā)布,還可向PC端發(fā)布,或者利用Unity插件來(lái)發(fā)布網(wǎng)游。Unity3D和其他類型的游戲引擎存在顯著差異,即設(shè)計(jì)者更為關(guān)注游戲體驗(yàn)感和可玩性,并非只追求設(shè)計(jì)簡(jiǎn)單[1]。塔防游戲?qū)儆谝嬷穷愑螒颍ㄟ^(guò)作戰(zhàn)地圖,使怪獸按照設(shè)定路線進(jìn)行移動(dòng),而玩家則可根據(jù)設(shè)定位置創(chuàng)建炮塔,用特殊技能對(duì)敵人發(fā)起攻擊,最終獲得勝利。手機(jī)平臺(tái)中的《保衛(wèi)蘿卜》《植物大戰(zhàn)僵尸》都屬于塔防游戲。當(dāng)前,移動(dòng)設(shè)備的運(yùn)行性能日益提升,手機(jī)游戲也具備3D視覺(jué)體驗(yàn)功能,為塔防游戲的開發(fā)提供了良好的環(huán)境。

2設(shè)計(jì)與制作策略

2.1《保衛(wèi)羊村》制作與設(shè)計(jì)

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

《保衛(wèi)羊村》等塔防游戲就是利用Unity3D技術(shù)完成設(shè)計(jì)的。其設(shè)計(jì)思路是將人物角色劃分為“羊村武士”“灰太狼敵人”,二者分別作為防守方和進(jìn)攻方。敵人根據(jù)地圖設(shè)計(jì)向左方移動(dòng),逐漸靠近羊村,并對(duì)基地發(fā)起攻擊,而攻守一方根據(jù)防守需求,完成武士角色的動(dòng)態(tài)設(shè)置,創(chuàng)建角色展開防守,當(dāng)武士能夠成功消滅一個(gè)敵人時(shí),就可以獲得對(duì)應(yīng)金幣,而金幣可以應(yīng)用在防守投入中。若敵方進(jìn)入羊村大門,則代表防守方失敗。

根據(jù)Unity3D塔防游戲的設(shè)計(jì)流程,要先創(chuàng)建模型和工程,之后建構(gòu)場(chǎng)景,完成程序的編寫,通過(guò)測(cè)試以后相關(guān)功能才可實(shí)現(xiàn)。在建模階段,主要利用3DsMax軟件對(duì)游戲模型進(jìn)行設(shè)計(jì)和制作。在本游戲設(shè)計(jì)中,進(jìn)攻方、防守防的角色和各類武器、道具等都將被導(dǎo)出為FXB類型格式文件,之后使用PS軟件完成貼圖設(shè)計(jì),最終導(dǎo)出PNG格式信息。重新建立Unity工程,并將其命名為“Sheep War”,之后創(chuàng)建文件Asserts,并將模型資源(包括PNC和FXB等)導(dǎo)人其中,隨后依次創(chuàng)建Material,Model,Prefab,Scenes,Scripts,對(duì)于以上文件采取分類管理措施。之后,設(shè)置不同游戲場(chǎng)景、劃分關(guān)卡,通過(guò)游戲管理器內(nèi)部腳本輔助鏈接與管理[2]。

在游戲設(shè)計(jì)環(huán)節(jié),需要依托核心技術(shù)完成腳本程序的編寫和地形建構(gòu),之后進(jìn)行調(diào)試,調(diào)試通過(guò)以后發(fā)布作品,進(jìn)入發(fā)布頁(yè)面,選擇游戲場(chǎng)景,默認(rèn)加載項(xiàng),之后在平臺(tái)內(nèi)選擇對(duì)應(yīng)的運(yùn)行平臺(tái)屬性,即可發(fā)布。此時(shí),用戶可將游戲下載到手機(jī)等設(shè)備進(jìn)行試玩和測(cè)試。

2.1.2游戲設(shè)計(jì)技術(shù)

《保衛(wèi)羊村》屬于塔防游戲,其設(shè)計(jì)階段的關(guān)鍵技術(shù)應(yīng)用如下。

第一,創(chuàng)建地形。從菜單中選擇”Create terrian”,以平面地形的創(chuàng)建作為對(duì)象,借助編輯工具完成地形繪制,并且美化。地形編輯器擁有多種功能,借助“拉高降低”功能可建構(gòu)山壑:依托“平滑工具”,能夠?qū)⒌匦蔚睦饨侨コ哼x擇“貼圖工具”還可自定義地形貼圖,設(shè)置綠色和黃色等顏色,或者種植各類植物:利用“細(xì)節(jié)工具”完成花草植被等細(xì)節(jié)元素的設(shè)置。在場(chǎng)景中,默認(rèn)主攝像機(jī),并選擇對(duì)象,將其屬性設(shè)定為Projection,垂直觀察,對(duì)于觀察位置進(jìn)行調(diào)整,保證預(yù)覽窗口可以清晰觀察游戲運(yùn)行鏡頭。點(diǎn)擊編輯菜單,在其屬性界面中設(shè)置Sky box Material,并將其命名為“Sunny one sky books”,此時(shí)設(shè)置場(chǎng)景即可出現(xiàn)“藍(lán)天白云”,營(yíng)造游戲背景[3]。

第二,矩陣地圖的應(yīng)用。需要在游戲的平面對(duì)象設(shè)置長(zhǎng)寬值,并通過(guò)指定的腳本文件,在其中將二維數(shù)組定義出來(lái),經(jīng)過(guò)初始化生成地圖單元序列,使其初始化成地圖的平面矩陣。

第三,游戲管理器。通過(guò)創(chuàng)建空中游戲體,將其視為游戲管理器,將新建腳本的組件制定,完成Audio組件的配置,管理器可以設(shè)定為靜態(tài)實(shí)例,并且具有唯一性,這能夠保證游戲運(yùn)行階段只存在一個(gè)靜態(tài)實(shí)例,對(duì)于游戲核心邏輯加以控制,具體涵蓋玩家得分、游戲?qū)ο蟆⒂螒驙顟B(tài)、界面數(shù)據(jù)、切換關(guān)卡、背景音樂(lè)等內(nèi)容。

第四,敵人生成器。通過(guò)新建游戲?qū)ο螅谀_本文件之內(nèi),根據(jù)不同關(guān)卡的預(yù)設(shè)時(shí)間、位置動(dòng)態(tài)等,經(jīng)過(guò)克隆來(lái)生存進(jìn)攻方對(duì)象模型,也稱Prefabs,不同生成對(duì)象都可以根據(jù)運(yùn)動(dòng)行為移動(dòng),對(duì)防守單位進(jìn)行攻擊。通過(guò)XML數(shù)據(jù)設(shè)計(jì)對(duì)生成策略進(jìn)行預(yù)定義,進(jìn)而模擬預(yù)設(shè)行為,對(duì)程序的讀取文件進(jìn)行定義,根據(jù)等待時(shí)間、指定線路等編號(hào)來(lái)生成進(jìn)攻對(duì)象。

第五,碰撞檢測(cè)。利用該技術(shù)輔助3D游戲設(shè)計(jì),經(jīng)過(guò)碰撞檢測(cè),如果其運(yùn)行效果良好,則角色處于特定場(chǎng)景中可平滑移動(dòng)。如果出現(xiàn)擊打碰撞或者被武器擊中等場(chǎng)景,則會(huì)導(dǎo)致物體受損。常規(guī)條件下塔防游戲設(shè)計(jì)都是以第三人稱視角出發(fā),在Unity3D模型內(nèi)部設(shè)置組件,通過(guò)碰撞器完成觸發(fā)剛體、偵測(cè)內(nèi)容之間的碰撞。如果碰撞事件能夠?qū)⑹录瘮?shù)觸發(fā),此時(shí)可以將“Is trigger”選項(xiàng)勾選,并將邏輯代碼添加在觸發(fā)函數(shù)中,從而檢驗(yàn)物體在碰撞以后的行為效果。

第六,音效設(shè)置。Unity3D模型的游戲場(chǎng)景音頻擁有兩種形式,即音樂(lè)和音效。游戲音樂(lè)可以作為背景音樂(lè)長(zhǎng)期循環(huán)播放,所以設(shè)計(jì)階段可選擇MP3格式,這種設(shè)計(jì)方式不占用過(guò)多游戲的運(yùn)行內(nèi)存。而音效設(shè)計(jì)主要是突出游戲效果,如設(shè)計(jì)短暫爆炸聲音,可以選擇Wav等格式。具體設(shè)計(jì)流程是:勾選管理器對(duì)象,完成音源對(duì)象的創(chuàng)建,包括audio,component,audio source等,將audio屬性設(shè)為背景音樂(lè),將其和bkmp3音樂(lè)關(guān)聯(lián),借助update方法對(duì)背景音樂(lè)播放與否加以判斷。腳本內(nèi)部使用“Play”將音樂(lè)全部播放。設(shè)計(jì)武器的時(shí)候,應(yīng)該和創(chuàng)建音效對(duì)象關(guān)聯(lián),當(dāng)游戲過(guò)程出現(xiàn)碰撞時(shí),可使用“Play one shot”,代表音效被播放一次[4]。

第七,游戲數(shù)據(jù)存儲(chǔ)。Unity3D能夠?yàn)閮煞N游戲提供差異化的數(shù)據(jù)存儲(chǔ)方式,相對(duì)便捷的設(shè)計(jì)方式就是直接保存,本地完成存儲(chǔ)和讀取,主要是利用“Player Prefs”來(lái)完成,其運(yùn)行原理是通過(guò)“鍵值”保存數(shù)據(jù),并將其存儲(chǔ)在文件內(nèi)。運(yùn)行過(guò)程類似于為每個(gè)數(shù)據(jù)命名,在其存儲(chǔ)于本地文檔之內(nèi)以后,通過(guò)名字將存儲(chǔ)數(shù)據(jù)取出。若游戲涉及大量的數(shù)據(jù)運(yùn)算,則需要利用Filelnfo方式完成復(fù)雜文件的讀寫操作。

2.2塔防游戲制作與設(shè)計(jì)實(shí)例

2.2.1游戲內(nèi)容分析

本研究借鑒塔防游戲的設(shè)計(jì)思路,開發(fā)出適合手機(jī)移動(dòng)端運(yùn)行的塔防游戲,游戲本身的節(jié)奏快,適應(yīng)玩家靈活應(yīng)用閑暇時(shí)間體驗(yàn)游戲樂(lè)趣。在設(shè)計(jì)過(guò)程中,應(yīng)用Unity3D引擎,在原有3D塔防游戲基礎(chǔ)之上,增設(shè)攝像機(jī)移動(dòng)功能,讓游戲畫質(zhì)更為清晰。游戲規(guī)則為:地圖一側(cè)能夠以點(diǎn)生點(diǎn)的方式生成敵人,之后敵人按照既定的路線跑到地圖另一側(cè),在敵人行走路線中,兩側(cè)玩家可以使用金幣完成炮臺(tái)建構(gòu),以此攻擊敵人,阻止其向終點(diǎn)移動(dòng)。值得注意的是,若炮臺(tái)位置設(shè)定不合理,或者炮臺(tái)本身威力不夠,則敵人就會(huì)順利到達(dá)終點(diǎn),此時(shí)玩家大本營(yíng)被攻陷,游戲結(jié)束。

2.2.2游戲設(shè)計(jì)流程

在設(shè)計(jì)過(guò)程中,游戲功能模塊主要表現(xiàn)在敵人功能、防御塔功能、UI界面上,玩家需要先注冊(cè)賬號(hào),之后登錄游戲界面,完成信息設(shè)置,主要包括游戲難度等級(jí)、背景音樂(lè)的音量等,以上設(shè)置結(jié)束以后,即可進(jìn)入游戲界面。在左上角能夠顯示玩家持有金幣數(shù)量,右側(cè)設(shè)計(jì)三種炮彈的UI,當(dāng)玩家點(diǎn)擊對(duì)應(yīng)按鈕的時(shí)候,即可完成炮臺(tái)建造。炮臺(tái)建造完成以后,3s時(shí)間內(nèi)第1波敵人出現(xiàn),按照設(shè)定路線移動(dòng)。玩家利用系統(tǒng)給的初始資金可以抵御敵人的第1波攻勢(shì),之后獲得金幣,新建造炮臺(tái)。在游戲運(yùn)行階段,玩家通過(guò)暫停按鈕進(jìn)入暫停界面,該界面有“重新開始”“繼續(xù)游戲”“退出游戲”等按鈕,待敵人全部死亡之后,即可進(jìn)入下一關(guān)卡。如若大本營(yíng)被攻破,玩家血量為0,則游戲結(jié)束,彈出游戲界面。針對(duì)Game manager,選擇單列設(shè)計(jì)模式,便于控制游戲,還能節(jié)約系統(tǒng)資源。利用MVC設(shè)計(jì),完成敵人、炮臺(tái)等設(shè)計(jì),將二者的數(shù)據(jù)模塊、功能模塊分離,既可降低程序設(shè)計(jì)難度,還能將其維護(hù)性提高。游戲中的“類”主要有Game manager,負(fù)責(zé)場(chǎng)景加載、UI控制等整體控制功能:Bullet功能為追蹤子彈、減少敵人血量;Turret功能為發(fā)射子彈;Enemy功能為移動(dòng)敵人、受傷死亡等[5]。

2.2.3游戲?qū)崿F(xiàn)流程

Unity3D技術(shù)的應(yīng)用和實(shí)現(xiàn)流程如下。

第一,Prefab也稱“預(yù)設(shè)體”,屬于Unity核心概念,可將游戲?qū)ο蟠鎯?chǔ)于Prefab中,對(duì)象包含其組件下方所有游戲?qū)ο螅柚鶫ierarchy示圖能夠?qū)崿F(xiàn)復(fù)制粘貼預(yù)設(shè)體。在游戲開發(fā)階段,敵人、炮臺(tái)均利用Prefab進(jìn)行設(shè)計(jì),可以減少設(shè)計(jì)工作量。具體而言,在Unity中導(dǎo)人炮臺(tái)模型,后臺(tái)運(yùn)行腳本可通過(guò)Turret編寫,并將其向目標(biāo)上加載,通過(guò)測(cè)試以后,將后臺(tái)預(yù)設(shè)體對(duì)象拖人Project示圖中。

第二,核心控件Ugui。應(yīng)用Ugui panel之后,板面控件能夠作為容器,允許其他UI控件在其中編輯,通過(guò)text文本組件,將玩家消滅敵人獲得金幣或者建造炮臺(tái)消耗金幣實(shí)時(shí)顯示,設(shè)置Button,Image組件建造炮臺(tái),轉(zhuǎn)變圖片格式,通過(guò)填充呈現(xiàn)在界面上。建造不同炮臺(tái)時(shí),可以將按鈕置于相同Toggle中,以確保UI數(shù)據(jù)傳人的準(zhǔn)確性,玩家只能建造一種炮臺(tái),以避免非必要錯(cuò)誤。

第三,AI設(shè)計(jì)。敵人程序有兩類,即Enemy和Create Enemy,實(shí)現(xiàn)敵人創(chuàng)建,并在地圖中完成路點(diǎn)設(shè)定,生成前進(jìn)路線,通過(guò)transform方法,讓敵人根據(jù)向量移動(dòng)。炮臺(tái)設(shè)計(jì)需要實(shí)現(xiàn)點(diǎn)擊處即可建造,在Unity中設(shè)置physics,炮臺(tái)能夠鎖定首個(gè)敵人的攻擊范圍,所以程序設(shè)計(jì)需要添加trigger,將防御塔攻擊范圍明確,代碼中也需要添加One trigger Enter,敵人進(jìn)入攻擊范圍之內(nèi),炮臺(tái)即可獲取攻擊對(duì)象,按照設(shè)計(jì)路線攻擊敵人。至于炮彈追蹤的算法應(yīng)用,先假設(shè)炮彈和敵人的位置,獲得兩條向量,借助線性代數(shù)的向量減法,分析敵人所在位置,將該向量單位化處理,得到單位向量,游戲中的每一幀都采取該算法進(jìn)行計(jì)算,隨著敵人移動(dòng),逐漸更新向量,保證炮彈能夠按照對(duì)應(yīng)方向移動(dòng)。

3結(jié)束語(yǔ)

在塔防游戲設(shè)計(jì)階段,設(shè)計(jì)者需要將玩家感受考慮其中,以保證游戲玩法多樣化,讓玩家即使處于相同的游戲環(huán)境中,也能夠獲得差異化的游戲體驗(yàn)。通過(guò)對(duì)Unity3D技術(shù)的廣泛應(yīng)用,可以開發(fā)出具備良好交互性的手機(jī)游戲,為玩家?guī)?lái)更為優(yōu)越的游戲體驗(yàn)感,提高Unity3D技術(shù)的應(yīng)用價(jià)值。

主站蜘蛛池模板: 自慰网址在线观看| 99r在线精品视频在线播放| 国内精自线i品一区202| 无码专区在线观看| 69综合网| 午夜一级做a爰片久久毛片| 欧美成人综合视频| 正在播放久久| 波多野结衣中文字幕久久| 性做久久久久久久免费看| 四虎影视国产精品| 亚瑟天堂久久一区二区影院| 在线观看视频99| 黄色网在线| 欧美精品v欧洲精品| 久久五月视频| 丝袜久久剧情精品国产| 国内自拍久第一页| 永久在线播放| Jizz国产色系免费| 少妇精品在线| 黄色福利在线| 国产无码网站在线观看| 亚洲综合中文字幕国产精品欧美| 狠狠亚洲婷婷综合色香| 亚洲一区免费看| 亚洲自偷自拍另类小说| 波多野吉衣一区二区三区av| 国产三级韩国三级理| 真实国产乱子伦视频| 国产精品蜜芽在线观看| 久久综合丝袜日本网| 亚洲视频在线观看免费视频| 国产激爽大片高清在线观看| 亚洲综合18p| 欧美日本中文| 人妻丰满熟妇啪啪| 欧美精品亚洲日韩a| 久久精品电影| 亚洲国产精品国自产拍A| 亚洲最新在线| 久久99精品久久久久久不卡| 麻豆国产在线观看一区二区| 无码一区18禁| 国产成在线观看免费视频| 国产无码制服丝袜| 免费一级成人毛片| 国产青榴视频| AV无码一区二区三区四区| 91久久夜色精品国产网站| 中文字幕佐山爱一区二区免费| 99精品这里只有精品高清视频| 97se亚洲综合在线韩国专区福利| 色屁屁一区二区三区视频国产| 尤物成AV人片在线观看| 成人国产一区二区三区| 大香伊人久久| 色婷婷国产精品视频| 亚洲天堂视频在线免费观看| 亚洲成a人片77777在线播放 | 黄色网页在线播放| 国产精品99r8在线观看| 亚洲欧美在线综合图区| 熟妇人妻无乱码中文字幕真矢织江| 高清色本在线www| 男女性色大片免费网站| 高潮毛片无遮挡高清视频播放| 亚洲欧美日韩天堂| 精品国产Av电影无码久久久| 2022国产91精品久久久久久| 一级香蕉视频在线观看| 在线视频亚洲欧美| 欧美一区二区自偷自拍视频| 亚洲另类第一页| 国产在线第二页| 国产乱子精品一区二区在线观看| 国产18页| 国产sm重味一区二区三区| 精品无码专区亚洲| 久久国产热| 国产在线无码av完整版在线观看| 99性视频|