基于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.

猜你喜欢
传统文化
运用传统文化开展企业思想政治工作的研究
学习中华优秀传统文化 提升党员干部道德修养
论弘扬行为德学的重要性与实现途径
“图书馆+书院”公共文化服务模式探析
旅游开发对纳孔村布依族传统文化的影响研究
试论马克思主义与中国传统文化的关系
就陕西平面外宣出版物创意设计谈几点看法
浅析日本“世袭政治”产生的原因及其影响
大学生国学教育中相关概念辨析
中国影视剧美学建构