关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

基于开发的实现

6月10日 乱人心投稿
  王涛王晓博
  【摘要】本文阐述了一个基于Unity3D开发的射击类游戏,重点实现了碰撞检测、敌人智能跟踪、动画设置、声音播放等功能,UI搭建方面实现了界面的制作、玩家血量条、玩家分数记录和音量界面的制作。
  【关键词】Unity3D软件;射击类游戏;UI界面
  1。引言
  小游戏作为电子游戏家族中的一个独特成员,在其中扮演着重要的角色。通常以休闲益智类为主,主要分为单机版和网络版。本次开发的噩梦射手就是属于休闲小游戏,正是迎合了当前游戏产业,具备良好的发展前景。
  2。游戏系统设计
  2。1场景搭建
  游戏素材来自于Unity引擎中自带的资源商店,在搜索界面输入Survivalshooter就可以搜索到本题的素材,通过下载导入就可将游戏素材导入到Unity资源文件中。根据原场景进行场景搭建,搭建场景的所有游戏对象都会在Hierarchy视图中显示出来,方便开发者对场景随时进行更改与调整。
  2。2场景中的物理检测设置
  游戏中能够发生碰撞的物理引擎是Collider组件,受到重力、摩擦力和角摩擦力的是Rigidbody组件,当给游戏中的对象加上这些组件的时候,他们就会模拟出现实世界中的一些物理现象。
  在物理引擎中,两个物体发生碰撞的条件是:两个物体都具有碰撞器,并且一个物体必须带刚体,而且两个物体发生相对运动,这是在Unity的物理引擎中产生物理碰撞的必要条件。
  2。3UI界面的制作
  在本题中游戏界面中显示的有玩家的血量和得到的分数记录,当按下ESC键会弹出声音控制面板和结束暂停重新开始界面。
  3。游戏功能实现
  3。1主角的移动
  通过获取虚拟轴来实现主角的移动,水平虚拟轴和垂直虚拟轴,水平虚拟轴对应了键盘上的A、D,垂直虚拟轴对应了键盘的W、S。获取到他们,将它们赋值给主角的位置,这样就可以在按下W、A、S、D让主角移动了,其本质就是改变了主角在三维世界中的位置来达到移动的目的。
  3。2主角的转向
  主角的转向是通过鼠标来控制的,由于鼠标是在屏幕上的,因此首先要将鼠标的位置转换到世界坐标中,在本题中通过射线检测的方法与四元数的转向的方法来让主角转向并且很自然的转向。
  3。3主角的动画播放
  通过直接拖拽的方式将主角的动画添加到这个面板中,在游戏刚开始时,不移动主角时,我们就会让主角执行一个闲置的状态,当按下W、A、S、D中的任何一个时,主角就会播放移动的动画,此时在主角的这个游戏对象的属性面板上加上一个Animator组件,然后将我们创建的这个动画状态机添加给Animator组件,这样就这两个组件连接在一起了,最后在主角的这个脚本中将这个组件拿到,加上一些判定,在适当的时候来播放这个动画就可以了。
  3。4主角的射击
  主角的射击是通过鼠标来控制的,当玩家按下鼠标左键的时候,主角会对敌人进行射击,在本题中,主角射出是一条线段,这个线段有一个最远距离,也会给场景中的所有对象添加一个层(ShootableMask),也会将敌人添加这个层中,当主角打到这个层中的任何一个对象是,这个线段就会以这个对象作为终点,否则射线就会打到最远的距离。
  4。敌人的产生、移动和动画播放
  4。1敌人的产生
  先在已经搭建好的场景中创建三个空的游戏对象,将它们放置在想要敌人生成的地方,然后再创建一个空的游戏对象来管理这三个位置,将在这个空的游戏对象挂在一个实例化敌人的脚本,其次要将素材中的敌人设置好做成预设体,在脚本中拿到预设体和将要产生敌人的位置,这样敌人的生成就可以了。
  4。2敌人的移动是通过自动寻路来寻找主角的。
  使用Unity中自带的导航系统,可以让敌人自动寻路,只要在一开始的时候给敌人一个主角位置,之后就会跟着主角的移动来移动。
  4。3敌人的动画播放
  敌人的动画的逻辑是,当游戏开始时,给敌人加上移动的动画,动画参数选择Trigger类型的参数,這是从移动的动画到闲置状态的动画之间的切换,它的触发条件就是当玩家死亡的时候,而敌人死亡的动画是无论是在移动状态下还是闲置状态都会触发,所以要将死亡的动画加在任何状态的状态上,这样就可以随时触发这个动画了。
  4。4主角与敌人攻击逻辑的实现
  主角攻击与主角的健康,在前面提到过主角的射击,而主角攻击就是用枪来射击敌人,并且给枪设置的每发子弹是20点伤害,玩家的血量设置的是100点血量,在实现开始前记录一个当前玩家的血量和初始血量。
  敌人的攻击与健康,每一个敌人的游戏对象身上都会具有一个触发器,当敌人接近主角的一定范围时,敌人就会对玩家发起攻击,本题中,敌人的攻击是10点伤害,血量也是100点上限,在开始前也记录一个当前敌人的血量和初始血量。
  4。5UI界面的搭建与代码之间的关联
  UI界面的搭建也是游戏制作的重要部分,首先我们先创建一个Panel,并且将它的大小设置与画布大小一样,它有一个Image组件,里面有一个Color的属性,将颜色改变为红色,然后将它的透明度设置为0,这样我们在游戏开始时就会看不到。颜色的改变我们就通过主角的健康脚本用代码来实现,首先我们先获取到这个能改变这个Panel颜色的组件Image组件,并且要给这个组件赋一个初始值,就是主角受到攻击以后,颜色显示为这个初始值,如果没有受到攻击,我们就让颜色通过一个Color。Lerp()的方法渐变为透明,其中,这个方法有三个参数,第一个参数就是主角受到攻击时的颜色,第二个参数就是Color。clear,第三个参数我们会给一个这个颜色从主角受到攻击时的颜色到透明的一个渐变的速度,因此我们会在刚开始的时候给一个渐变速度,让这个速度在乘以一个Time。deltaTime,这样就是显得很平滑,不至于突兀。
  接下来是主角的血条制作,我们使用的一个是叫Slider的游戏组件,他是一个滑动条,这个组件上有Interactable、MinValue、MaxValue、Value属性,其中第一个属性是是否可交互,默认为True,如果将其改为False将不能与代码鼠标完成交互,第二个是这个滑块的最小值,第三个是这个滑块的最大值,第四个是这个滑块的值,默认是0到1,在本题中,我们将主角的值设置为了100,因此我们将这个滑块的最大值改为100,用来现实主角的血量。
  在主角健康的脚本中将主角当前的血量赋值给这个Slider组件,这样在游戏开始时主角受到攻击时,那个血量就会根据敌人的攻击来减少。
  主角所得分数的计算,写一个脚本挂载到显示分数的文本上,通过这个脚本来获取每个敌人死亡后的分数。
  最后就是我们的音量面板和游戏暂停面板,跟上面的做法一样,在画布上选择一些Slider游戏,不过在这又用了两个新的游戏对象,一个Button游戏对象,一个Toggle游戏对象,Button游戏对象是可点击的按钮,在这通过ESC键可以呼出这个面板,最下方有一个继续游戏(Resume)按钮,一个离开游戏按钮(QuitGame),在上面就是一个是否开关声音的Toggle游戏组件,当取消这个按钮时,我们的游戏界面将没有声音,在上面就是通过我们的Slider游戏对象来实现的。通过与代码的交互,我们就可以实现以上所说的这些。
  5。总结
  本次设计的第一人称射击的休闲类小游戏,功能单一,后期会逐步完善。
  【参考文献】
  〔1〕吴志达。基于Unity3D游戏引擎的游戏研究与实现〔D〕。中山大学,2012。
  〔2〕李锦荣,郭磊,谭忠扬。基于Unity3D平台的射击游戏的开发〔J〕。福建电脑,2015(02)171173。
投诉 评论 转载

事业单位人力资源管理与绩效考核的探究摘要:事业单位人力资源管理是企业保持正常运作的基础,同时人力资源管理中的绩效考核工作是企业必须做好的重中之重。笔者从事业单位人力资源中的绩效考核对企业的重要性、存在的问题以及解……基于开发的实现王涛王晓博【摘要】本文阐述了一个基于Unity3D开发的射击类游戏,重点实现了碰撞检测、敌人智能跟踪、动画设置、声音播放等功能,UI搭建方面实现了界面的制作、玩家血量条、……如何约男孩出去在本文中:准备工作约他出去其他方法主动约男孩出去!没搞错吧!你肯定会觉得有点怪,有点害羞,不知道该如何下手别担心!其实很多女孩都这么做呢!对男孩来讲,如果女孩能主动出击,……如何进行面试跟进在本文中:面试即将结束时,你最好面试刚一结束,你应该面试结束几天之后,你应该避免以下行为参考面试后的跟进工作,是求职过程中一个重要而又常被忽视的环节。在跟进的过程中,你可……关于圣诞节的说说大全自己对自己说圣诞快乐一、圣诞节快要到叻,提前祝福所有的朋友;圣诞快乐!二、倔强的爬上最高的楼顶,迎着黑灰色的风守望着你离开的铁轨。三、如果你是圣诞,我是元旦,你是圣诞老人,我是驯鹿道夫……家族复仇记某日,米饭和包子因为一点小事争执起来,后来竟大打出手,酿成流血事件。在这场悲剧事件中,米饭在被包子一顿狂打之后气绝身亡。米饭死后,米饭家族的其他兄弟姐妹怨气难平,于是他们……一起看电视有个高高大大的中年汉子,名字叫张强,原来在一家国有企业当司机,下岗后经人介绍,到邻近小城一家贸易公司去开货车。刚到小城,张强没有什么朋友,老婆孩子又不在身边,所以每天下班……说的很有道理的说说一、永远不要因为一时的志趣相投、突然的拔刀相助、孤独时的陪伴就认定对方,别太早把你的一切和盘托出,看清一个人至少要经历三个夏天,此前的一切都可能只是表演或者他对你的成本投入。当……怎样进行薪资调查企业在进行薪酬设计或薪酬改革时一般需要进行薪酬调查。薪酬调查就是企业为了保持各岗位薪酬的内部公平性和外部竞争性,更好地吸引、留住人才,采用标准、规范、专业的方法,通过各种途径,……毕业那是成长的阵痛如果你点开了这篇文章,你是不是也是一个正在经历毕业的孩子。是的我依然以为我们还是个孩子。如果你也是,那我们惺惺相惜,患难与共。我们就是朋友,那么朋友,毕业的你在做什么呢?心情安……隋唐演义的主要内容是什么赏析隋唐演义清代白话长篇历史演义小说。全称《四雪草堂重订通俗隋唐演义》。二十卷一百回。题剑啸阁齐东野人等原本,长洲后进没世农夫汇编,吴鹤市散人鹤樵子参订。没世农夫即褚人获。褚……分手不是不爱了不去恨一个曾经爱过的人,不去追问分手的理由,不恳求复合的可能,转个身、懂的让自己快乐那才是真这是一个朋友的话,愣是静静地听进去了。做人一定要经得起谎言,受得起敷衍,忍得住……
三文鱼粥的做法大全人流后西瓜可以吃的很多吗大众汽车的胎压监测怎么用再婚后的老年人适当安排性生活是正常的生理要求孩子叛逆期多长时间能过去产妇产后乳房护理措施孩子长跑会影响身高吗婴儿润肤油有什么功效孩子晚睡长不高是次要最重要的竟是这几点儿童家庭意外伤害占多数防范与急救必须知晓高血压老人适合吃哪些营养品孩子便秘能喝芝麻油吗
边牧(边牧作为最聪明的狗)热博聚热点网 两学一做党课讲稿材料5篇考古最新发现诸葛亮陵墓为何千年没有被盗《我的姐姐》观后感创业,是行动派的游戏随我云游金山岭长城,与初夏相约!怎么查老公微信跟别人聊天记录贴吧(如何看对方的聊天记录)钓鱼作文三篇公司竞聘经理演讲稿夫妻笑话你是否有离婚的能力?稻盛和夫:人真正的能力是什么

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州