APP下载

Unity3D开发工具在3D游戏开发中的应用

2020-01-16朱晴

电子技术与软件工程 2019年22期
关键词:怪物子弹动画

文/朱晴

1 Unity3D开发工具在3D游戏开发中的应用概述

伴随当前信息技术发展速度进一步加快,人们越来越重视计算机的视觉效果,计算机图形处理技术也随之得到了快速的发展。人们当前逐步开始重视视觉享受,已经不单单满足于二维图形的动画,而是更倾向于三维动画和游戏,在此过程中越来越多的游戏设计者开始使用功能更为强大的3d 技术来进行动画设计、游戏开发和电脑特效制作。计算机图形技术在使用的过程中主要是通过计算机来设计游戏场景,并且对物体以及人物模型进行指令控制和操作,通过这样的方法来开发第一人称视角游戏或者第三人称视角游戏,提高用户体验度。

2 游戏使用软件分析

三维计算机动画主要是利用计算机对三维形体的模型进行构造,并且通过虚拟相机、模型、虚拟光源等完全控制。因为三维动画所具有的具体特点,广泛应用于课件的制作以及电脑特效当中,也会在一些机械零件构造的表达、人体器官的解剖以及分子结构的展示当中进行使用,效果非常明显。

Unity3D 主 要 是Unity Technologies 开 发出来的,是可以进行背景设计的可视化,并且进行三维动画控制的一款综合性游戏平台,通过Unity3D 强大的物理引擎,可以对相关的场景进行模拟,让整个动画和游戏更为逼真。

图1:游戏功能模块

C#是一种运行于.NET Framework 上的面向对象的高级程序设计语言,是c 语言延伸出来的,可以通过可视化操作来完成程序的编写,可以让游戏和用户的交互性提高。

Monodevelop 是一个在windows、mac os以及Linux 下都可以使用的开放源码的集成环境,支持Java 系统、python 等众多语言,可以赋予模型一定的功能和特性,在实际操作的过程中,更好的让游戏角色和用户之间进行互动。

3 游戏设计

3.1 游戏说明及玩法

本游戏在设计的过程中以第三人称视角利用RPG、M4 等武器进行任务。在设计游戏产品的过程中,将背景设置在瘟疫爆发之后废弃的城市,在瘟疫爆发之后,普通的城市居民丧失理智,逐步成为具有攻击性的怪物。在附近有活体时就会进行凶悍的攻击。在此过程中,玩家可以扮演猎人的角色,在进入游戏之后,为了赚取佣金,在这座城市执行消灭怪物的任务。在战斗的过程中将怪物杀死获取灵魂,最终可以通关。在战斗的时候,玩家需要只是保存自身,消灭怪物,这样可以获得相应的游戏体验。

3.2 游戏功能模块设计

在对游戏进行设计的过程中,主要分成了游戏主界面、角色、场景、道具、状态、交互等各个系统,并且在玩家玩的时候,可以对脚本进行使用,利用外界控制工具对状态进行灵活的控制。如图1所示。

4 游戏设计与实现分析

4.1 游戏主界面的设计与实现

在Unity3D 环境当中,可以适当通过插件进行工作,利用Image 来对主界面背景图片进行设计,接着对开始和退出的按钮进行合理的设置,如下图所示。在主界面设计完成之后,玩家可以单击开始按键加载相应的游戏。在加载的过程中会随机提出相应的提示,通过对话框告知玩家如何在操作的过程中利用按键达到自身的操作要求。在游戏的时候,可以利用esc 键有效地快速退出游戏。

4.2 游戏场景的设计与实现

首先需要合理地布局,收集游戏场景所需要的资料,了解设计要求,通过Unity3D,在3d max 系统创建基本地形,接着调整平面和地形,利用3d max 来完成道具和建筑模型的创制。在制造的时候,需要注意细节,保证设计的效果,对模型的面数和大小进行调整,导入Unity3D 后,还需要对比查看,做好相适应的调试和贴图工作,尽量追求完美,赋予模型真实的特征。如图2所示。

4.3 玩家角色的设计与实现

将人物模型导入Unity3D 之后利用相关的控件让游戏获得横轴和纵轴的移动,在操作的过程中利用键盘上的W、S、A 和D 键对相关方向进行控制,并且利用shift+移动的按键方法来进入冲刺模式。在游戏开始之后,玩家具有RPG 和m4 两种武器,可以通过1 键和2键来完成游戏中武器的切换。在子弹发射的过程中具有相应的火花效果,形成相应的游戏脚本检测发射子弹。在发射子弹打到怪物的时候控制怪物的血量,如果怪物的血量达到0 时,则证明怪物死亡。如果子弹没有击中怪物则自行销毁。具体的操作代码如下所示:

4.4 交互系统的设计与实现

在游戏主场景当中,对人物所处位置进行显示,并且了解人物的实时动态。在此过程中,创设生命值、小地图等,在武器、子弹数、灵魂收集度等各模块的设置,在生命值、人物移动、子弹数、武器等发生变化的过程中,需要提示玩家,可以在设计的过程中将相关信息实时显示在游戏界面上,让玩家了解当前角色的游戏进程和其他情况。

4.5 怪物系统的设计与实现

将怪物的资源包导入并且合理的进行动画和怪物模型的设置形成一个c#脚本,让游戏可以随机产生相应的怪物,并且随机放置到游戏主界面当中,对移动范围进行规定,让怪物可以自由的进行巡逻。在巡逻的时候,随机攻击玩家所控制的角色,在玩家控制的角色和怪物一定范围之内的怪物可以追击玩家控制的角色,如果怪物攻击到玩家控制角色,会导致血量减少。如果血量达到0,则玩家控制的角色死亡,调出game over 的动画,让动画的可玩性和挑战性提高,并且形成boss 脚本,在消灭boss 后可以获得大量灵魂。

4.6 状态和道具系统的设计与实现

建立c#脚本,在操作的过程中对游戏角色当中的生命值进行合理地设定,设立相应的存储空间保存游戏角色的最大的点数、最大生命数、武器子弹数等相关参数,通过拾取道具可以让子弹数和体力值恢复,如果体力值和子弹数达到一定上限,则无法再进行提升。具体的代码如下。

4.7 灵魂收集系统的设计与实现

在进行游戏的时候,需要设将相关参数显示在游戏界面当中,对玩家的灵魂收集情况进行实时反馈,如果玩家灵魂收集度达到100%,则说明玩家已经通关。具体的代码如下所示。

5 结语

本文主要分析了通过Unity3D 游戏引擎实现了一个第三人称射击游戏,合理的使用了基本的UI 工具以及脚本逻辑处理,可以实现怪物的随机生成、武器的切换、人物的移动等,符合玩家在精神上的要求。

猜你喜欢

怪物子弹动画
做个动画给你看
动画发展史
三颗子弹
子弹VS防弹
Karma:让子弹飞一会儿
子弹
我是动画迷
Women in the Workplace, Fighting Spam, Money in the Museum, and the Mood for Food
曾被误认为怪物的伞