摘? 要:游戲開發(fā)已成為數(shù)字媒體技術(shù)專業(yè)的重要課程內(nèi)容之一,其中動作角色扮演類游戲在游戲市場中所占比重較大。以Unity3D游戲引擎開發(fā)第三人稱動作角色扮演游戲為例,結(jié)合3ds Max和Visual Studio進行游戲開發(fā)。使用C#進行場景編程實現(xiàn)角色行為(包括行走、攻擊、怪物AI等)控制,調(diào)整適合玩家的戰(zhàn)斗模式,并對游戲戰(zhàn)斗模塊進行封裝優(yōu)化,有效降低游戲運行的功耗,增加整體流暢度,提升游戲玩家體驗。
關(guān)鍵詞:動作角色扮演;角色行為控制;戰(zhàn)斗模式;封裝優(yōu)化
中圖分類號:TP317? ? 文獻標識碼:A? ? 文章編號:2096-4706(2023)24-0001-05
Research and Development of Action Role-Playing Game Battle System Based on Unity3D
HE Liuqing
(Guangzhou College of Technology and Business, Guangzhou? 510850, China)
Abstract: Game development has become one of the important course contents for digital media technology majors, in which, action role-playing games accounting for a large proportion in the game market. This paper takes Unity3D game engine development of third person action role-playing games as an example, and combines 3ds Max and Visual Studio for game development. By using C # to program scenes to control character behavior, including behaviors such as walking, attacking, and monster AI, adjusting the combat mode suitable for players, and encapsulating and optimizing game combat modules, the power consumption of game operation is effectively reduced, the overall smoothness is increased, and the game player experience is enhanced.
Keywords: action role-playing; role behavior control; combat mode; packaging optimization
0? 引? 言
隨著硬件性能的提高,Unity3D游戲引擎以GPU實時渲染生成高幀畫面,給玩家?guī)砀咂焚|(zhì)的游戲體驗,同時玩家也對戰(zhàn)斗體驗有了更高要求,設(shè)計優(yōu)質(zhì)的戰(zhàn)斗系統(tǒng)已成為衡量角色扮演游戲優(yōu)劣的重要保證。而戰(zhàn)斗系統(tǒng)的設(shè)計與制作涉及多個重要環(huán)節(jié),各個環(huán)節(jié)之間緊密相連。
1? 游戲戰(zhàn)斗系統(tǒng)框架設(shè)計
本項目的戰(zhàn)斗系統(tǒng)框架分為戰(zhàn)斗方式、戰(zhàn)斗攻防模型和戰(zhàn)斗元素三個部分。
1.1? 戰(zhàn)斗方式
戰(zhàn)斗方式是戰(zhàn)斗系統(tǒng)中最直觀的環(huán)節(jié),其設(shè)計具有多樣化,可以是多種設(shè)計合理地整合在一起,以更好地呈現(xiàn)出戰(zhàn)斗的緊張感和趣味性。戰(zhàn)斗方式并非固定不變,而是根據(jù)游戲地圖環(huán)境的變化而有所變動。
動作角色扮演游戲的戰(zhàn)斗方式大致分為以下4點:
1)玩家需要在怪物的攻擊群中生存,或者是擊殺一定數(shù)量的普通怪物和擊殺少數(shù)的首腦怪物。
2)通過孵化器孵化出一定數(shù)量的怪物,并通過體積碰撞或投擲物來攻擊玩家。
3)刷新不同批次的怪物,后續(xù)批次怪物的戰(zhàn)斗能力比前面的怪物稍強。
4)玩家可以通過武器和技能來擊殺怪物,同時以移動、閃避的方式躲避怪物的攻擊。
1.2? 戰(zhàn)斗攻防模型
游戲中的我方或敵對角色在戰(zhàn)斗系統(tǒng)中只有四種狀態(tài):移動、攻擊、防御、閃避。當主角遇到怪物時,通過空間位置移動讓怪物進入攻擊范圍。在這個過程中,雙方均沒有發(fā)起攻擊行為,處于備戰(zhàn)狀態(tài),可以實施移動和防御兩種行為。假設(shè)主角實施攻擊行為,則雙方進入攻防狀態(tài)[1]。當主角對受擊方發(fā)起攻擊時,怪物有三種可選行為:不防御且同時進攻、防御、閃避。攻擊方發(fā)起且完成一次攻擊后,即完成了一次攻防流程,雙方再度進入備戰(zhàn)狀態(tài)。處于備戰(zhàn)狀態(tài)的雙方可計劃下一步的策略是進攻、防御還是閃避,如其中一方受到嚴重傷害——死亡則結(jié)束戰(zhàn)斗。攻防模型如圖1所示。
主角是主動發(fā)起攻擊的一方,所以在攻防模型中不存在主角防御或閃避的行為。而在攻防過程中,移動是沒有直接收益的,但它可以令攻擊行為獲得最大收益,如移動到某個角度打擊要害,或移動中實施攻擊。所以說移動是戰(zhàn)斗過程中較具靈活性的行為,主要用來輔助攻擊和對抗攻擊。在圖1的攻防模型中,閃避在游戲設(shè)計中也視為防御,無論是攻擊方主動發(fā)起攻擊行為,還是受擊方發(fā)起防御或閃避行為均形成攻防關(guān)系。
1.3? 戰(zhàn)斗元素
戰(zhàn)斗元素與攻擊招式相關(guān),普通攻擊和技能攻擊中均有涉及。
1.3.1? 攻擊范圍
包含普通攻擊范圍和技能攻擊范圍,因技能需要消耗角色自身部分能量,故技能攻擊范圍必定大于等于普通攻擊范圍,這樣才能確保收益平衡。
1.3.2? 招式前搖
招式包括普通攻擊和技能攻擊的動作,無論何種攻擊,在受擊對象被判定受到攻擊前的時間均屬于前搖耗時,即產(chǎn)生攻擊收益前的時間。這段時間是無法產(chǎn)生收益的,但卻是獲得攻擊收益必不可少的步驟。前搖時間越短,越早對敵方發(fā)起攻擊,反之越晚對敵方發(fā)起攻擊。通常情況下,攻擊力強的招式前搖時間較長,反之則前搖時間較短。因此,玩家在即時戰(zhàn)斗前就需要考慮如何合理組合攻擊招式以獲得最大收益。
1.3.3? 攻擊硬直
招式在擊中敵人后,敵人會有短暫的動作停滯而無法活動,通常不會超過一秒。在攻擊硬直時間內(nèi),受擊者無法做出任何行動,容易被攻擊者施放連招而造成更大的傷害。
1.3.4? 招式后搖
玩家角色在施放完攻擊動作后,如沒有繼續(xù)輸入攻擊指命則會產(chǎn)生收招動作,而收招動作屬于后搖。后搖所需的時間會直接影響整體攻擊的頻率。如果后搖時間較短,則下一次攻擊會更早,從而提高攻擊頻率。
從圖2中可以看出,在攻擊范圍內(nèi),在敵人無閃避行為的前提下?lián)糁袛橙藭顢橙水a(chǎn)生攻擊硬直狀態(tài),但同時也會令自身角色產(chǎn)生招式后搖,這兩者是同時發(fā)生的,只是兩種狀態(tài)依附的角色對象不同而已。
2? 戰(zhàn)斗的多重機制
2.1? 戰(zhàn)斗的對抗機制
在常規(guī)的戰(zhàn)斗環(huán)境中,怪物不會比主角強太多,玩家只需采取一些策略便可以通過關(guān)卡。一般情況下,平衡的對抗關(guān)系是使玩家持續(xù)玩下去的動力之一,也是戰(zhàn)斗對抗機制的一個要素。然而平衡的對抗關(guān)系不能給游戲帶來更多的刺激性和挑戰(zhàn)性,因此在某些環(huán)境下打破這個平衡關(guān)系能給游戲增添更多的可玩性。游戲中的不同角色、武器、技能具有不同的作用,角色與角色之間有所差異,角色與怪物之間更是迥然不同。對付同一種怪物,不同的角色有不同的戰(zhàn)斗機制。這樣可避免單一角色的同質(zhì)化,使得每一個角色都能專精本職業(yè)的玩法策略,獲得差異化的戰(zhàn)斗體驗[2]。然而,實現(xiàn)這種對抗機制的前提條件是保證角色的戰(zhàn)斗能力綜合評價不能遠低于敵人,避免任何一方以絕對強勢的戰(zhàn)力破壞對抗機制。
戰(zhàn)斗可以增加某一方的人數(shù)形成差異,如增加敵人數(shù)量,形成雙方人數(shù)不平衡的對抗關(guān)系。但雙方人數(shù)上的較大差異并非能夠形成絕對優(yōu)勢,通常只是彌補單體敵人戰(zhàn)力的不足,從而更好地維持戰(zhàn)力平衡,這種機制通常用在對抗普通怪物的環(huán)節(jié)中。
在對抗BOSS強敵的過程中,不能以增加數(shù)量的方法來加強怪物戰(zhàn)力,BOSS強敵本身的戰(zhàn)力就比玩家角色強,但玩家不能直接依靠自身的戰(zhàn)力來戰(zhàn)勝它,因此需要設(shè)置特定的戰(zhàn)斗機制來解決這種問題。例如使用特定的技能、觸發(fā)場景的機關(guān)、特定時間段行動等可以大幅度提高傷害數(shù)值或削弱強敵的防御力,從而在傷害輸出方面帶來更高的收益,更容易擊敗強敵,以弱勝強。玩家在通過機制戰(zhàn)勝強敵后會獲得更大的成就感。對抗機制關(guān)系如圖3所示。
2.2? 戰(zhàn)斗的交互機制
角色在發(fā)起攻擊或防御時會播放相應(yīng)的動作動畫,而雙方在動作發(fā)生碰撞或進入攻擊范圍時便產(chǎn)生了交互。攻擊或防御動作具有空間判定性,攻擊判定和受擊判定都是針對不同的部位。如武器擊中對方身體產(chǎn)生了交互,會播放受擊者被擊中后的硬直動畫,由于硬直時間非常短,無法做出攻擊、防御、閃避的行為,這時候攻擊者更容易發(fā)起連續(xù)攻擊。
交互機制也遵循對抗機制,但它卻有不確定性,決策過程完全取決于玩家選擇何種行為。玩家采取何種策略,會帶來不同的對抗過程和對抗結(jié)果,這一點無法通過游戲規(guī)則來限制其發(fā)展。例如玩家在遇到敵人時可以利用地形優(yōu)勢發(fā)起遠程攻擊,或直接遠離敵人的攻擊范圍令其暫時無法攻擊,等待夜晚怪物入睡后再進行突襲。交互機制存在多種可能性,玩家可以將技能、武器、道具、環(huán)境等因素納入對抗策略中,而交互機制的設(shè)計思想是只提供對抗條件和任務(wù)目標但不限制策略,如圖4所示。
2.3? 戰(zhàn)斗關(guān)卡的運行機制
一個戰(zhàn)斗關(guān)卡可以存在一個或多個場景,而關(guān)卡運行機制則融合了至少一個場景的相關(guān)元素。關(guān)卡主要元素包括時間、空間、即時道具,這三個方面均是關(guān)卡自身產(chǎn)生的元素,同時它們也會直接影響戰(zhàn)斗機制和戰(zhàn)斗結(jié)果,是游戲關(guān)卡設(shè)計的必要因素。主角和怪物都可以在關(guān)卡機制中得到相應(yīng)的強化或弱化,如何運用關(guān)卡機制來取勝是玩家必須要思考的問題,這就進一步增強了玩家在游戲中的互動性。
2.3.1? 關(guān)卡時間
游戲戰(zhàn)斗關(guān)卡的通關(guān)條件之一是戰(zhàn)勝怪物敵人的時間不超過關(guān)卡的規(guī)定時限,反之則判定為通關(guān)失敗。不同場景(地圖)的關(guān)卡時限不同,與普通怪物和BOSS怪物戰(zhàn)斗的時限也不同。在規(guī)定的時限內(nèi),需要基于關(guān)卡時間來計算玩家時間的消耗,以方便玩家即時了解時間消耗而實施相應(yīng)的戰(zhàn)斗策略。
2.3.2? 關(guān)卡空間
對于關(guān)卡空間,在玩家實施戰(zhàn)斗的過程中可以設(shè)定為有空間限制或無空間限制。通常在通關(guān)式的游戲中均有空間限制,在有限的空間內(nèi)與敵人戰(zhàn)斗直至其中一方獲勝。關(guān)卡地圖設(shè)定了邊界,玩家需要結(jié)合活動范圍來制定戰(zhàn)斗策略。有限的空間會影響玩家武器的使用和技能的施放,提高了生存的難度。
2.3.3? 關(guān)卡道具
關(guān)卡道具特指關(guān)卡里掉落的物品,只對關(guān)卡本身起到提升作用,而它需要玩家角色拾取才能產(chǎn)生效果,如玩家沒有拾取到相應(yīng)道具則不會產(chǎn)生效果,且在限定時間內(nèi)玩家未拾取到相應(yīng)的關(guān)卡道具,其可能會消失。關(guān)卡道具可以在短時間內(nèi)令玩家角色的戰(zhàn)力得到一定幅度的提升,從而影響游戲難度曲線,降低戰(zhàn)斗難度且可選擇采用更多可行性的戰(zhàn)斗策略。
3? 角色行為模塊
部分角色扮演游戲都會存在戰(zhàn)斗系統(tǒng),這部分游戲被列為動作角色扮演游戲(Action Role Playing Game, ARPG)。而在ARPG游戲中,無論是玩家還是“怪物”,均可以設(shè)計一套戰(zhàn)斗行為模塊。這套行為模塊主要用來設(shè)定戰(zhàn)斗標準,該模塊能夠減少游戲冗余數(shù)據(jù),降低計算量且提高游戲的運行速度,這是游戲優(yōu)化的條件之一。
3.1? 通用行為模塊
功能組模主要是為了實現(xiàn)移動、動畫、攻擊、尋路等。
1)移動模塊??刂平巧囊苿?。
2)動畫模塊。控制角色不同狀態(tài)動畫的無縫切換。
3)攻擊模塊。計算攻擊產(chǎn)生的傷害與即時狀態(tài),但不計算傷害的具體數(shù)值。
4)尋路模塊??刂平巧詣訉ぢ坊蚴謩訉ぢ?。
這部分組模代碼在游戲里基本通用,只提供機制但不提供具體計算方法和數(shù)值。
3.2? AI行為模塊
游戲中存在多種行為,玩家可以手動操作自己的角色,而怪物則需要借助AI行為去驅(qū)動。戰(zhàn)斗系統(tǒng)中的行為比較復(fù)雜,因此需要將行為分成多個模塊進行管理,如圖5所示。
1)總決策模塊。怪物在原地待機時,假設(shè)玩家進入其攻擊范圍。怪物以預(yù)設(shè)定的行為對玩家發(fā)起攻擊。
2)指令請求模塊。判定請求的指令是否超出預(yù)置規(guī)則范圍,如怪物是否有負面狀態(tài)導(dǎo)致行為受限。如果怪物的狀態(tài)正常則向下層模塊發(fā)出攻擊行為請求。
3)動畫模塊。怪物在移動或攻擊時播放相應(yīng)動畫。
4)數(shù)據(jù)模塊。用于怪物的各種狀態(tài)數(shù)據(jù)(包括怪物的坐標數(shù)據(jù)和自身狀態(tài)數(shù)據(jù))更新。數(shù)據(jù)更新的同時請求相應(yīng)指令,同時向總決策模塊提供信息,決策模塊檢查數(shù)據(jù)并發(fā)出同步?jīng)Q策指令。
3.3? 區(qū)域AI模塊
AI可以根據(jù)不同情況進行劃分,具體包括區(qū)域AI、隊列AI和單體AI。
一張地圖上存在多個區(qū)域,不同區(qū)域可以單獨設(shè)置AI。區(qū)域AI容易與關(guān)卡運行機制相混淆。關(guān)卡運行機制主要是針對如何擊敗怪物而設(shè),而區(qū)域AI則直接作用于怪物,令怪物具有模擬人類思考的行為,因此這兩者所針對的主體有本質(zhì)上的區(qū)別。
隊列AI主要控制整隊怪物的行為策略,單體AI則控制單個怪物的行為策略。例如,玩家進入到地圖的某一區(qū)域,該區(qū)域有一隊共5個怪物,區(qū)域AI則會檢測哪一個怪物離玩家最近,單體AI此時發(fā)出攻擊玩家的指令,同時由隊列AI發(fā)起信號讓全隊怪物進攻玩家。而其他4個怪物具體如何進攻則可以由隊列AI和單體AI同時控制,比如隊列AI會發(fā)出圍攻玩家的指令,攻擊則由單體AI控制。由此說明這三種AI并不沖突,是可以并存的。
設(shè)定怪物有待機、走路[3]和死亡三種狀態(tài),現(xiàn)針對待機和走路兩種狀態(tài)進行AI控制,實現(xiàn)單體怪物AI部分行為的C#代碼如下:
public enum MonsterCondition
{
Idle,Walk,Attack,Death
}
public string monster_present;//怪物當前狀態(tài)
public string monster_idle;//怪物待機
public string monster_walk;//怪物走路
void RandomState()
{
int value = Random.Range(0, 2);//定義一個隨機整數(shù),取0和1? ? ? ? ? ? if (value == 0)
{
monster_present = monster_idle;// 當隨機值為0時播放怪物Idle動畫
}
else
{// 當隨機值為1時
if (monster_present != monster_walk)
{
transform.Rotate(transform.up * Random.Range(0, 360));
//怪物沿豎直方向旋轉(zhuǎn)隨機角度
}
monster_present = monster_walk;//播放怪物Walk動畫
}
}
通過上述代碼可實現(xiàn)游戲中的怪物在區(qū)域內(nèi)待機和隨機方向走路的AI功能。
3.4? 狀態(tài)機和行為樹
游戲中玩家控制自己的角色可以用狀態(tài)機來實現(xiàn),而怪物則可以用狀態(tài)機和行為樹來控制其AI行為。除了無須移動的NPC,游戲中的角色動作通常由狀態(tài)機來控制。狀態(tài)機就是多種狀態(tài)的集合,狀態(tài)之間只要滿足一定條件即可切換。如怪物的狀態(tài)機包含行走、奔跑、攻擊1、攻擊2、受傷、死亡倒地等狀態(tài),行走可以切換到跳躍,奔跑可以切換到攻擊1和攻擊2,這里的攻擊1和攻擊2并非連招,而是獨立的攻擊行為,如圖6所示。
由圖6可以看出,每個狀態(tài)除了自身行為外,還需要在適當?shù)臈l件下與其他狀態(tài)交互,因此狀態(tài)機形成一種網(wǎng)狀結(jié)構(gòu)。但若要實現(xiàn)較復(fù)雜的AI行為(如怪物的巡邏、圍攻玩家等),僅使用狀態(tài)機是無法實現(xiàn)的,這種情況需要使用AI行為樹。行為樹是樹狀分支節(jié)點的結(jié)構(gòu),與狀態(tài)機在結(jié)構(gòu)上有較大差別。
怪物或NPC角色在通常情況不會發(fā)生戰(zhàn)斗,只有在觸發(fā)適當條件時才會進入戰(zhàn)斗狀態(tài)。而所有的行為都是在行為樹的范圍內(nèi)實現(xiàn),以此來實現(xiàn)AI控制。行為樹包含控制節(jié)點和行為節(jié)點,將所涉及的行為寫成節(jié)點,再把這些節(jié)點連成樹。每次決定選擇哪一種行為時,會從根節(jié)點的各個分支節(jié)點去判定是否進入下一層節(jié)點,找出與當前狀態(tài)相符的行為。戰(zhàn)斗型NPC在沒有敵人來襲時巡邏,在視野范圍內(nèi)出現(xiàn)普通敵人時則發(fā)起攻擊,遇到精英怪物時則逃跑,該行為樹會即時判定符合的條件,從而做出相應(yīng)的行為,其邏輯關(guān)系與AI行為模塊相同[4]。這是一個簡單的行為樹,如圖7所示。
行為樹有多個節(jié)點滿足條件時,則會按權(quán)重做出選擇。如同時遇到普通怪物和精英怪物,會選擇權(quán)重最高的節(jié)點。而權(quán)重以角色存活為優(yōu)先,越容易令角色存活的節(jié)點權(quán)重越高[5],在滿足某些條件的前提下,容易導(dǎo)致角色死亡的節(jié)點不會被選擇執(zhí)行。
圖5的例子是行為樹的行為節(jié)點,除此之外還有控制節(jié)點,具有以下三種類型。
3.4.1? 單一選擇
對于多個下層節(jié)點只選擇其中一個,由于不能同時執(zhí)行2個以上節(jié)點,最終只能選擇1個末端節(jié)點執(zhí)行。
3.4.2? 順序選擇
按順序依次選擇節(jié)點并運行,其中一個節(jié)點運行完畢后再運行下一個節(jié)點。
3.4.3? 同步選擇
同步選擇符合條件的節(jié)點并運行。如NPC在巡邏時與其他NPC交談且進行某些肢體動作,即巡邏、交談、肢體動作三個行為節(jié)點同時運行。前提是無敵人,敵人一旦進入視野區(qū)則會結(jié)束這三個節(jié)點的運行,進入另一個控制節(jié)點。
三種節(jié)點控制類型使用哪一種要看具體情況,不同的情景有不同的選擇,有時并非單一類的運行,也有可能是多個類型混合控制。比如單一選擇類型下面的分支使用了同步選擇。
4? 戰(zhàn)斗系統(tǒng)模塊的整體封裝
戰(zhàn)斗系統(tǒng)有諸多模塊,為了便于管理和減少程序漏洞,需要對各模塊實行整體封裝。封裝的主要思路是將各戰(zhàn)斗模塊歸集到基類中?;惏薪M件,具備戰(zhàn)斗對象、基礎(chǔ)字段、函數(shù)初始化的賦值等。
4.1? 戰(zhàn)斗實時信息傳遞
通常,玩家或怪物發(fā)出的攻擊傷害和判定都會被封裝在類里,在觸發(fā)戰(zhàn)斗行為事件后將信息傳達給受擊者。在Unity里可以先通過攻擊碰撞觸發(fā)事件,在事件發(fā)生后處理相應(yīng)信息,并非是直接將戰(zhàn)斗信息傳達給受擊者,這樣可方便后期調(diào)試受擊信息,更好地進行全局信息控制,從而減少程序漏洞的產(chǎn)生。
4.2? 戰(zhàn)斗系統(tǒng)組件的類
戰(zhàn)斗系統(tǒng)以組件模式處理戰(zhàn)斗行為,通過基類的回調(diào)函數(shù)傳遞戰(zhàn)斗信息。只需將全部戰(zhàn)斗組件的函數(shù)與BattleCharacterObject的回調(diào)函數(shù)關(guān)聯(lián)就可以實行統(tǒng)一調(diào)用。以組件模式創(chuàng)建的戰(zhàn)斗系統(tǒng)具有高度可擴展性,且能靈活定義各組件[6]。圖8列出了幾個重要的基類,并通過基類令所有組件泛化,使組件適用于不同類型的數(shù)據(jù)。
其中,DamageAttackComponent(傷害攻擊)和PhysicsAttackComponent(物理碰撞)是兩個重要的基類,它們處理即時碰撞后產(chǎn)生的事件數(shù)據(jù)。而BattleCampComponent(戰(zhàn)斗陣營)是一個靜態(tài)類,它在戰(zhàn)斗發(fā)生前判別對方是否為敵人,如果是敵人則可以發(fā)起戰(zhàn)斗。其關(guān)鍵代碼如下:
public static class BattleCampComponent {
public const int PLAYER = 1;//判別玩家
public const int MONSTER = 2;//判別敵方怪物
public const int NPC = 3;//地圖上的NPC,在某些條件觸發(fā)下也可以轉(zhuǎn)換陣營
}
5? 結(jié)? 論
對3D角色動作游戲的戰(zhàn)斗系統(tǒng)框架、運行機制、戰(zhàn)斗行為模塊進行了研究與開發(fā),重點研究并優(yōu)化了玩家操作、AI行為、戰(zhàn)斗事件等內(nèi)容,提升了操控流暢度。充分利用類的封裝方法,將各模塊整合成為一個戰(zhàn)斗系統(tǒng),最大程度簡化了編程量,減少了冗余程序,提高了執(zhí)行效率。
參考文獻:
[1] 章國雁.基于Unity3D的多人在線游戲案例設(shè)計與實現(xiàn) [J].安徽水利水電職業(yè)技術(shù)學(xué)院學(xué)報,2021,21(3):46-49.
[2] 張華振.基于Unity3D技術(shù)的塔防游戲虛擬人物動作控制方法 [J].智能計算機與應(yīng)用,2022,12(8):187-189+195.
[3] 史寶明,賀元香,李嵐.Unity3D隨機尋路算法設(shè)計 [J].吉林師范大學(xué)學(xué)報:自然科學(xué)版,2022,43(1):128-133.
[4] 張華振.基于Unity3D技術(shù)的塔防游戲虛擬人物動作控制方法 [J].智能計算機與應(yīng)用,2022,12(8):187-189.
[5] 劉夢穎,馬宏琳.基于Unity的冒險游戲設(shè)計與實現(xiàn) [J].河南科技,2021,40(17):30-32.
[6] 王俊.Unity引擎下多人在線網(wǎng)絡(luò)游戲設(shè)計及開發(fā) [J].電子技術(shù)與軟件工程,2022,230(12):38-41.
作者簡介:何柳青(1976.12—),男,漢族,廣西北海人,講師,碩士,研究方向:虛擬現(xiàn)實、游戲開發(fā)。
收稿日期:2023-05-16
基金項目:2022年廣州工商學(xué)院校級科研項目“基于Unity3D的ARPG游戲戰(zhàn)斗系統(tǒng)研究與實現(xiàn)”(KYZC202211)