收藏 分销(赏)

基于Unity3D游戏引擎的水果忍者游戏设计与实现.pdf

上传人:自信****多点 文档编号:2559018 上传时间:2024-05-31 格式:PDF 页数:3 大小:1.32MB
下载 相关 举报
基于Unity3D游戏引擎的水果忍者游戏设计与实现.pdf_第1页
第1页 / 共3页
基于Unity3D游戏引擎的水果忍者游戏设计与实现.pdf_第2页
第2页 / 共3页
基于Unity3D游戏引擎的水果忍者游戏设计与实现.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 93 Vol.40,No.2February,2024第 40 卷第 2 期2024 年 2 月IT REPORT0 引言随着信息技术的不断发展,游戏已经是大多数年轻人生活中不可或缺的一部分,游玩游戏可以缓解工作压力、放松心情,部分益智游戏还能提升玩家的思维水平。本文使用 Unity3D 游戏引擎设计与开发的游戏是一款益智类游戏水果忍者,这款游戏具备水果忍者游戏基本所有元素。下面本文从技术概述、游戏设计、游戏功能实现和总结和展望几部分来介绍这款游戏。1 技术概述1.1 Unity3D 游戏引擎介绍Unity3D 游 戏 引 擎 Unity3D 是 一 款 由 Unity Technologi

2、es 开发的跨平台游戏引擎,被广泛应用于游戏开发、虚拟现实、增强现实等领域。Unity 引擎具有强大的功能,能让开发者在 20 多个平台进行创作,这些平台包含 IOS、安卓、Windows,PS4,Switch 等主流游戏平台,基于 Unity3D 游戏引擎的水果忍者游戏设计与实现陈磊(宁波职业技术学院,浙江宁波315800)摘要:本文使用了 Unity3D 游戏引擎开发了一款水果忍者游戏,该游戏使用 c#脚本控制游戏内的对象逻辑、对象之间交互以及游戏流程,在美术上使用了有一定艺术感的水果、炸弹模型以及贴合模型的粒子特效。该游戏设计了 3种不同的游戏模式和玩法,并且实现了有一定实现难度的水果刀

3、划痕、连切以及精准命中等游戏功能,该游戏发布同时在安卓和 PC 平台并且能流畅运行。关键词:Unity3D;脚本;粒子特效;划痕中图分类号:TP317文献标志码:A文章编号:1672-4739(2024)02-0093-03Design and Implementation of Fruit Ninja Game Based on Unity3D Game EngineCHEN Lei(Ningbo Polytechnic,Ningbo 315800,China)Abstract:This article developed a fruit ninja game using the Unity

4、3D game engine.The game uses c#scripts to control the object logic,interaction between objects,and game flow within the game.In terms of art,it uses fruit and bomb models with a certain artistic sense,as well as particle effects that fit the model.This game is designed with three different game mode

5、s and gameplay,and has implemented game functions such as fruit knife scratches,continuous cutting,and precise hits with certain implementation difficulties.The game is released on both Android and PC platforms and can run smoothly.Keywords:Unity3D;script;particle effects;scratches能让开发者实现一次开发多平台部署,国

6、内外有众多知名游戏如王者荣耀、仙剑奇侠传 6 等都使用 Unity3D 游戏引擎开发1。1.2 C#脚本Unity3D 游戏引擎使用 C#脚本来实现游戏逻辑,脚本是游戏开发不可或缺的一部分,它实现了游戏场景中各个游戏对象的逻辑以及它们之间的交互,脚本之间的通信确保了游戏正常的运行,脚本也实时监控了游戏的运行状态。C#语言是一种既安全又稳定的编程语言,同时对于初学者来说又比 C+相对简单易学,此外 C#还支持面向对象的特性,通常 Unity3D 的游戏开发者使用 Visual Studio 编程工具编写 C#脚本实现 Unity3D 游戏引擎中的各项游戏逻辑。1.3 Unity3D 粒子系统粒子

7、特效一般用于制作各类游戏特效。粒子系统中不断地有粒子生成和粒子消亡,Unity3D 包含强大的粒子系统支持开发者制作各类逼真的游戏特效,在本游戏中,炸弹生成时喷射的火星,炸弹被切中时爆炸特效,水果被切中时溅射出的水果汁特效,都是 Unity3D 游戏引擎粒子系统所实现的。粒子系统经常需要搭配各种贴图一起使用,要制作出逼真的粒子特效不仅仅需要制作人对引擎的粒子收稿日期:2024-01-18作者简介:陈磊(1990,10-),男,汉族,浙江宁波人,硕士,研究方向:游戏引擎、算法。94 Vol.40,No.2February,2024第 40 卷第 2 期2024 年 2 月IT REPORT系统非

8、常熟悉,也需要有较高的审美并将其融入粒子系统制作中去。1.4 Unity3D 物理引擎物理引擎是游戏设计和开发中非常重要的内容,主要包含受力、刚体、碰撞处理等效果,Unity3D 引擎包含了强大的物理引擎。在本游戏中,水果从场景下方受力被抛向游戏场景中,水果被水果刀切中则使用了碰撞检测,水果被切开后会随机受力掉落到游戏场景下方等都是Unity3D 游戏引擎中的物理引擎处理后的效果。1.5 Unity3D GUI 系统Unity3D GUI 指的是 Unity3D 游戏引擎的图形用户界面2,本游戏主要使用了、sprite、Text、Button 等,其中 sprite 主要用于显示游戏的背景图等

9、其他图形元素。Text 主要用于显示文本,Button 组件主要用于点击事件,即点击该按钮会执行的游戏逻辑会绑定在这个按钮中。2 游戏设计水果忍者游戏模式功能实现经典模式街机模式创新模式水果生成水果刀划痕精准命中判定积分计算连切判定切中判定与反馈1.顺计时2.炸弹游戏失败3.漏切3个游戏失败1.1分钟倒计时2.炸弹扣分3.切中加分1.2分钟倒计时2.金水果3.水果喷涌图1 水果忍者游戏设计图本文设计的游戏框架图如图 1,游戏一共有经典模式、街机模式、创新模式 3 种模式,在功能实现上,本文实现了水果生成,划痕生成,连切与精准命中判定,积分计算等功能3。2.1 游戏模式设计本游戏设计了 3 种游

10、戏模式:(1)经典模式:该模式下游戏水果和炸弹产生较慢,但是水果生成后抛向屏幕中间如果没有被玩家切中,那么会被记录,并在游戏界面底部生成一个叉号,如果超过 3个水果被记录未被切中,那么游戏结束,如果玩家切中炸弹,游戏则会直接结束。(2)街机模式:该模式游戏时长 1 分钟,采用倒计时形式,该模式下游戏水果和炸弹产生频率较经典模式更快,切中水果得分,切中炸弹扣分,漏切水果不扣分,如果产生连切或者精准命中会额外增加得分,倒计时结束显示得分。(3)创新模式:该模式游戏时长 2 分钟,除了具有街机模式所有游戏逻辑以外,会有一定概率额外生成金水果,切中金水果会进入水果喷涌的状态,会进一步提高水果的生成频率

11、,提升频率的时间维持 10 秒钟,倒计时结束显示得分。2.2 游戏交互功能设计(1)游戏主界面的交互设计游戏主界面设计如图 2,主界面以水果为主题元素,主界面注册显示了游戏的名称的英文名称以及水果汁元素,右侧则是进入游戏或者退出游戏的按钮,点击开始游戏后,进入图 3 的界面,本界面可以选择本游戏 3 种模式的按钮,同时提供了按钮可以让玩家返回主界面,玩家任选一个游戏模式就可以进入这种模式开始游玩。图 2 游戏主界面 图 3 游戏模式界面(2)游戏运行时的交互设计运行时的交互设计主要包含 2 部分:a.玩家的鼠标或者手指在屏幕上滑动时,能产生滑动轨迹,且轨迹会在一定时间后消失。b.玩家的鼠标或者

12、手指在屏幕上滑动时,游戏系统能监测到,划到水果和炸弹时能相应地做出反馈。2.3 精准操作的交互设计玩家在进行划动时,为了给予玩家一些精准操作的正向反馈,本游戏设计了精准命中和连切 2 个功能,如果玩家在切中水果时,命中的位置处于水果比较中心的位置,那么会产生精准命中判定,这种精准操作会额外产生奖励,此外,如果玩家一次操作切中了 3 个及以上的水果,会产生连切判定,本次操作也会产生额外奖励。3 游戏功能实现3.1 水果生成功能实现在本游戏实现时,生成水果和炸弹统一采用同一个函数实现,这个函数逻辑为:(1)每隔一定时间生成水果(炸弹)1 次,较小概率是炸弹,较大的概率是水果,在不同模式下,生成的频

13、率会有所不同。(2)每次生成水果(炸弹)的个数随机,水果生成3至6个,炸弹生成1至2个。这些数值会写在脚本文件里,在不同模式下,生成的频率会有所不同。(3)每次水果(炸弹)生成的坐标(x,y,z),位于游戏场景的正下方,为了防止生成的水果碰撞,每次生成时,z 轴的坐标需要改变,采用了边生成 z 轴不断增加的逻辑,当 z 轴增加到一定值则重置为 0,x 轴则是在一段区间内随机,y 轴则是在游戏场景下方。(4)每次生成水果(炸弹)时,会立即添加一个随机力,为了让水果炸弹生成时能抛向屏幕中间,对于在屏幕左下方生成的水果(炸弹),会添加一个朝右的力,在屏幕右下方生成的水果(炸弹),会添加一个朝左的力,

14、同时力一定包含朝上的方向。3.2 水果刀划痕效果实现 95 Vol.40,No.2February,2024第 40 卷第 2 期2024 年 2 月IT REPORT本游戏中水果刀的划痕效果主要使用 LineRender 组件实现,该组件主要的功能是根据所提供的点划线,划线逻辑主要在 knife 脚本中实现。当 玩 家 点 击 鼠 标 左 键 时,使 用 mouseFirstDown和 mouseHold 两 个 变 量 检 测 当 前 的 状 态4,mouseFirstDown 用 于 监 测 鼠 标 是 否 是 第 一 次 点 击,mouseHold 用于鼠标是否处于按住的状态,在 Up

15、date 函数中,当检测鼠标按下时,会置这两个变量为 true,当检测鼠标弹起时,会置 mouseHold 为 false,Update 每一帧都会调用 DrawLine 函数,每一帧结束 mouseFirstDown 会置为 false。DrawLine 函数中,先会根据 mouseFirstDown 的值来确定是否播放音效,如果 mouseFirstDown 为 true,则会播放水果刀音效。如果 mouseHold 为 true,会计算当前鼠标的位置和上一帧鼠标位置的距离,如果距离超过一定值,则会保存本次鼠标的位置到一个 Points 容器中,DrawLine 函数每次会根据 Point

16、s 中点的情况调用SetPositions 函数绘制线。3.3 切中判定及反馈实现本游戏在进行切中判定时,使用了射线检测技术,首先对于游戏过程中生成的水果和炸弹,会立即给其添加碰撞体,当玩家在屏幕进行鼠标滑动时,会从鼠标位置朝屏幕内部发射射线,如果射线检测到了水果或者炸弹,则会触发切中反馈,切中反馈主要有以下几部分逻辑:(1)水果在被切中的位置消失,同时在对应位置生成该水果的 2 个半个水果,这 2 个半个水果会立即被添加随机力,以模拟切的效果。(2)切中会生成特效,水果会产生水果汁粒子特效,炸弹则会生成爆炸特效,特效会随时间而消失。(3)切中会调用其他计分类的函数,在不同模式下会进行计分的计

17、算,通过 C#脚本之间的通信实现这些逻辑。切中判定的实现机制流程图如下:射线检测是否切中原水果消失2个半个水果生成水果汁特效生成数据传递、积分计算图 4 游戏机制流程图3.4 连切和精准命中的实现连切判定的实现的逻辑如下,每次调用 cut 函数后,会统计本次切中的水果数量和时间,如果本次操作切中的水果数超过 3 并且最早切中水果的时间和最晚切中水果的时间不超过 1 秒,那么会产生连切效果,连切会使得切中的水果产生的积分翻倍。精准命中的实现主要采用了双碰撞体的处理逻辑,当即给水果添加 2 个碰撞体,其中一个与水果本身的大小相当,另一个碰撞体体积较小,相当于水果本身大小的1/5,当玩家的射线检测到

18、 2 个碰撞体时,即触发了精准命中。3.5 水果粒子特效设计与实现本游戏的粒子特效主要有 4 部分,分别是炸弹生成时喷射火星,炸弹被切中时爆炸、水果被切中时水果汁下落以及洒到屏幕产生的特效。为了尽可能使得火星和爆炸特效尽可能真实,本游戏给制作此两种特效时,都给其设定了多个子粒子系统,如火星特效具有火光粒子系统和拖尾粒子系统,爆炸特效具有爆炸粒子系统和烟雾粒子系统5。为了模拟水果被切中的随机性,游戏制作了很多张贴图让程序随机挑选,以模拟水果汁洒到屏幕的效果。3.6 游戏 UI 交互实现本游戏一共设计了 3 个主要的场景,分别游戏主界面场景、模式选择场景和游戏场景,主界面可以设计了 2 个按钮可以

19、进入模式选择场景或者退出游戏,在模式选择场景玩家可以选择游戏内的三种模式进入游戏或者选择返回上一层,在游戏场景,左上角会显示时间根据不同模式采用计时或者倒计时模式,右上角则显示游戏积分。按钮点击功能使用了 Unity 自带的 Button 组件,绑定了 StartController 脚本的 Start 函数,该函数主要负责载入 Start2 场景,Start2Controller 脚本定义了 StartGame1、StartGame2、StartGame3 函数,分别绑定了 Start2 脚本里的三个 Button 组件,定义了 ReturnToMain 函数,该函数负责载入 Start 场

20、景,所有 button 事件触发时都会播放点击音效。4 总结与展望本游戏依托 Unity3D 游戏引擎的功能,基本实现了水果忍者游戏的主要功能,并且本游戏同时发布在了安卓和PC 平台,两个平台均可以流畅运行,经过足够多次数的测试,游戏未曾出现闪退等 bug。但本文所做的工作还存在一些不足,比如游戏 UI 的设计相较于这个年代稍微有点落伍,游戏的玩法虽然有一定创新,但是趣味性有一定提升空间,游戏可以增加更多的模式以及趣味性玩法,本人将继续努力,提升自己的游戏开发水平,进一步完善此游戏作品。参考文献:1 赵娅,陆谣,单可欣等.基于 Unity 3D 的摄像技术仿真实训系统开发J.计算机技术与发展,2023,33(07):75-79+97.2杨淮敏,邱树伟.基于 Unity3D 的冒险游戏的设计与实现J.现代计算机,2023,29(13):73-78.3钱宝健,朱世奕,汪鹏.基于 Unity3D 的 AR 捕捉对战游戏设计与实现J.电脑知识与技术,2023,19(20):146-149.4平桉,程乃伟.基于 Unity3D 粒子系统的消防水枪流体喷射仿真研究J.科技创新与应用,2017,(09):42.5王莉莉,周灵,王薪州.基于 Unity3D 的射击类游戏设计研究J.电脑知识与术,2018,14(19):104-106

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服