?

基于Unity3D的“神勇歸來”RPG類游戲設計與實現

2023-09-18 16:07王曉芳孟凱波張騰飛
現代信息科技 2023年15期
關鍵詞:傳統文化

王曉芳 孟凱波 張騰飛

摘? 要:“神勇歸來”是一款基于PC端的RPG角色扮演類游戲。游戲利用Unity3D引擎進行開發,利用3Ds Max進行建模和貼圖,使用C#面向對象語言進行腳本編寫來實現交互功能,利用鼠標和鍵盤的交互方式對角色進行控制,使用NGUI插件和UGUI對UI界面進行設計,場景設計以中國國風潮流為主調,玩家沉浸在動漫改編的游戲情節的同時,接觸、了解并傳播中國傳統文化。

關鍵詞:Unity3D;角色扮演類游戲;傳統文化

中圖分類號:TP317? 文獻標識碼:A? 文章編號:2096-4706(2023)15-0016-05

Design and Implementation of the RPG Game“Return of the Brave”Based on Unity3D

WANG Xiaofang1, MENG Kaibo2, ZHANG Tengfei1

(1.Henan University of Animal Husbandry and Economy, Zhengzhou? 450046, China;

2.Zhengzhou University of Aeronautics, Zhengzhou? 450015, China)

Abstract:“Return of the Brave”is an RPG role-playing game based on PC. The game uses Unity3D engine for development, uses 3Ds Max for modeling and mapping, and uses C# object-oriented language for scripting to realize interactive functions. It uses mouse and keyboard interaction for role control, uses NGUI pluggable unit and UGUI to design UI interface. The scene design is based on the trend of Chinese national style. While immersed in the plot of the game adapted from anime, players can contact, understand and spread traditional Chinese culture.

Keywords: Unity3D; role-playing game; traditional culture

0? 引? 言

隨著計算機技術的高速發展,游戲的種類越來越多,如冒險類游戲(AVG)、第一人稱射擊類游戲(FPS)、第三人稱射擊類游戲(TPS)、格斗游戲(FTG)、卡牌游戲(CAG)、競速游戲(RAC)等,在類型繁多的游戲中,RPG類游戲堪稱經典游戲之一。

RPG,即Role-playing Game的縮寫,譯為“角色扮演類游戲”,也就是說用戶在該類游戲中能夠充當游戲里既定的角色,角色在虛擬世界里完成相應任務后可實現升級和成長。近年,由于5G網絡技術的加持,PRG類游戲以其個性化的成長系統和可設計的故事情節深受玩家的喜愛,并迅速崛起、風靡全球,現已占據電子游戲的半壁江山,如大家耳熟能詳的《dota》《英雄聯盟》《王者榮耀》等。

1? 開發工具介紹

1.1? Unity3D開發引擎

Unity3D是Unity Technologies公司開發的輕松創建游戲和三維互動內容的開發工具,是一個國際領先的專業游戲開發引擎。Unity3D擁有完整的游戲功能、強大的編輯器、易用的腳本語言、豐富的第三方插件、良好的生態環境等,更以其強大便捷的跨平臺性和適配性,廣泛用應用于游戲開發、航空航天、軍事國防、工業仿真、教育培訓、醫學模擬、建筑漫游等領域,其中3D游戲是Unity游戲引擎重要的應用方向之一。

Unity3D開發平臺功能強大,簡單易學,集成了MonoDevelop編譯平臺,支持C#、JavaScript和Boo三種腳本語言,因此成為“神勇歸來”游戲的開發引擎的首選。本游戲的開發實現利用了Unity3D中的地形編輯器創建復雜的地形、樹木與植被貼片等;利用了動畫系統來重定向角色及NPC等的動畫;利用了物理系統模擬真實世界中力的相互作用,其中使用了質量、速度、摩擦力和空氣阻力等變量,模擬碰撞事件、觸發事件、彈簧效果、重力效果等;利用了粒子系統實現場景中的攻擊特效、火焰的制作、雨水等;利用了UGUI實現場景中的按鈕及UI交互的設計等,如圖1所示。

1.2? 3Ds Max建模工具

Unity3D中提供了基本5種基本物體的創建,即正方體、球體、膠囊體、圓柱體、平面,這些遠遠不能滿足游戲場景對模型逼真程度的需求,所以需要利用專門的三維制作軟件對游戲場景中的建筑模型、角色模型、場景細節物品等進行建模和貼圖。3Ds Max是由Autodesk公司開發的一款功能強大、應用廣泛的三維動畫制作軟件,在“神勇歸來”游戲開發中,主要利用3Ds Max中常用的幾何體、編輯修改器、材質與貼圖等功能完成建筑物、英雄模型、橋等場景物體的制作,如圖2所示。

1.3? C#開發語言

C#,即C Sharp,是微軟公司推出的面向對象的高級編程語言。本游戲利用C#語言編寫腳本,控制場景中交互功能的實現,如角色的運動、按鈕的交互、NPC對話、“怪物”的攻擊、計分、血量增加、倒計時等功能的實現。

2? 游戲整體設計

2.1? 游戲說明

“神勇歸來”游戲采用“漫改游”形式設置劇情,以仙劍奇俠傳小說系列為題材,以任務為主線推動故事發展,在游戲中玩家被塑造為救死扶傷,撫平亂世的英雄形象。在游戲場景中,包含玩家與NPC角色進行各種交互、領取并完成任務、與“怪物”戰斗、購買武器、藥品及商品等情節,給玩家展現出一個宏偉奇妙而又吸睛的仙劍世界,如圖3所示。

2.2? 游戲總體設計

從游戲整體設計的角度出發,將該游戲項目劃分為九大主要功能模塊。劇情設計采用“漫改游”形式設置故事劇情。圖4為主要功能模塊圖。

3? 游戲的功能模塊設計與實現

3.1? 玩家信息系統設計

該系統包含玩家的基本屬性信息、角色狀態控制、角色戰斗控制等功能。屬性信息包括血量、法力值、經驗值等;角色狀態分為站立、行走、攻擊,不同狀態下角色模型會播放相應的動畫;角色戰斗有普通攻擊和猛烈攻擊,角色主要使用普通攻擊,猛烈攻擊通過隨機數Random類來實現概率性觸發。

3.2? 背包系統設計

背包系統的設計包含背包UI控件的激活、物品的使用情況、物品的信息顯示等。鼠標點擊背包按鈕彈出背包面板的顯示,玩家可以查看背包內現有的物品資源,物品以種類顯示在背包方格中。背包面板包含增加、減少金幣、查看與顯示金幣、顯示物品屬性信息等功能。物品方格包含物品數量的增加和減少。如果當物品為零時,清空該方格信息;在物品拾取中,如果物品方格中沒有該物品,那么設置該物品的個數為1;當有該物品時,背包中存在的物品數量會增添1。同樣,當玩家使用了血量補充包、法力量補充包或售賣物品的情況下,背包里也會相應的減去物品的數量。物品的外觀設計是以不同Icon圖片來區分,當鼠標停留在物品UI圖片上時,系統會彈出文本框來顯示物品屬性信息,鼠標右鍵點擊物品方格實現物品的穿戴。

3.3? 技能系統設計

技能系統包括角色的各種技能,每個技能都有各自介紹,包括增加角色攻擊力或者增加角色防御值及法力值;通過鼠標點擊拖拽可以放在技能快捷欄中也可以進行技能釋放;技能列表顯示角色等級,技能只有達到相應等級才能激活和使用。

3.4? UI系統設計

本功能模塊采用NGUI插件以及Unity自帶的UGUI共同制作完成。UI設計模塊包含登錄注冊界面、角色選擇界面、主界面中的角色信息、小地圖、技能快捷欄,功能快捷欄等模塊。角色UI基本信息包含角色頭像圖片、血量的剩余量和、法力值的剩余量、角色當前的等級等。本項目設置6個技能快捷方格欄,可以把技能和消耗品(血包,法力值)拖到此處,使玩家在操作中更高效、便捷。功能快捷欄是每個游戲必不可少的,點擊功能快捷按鈕顯示不同功能面板。

4? 游戲關鍵模塊的實現

4.1? 角色信息管理系統實現

角色信息管理系統主要包括角色基本信息管理、角色狀態、角色戰斗三大模塊。如圖5角色信息管理功能所示。

4.1.1? 角色基本信息管理

角色具有HP值、MP值、Exp值、等級、昵稱等參數,這些組成了角色的基本信息,HP、MP初始值為100。當受到“怪物”攻擊時,HP值減少直至小于0時代表角色死亡;當角色使用技能時,減少MP值;當HP、MP值不滿足100時,調用角色腳本AddHp()或者AddMp()方法,恢復HP、MP值;經驗Exp值通過殺死“怪物”來實現,當達到一定經驗值時,角色等級,升級所需經驗值=當前等級值*10+50;昵稱是根據玩家在選擇角色時,由玩家進行自定義。

4.1.2? 角色狀態

角色具有Idle、Walk、Attack三種狀態。Attack狀態分為普通攻擊和瘋狂攻擊,兩種Attack狀態通過Random類隨機函數來確定攻擊狀態。當玩家點擊地面操作角色移動時,角色會從Idle狀態或Attack狀態轉變為Walk狀態;使用Vector3.Distance函數判斷“怪物”是否在可攻擊范圍,若在攻擊范圍則直接進入Attack狀態,玩家點擊“怪物”即為攻擊該“怪物”。

4.1.3? 角色戰斗功能

角色戰斗與角色狀態緊密聯系,角色戰斗依托于角色狀態。首先,在Unity編輯器中把“怪物”的Tag標簽設為Enemy。其次,通過if語句判斷點擊物體標簽,若被點擊物體標簽為Enemy,則把該“怪物”添加到攻擊目標中。最后再判斷玩家與“怪物”的距離,調用角色相應的狀態。當角色進入攻擊狀態時,判斷角色與“怪物”的碰撞,完成一次攻擊動畫,代表一次有效攻擊。另外,角色攻擊不一定作用到“怪物”身上,因為“怪物”有躲避功能。完成一次攻擊后判斷下次攻擊類型,依次循環完成持續攻擊,直至“怪物”血量值小于零,角色攻擊目標清空。

4.2? 背包系統的功能實現

在游戲項目中導入NGUI插件后,創建UIRoot作為整個項目UI元素的父物體。UIRoot子物體中Camera攝像機是自帶攝像機,用來渲染UI元素。接下來導入所有UI元素所需的全部圖片,并將其圖片格式設置為Sprite格式。使用NGUI創建圖集,將所有圖片添加到圖集中。背包系統的UI界面設置完成Bag、Bag_Grid、Bag_Item三層父子關系,bag上掛載的腳本管理背包系統的背景,Bag_Grid上掛載的腳本管理方格屬性,BagItem管理方格中物品的屬性,這樣的設計結構層次清晰,便于管理,腳本代碼復用性高。圖6為背包三層結構圖及具體實現方法。

4.3? “怪物”功能實現

“怪物”系統是角色扮演類游戲中不可缺少的功能?!肮治铩笔軅?、“怪物”自動攻擊、“怪物”自動生成三個主要功能模塊共同組成AI“怪物”系統,分別采用TakeDamage()、AutoAttack()、RandomAttack()方法來實現對應功能。圖7是AI“怪物”具體實現圖解。

4.3.1? “怪物”受傷實現

為了使游戲更加真實,“怪物”受傷時通過協程實現了躲避功能。當玩家攻擊“怪物”時,“怪物”不一定受到傷害。使用Random類來產生一個隨機數,這個數字介于0~1。當隨機數小于0.2時,“怪物”不受傷害。當大于0.2時,“怪物”受傷情況由玩家的攻擊力決定。玩家為了區分出“怪物”是否受傷害,使用腳本來控制“怪物”材質球的變化。當“怪物”產生躲避時,“怪物”的身體變紅,1秒后變回正常。

4.3.2? “怪物”自動攻擊實現

當玩家攻擊“怪物”時,“怪物”先轉向玩家所在方向,“怪物”的狀態由Idle,改變為Walk或Attack,此時玩家成為“怪物”的攻擊目標。玩家與“怪物”的相對距離判斷是使用Vector3.Distance函數,若相對距離在一定范圍內,“怪物”改變為Walk狀態追逐玩家,調用“怪物”角色控制器類下的SimpleMove函數進行移動;若相對距離小于可攻擊范圍時,“怪物”變為Attack狀態,對玩家進行攻擊操作;若玩家與“怪物”攻擊時相對距離過大,此時玩家不再是“怪物”的攻擊目標,“怪物”恢復到閑置狀態,繼續進行巡邏狀態。

4.3.3? “怪物”的生成實現

“怪物”生成需要提前把“怪物”設置為預制體,預制體是資源文件中可重復使用的資源。編寫“怪物”生成腳本,用來實現“怪物”的生成功能。游戲項目中設置“怪物”的總數為10只。若“怪物”的數量減少,在一定時間內通過腳本自動添加“怪物”到場景中。因場景中地形復雜,所以使用Random類設置“怪物”在一定區域中隨機生成。圖8為“怪物”與“英雄”角色的對峙。

5? 游戲功能測試

游戲的功能測試包括注冊、登錄、英雄選擇、角色控制、視角改變、任務系統、商品資源系統、背包系統、技能系統、玩家的狀態、AI怪物系統等,經測試各個功能模塊能夠順利實現,融合度較高。

6? 結? 論

利用Unity3D引擎開發游戲,成本低、易操作,能夠為用戶提供完善的游戲編輯功能,一次開發可以發布多個平臺,在視覺上呈現精美的場景效果。本文設計的名為“神勇歸來”的RPG類游戲能夠讓玩家自行選擇仙劍角色,在國風的畫面和場景中定制個性化的任務或路線,完美展示角色的養成與扮演,大大增強了玩家的沉浸感和游戲的交互性同時,還宣傳了中國的傳統文化,并為開發設計RPG類游戲提供參考思路和實戰經驗。

參考文獻:

[1] 杜汝濤.Unity3D射擊類游戲的開發 [J].電腦編程技巧與維護,2022(10):141-144.

[2] 殷爽,邵金俠,胡蓉,等.Unity3D引擎開發RPG游戲“武魂之戰”的設計與實現 [J].現代工業經濟和信息化,2021,11(7):82-84.

[3] 李兵川.基于Unity 3D引擎角色扮演類游戲設計及開發 [J].科技風,2018(15):11.

[4] 沈士釗.基于Unity3D引擎的三維角色扮演游戲設計與實現 [D].武漢:華中科技大學,2017.

[5] 焦靈.Unity3D引擎RPG動作游戲設計 [J].電腦編程技巧與維護,2022(3):141-143.

[6] 黃福鈺.基于Unity3D的歷史RPG教育游戲設計開發 [J].電腦知識與技術,2021,17(11):58-60.

猜你喜歡
傳統文化
運用傳統文化開展企業思想政治工作的研究
學習中華優秀傳統文化 提升黨員干部道德修養
論弘揚行為德學的重要性與實現途徑
“圖書館+書院”公共文化服務模式探析
旅游開發對納孔村布依族傳統文化的影響研究
試論馬克思主義與中國傳統文化的關系
就陜西平面外宣出版物創意設計談幾點看法
淺析日本“世襲政治”產生的原因及其影響
大學生國學教育中相關概念辨析
中國影視劇美學建構
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合