基于Unity3D的中学数学概率学习游戏设计与实现

来源 :中国教育信息化·基础教育 | 被引量 : 0次 | 上传用户:sleepyxu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:教育游戏的出现,极大的改变了学生的学习方式,学生可以通过教育游戏将娱乐与学习结合起来,提高学习兴趣和效率。文章利用3ds Max建立三维游戏场景和道具,使用Unity3D作为开发平台,以JavaScript作为开发语言,设计并实现了一个中学数学概率学习的三维游戏。
  关键词:游戏;建模;Unity3D
  中图分类号:G434 文献标志码:A 文章编号:1673-8454(2016)08-0068-04
  一、引言
  学生是有个性差异的,课堂教学无法满足每个学生的学习需求,但通过教育游戏却可以实现因材施教。教育游戏可将游戏任务按照难易程度划分等级,使每个学生可以根据自己的学习情况选择适合的等级,制定自己的学习进度,自主学习能力也得到了提升[1]。此外,教育游戏还具有很强的挑战性、互动性和趣味性,可以激发学生强烈的求知欲和学习动机[2]。学生利用教育游戏进行学习,不仅可以巩固已学的知识,拓展知识面,还能提高想象力。教育游戏还有助于培养学生正确的人生观和价值观。
  文章利用3ds Max建立三维游戏场景和道具,以Unity3D为开发环境,JavaScript为开发语言设计并实现了一个中学概率学习游戏。让学生体验游戏刺激的同时,可以通过回答问题来学习、巩固概率知识,使学习不再枯燥,让学生快乐学习,爱上学习,提高学习效率。
  二、游戏开发流程
  首先,根据学习目标设计学习内容和游戏流程,接着利用3ds Max建立模型、为模型赋予材质;然后将文件导入Unity3D中进行游戏的开发,内容包括碰撞检测、动画设置、添加特效、布置灯光、添加音乐、人机交互设置六大部分;最后进行优化系统,导出为可执行文件。游戏的开发流程如图1所示。
  三、游戏设计与实现
  1.设计思想
  此游戏属于密室解谜类游戏,游戏场景的部分结构图如图2所示。整个密室由一个个小密室组合而成。当玩家进入游戏后,玩家就会位于如图2所示的位置,玩家想要离开密室,必须打开门。当玩家向门走去的时候,就會触发一个触发器,弹出一道数学概率问题。第一个问题是相当简单的,凡是学过中学概率的都可以解决,所以当第一个问题回答错误时,会弹出失败场景,并提示玩家要先去学习中学数学概率的内容,再来玩这个游戏。当第一个问题回答正确,密室的门会自动打开,玩家可以经过走廊进入第二个密室。从第二个密室开始,每道关口除了有一个正门外还有一个侧门。当玩家走向第二个密室主门时,会弹出第二个问题,这个问题比第一个问题略难。当这个问题回答正确,主门会自动打开;如果回答错误,侧道的门会打开,侧道也会有一些关于概率的问题,这些问题是主门问题的分解问题,帮助玩家理解主门的问题。游戏的时间限制为25分钟,单个问题没有时间限制,这种设置给了玩家相对自由的空间。整个游戏场景共有6个主道以及6个侧道,直到玩家开启最后一个密室的门,游戏会结束,并弹出胜利的场景。
  2.建模
  (1)建模前的相关设置
  为了使3ds Max制作的模型与现实世界相符合,需要对3ds Max进行必要的单位设置。将“系统单位”和“显示单位”都设置为厘米。通过这样的设置,也可以将模型导入Unity3D中,这样进行后期游戏开发时更容易操作[3]。
  (2)密室场景建模
  密室建模采用“多边形建模”的方法。密室分大厅和走廊两个部分。整个密室由若干个大厅和走廊组成,密室大厅的统一规格是:高600cm,长1200cm,宽800cm,密室走廊的统一规格为长400cm,宽1000cm,高400cm。
  ①密室墙体建模
  密室大厅的原型是一个高600cm、长1200cm、宽800cm的长方体,点击工具栏的“创建”面板,选择“标准基本体”中的“长方体”并将其命名为“box1”,设置其长、宽、高分别为1200cm、800cm、600cm。然后将box1转换成“可编辑多边形”,选择“多边形”子集中的“翻转”选项,将box1的法线方向进行反转,使大厅的内墙可见。
  密室走廊的原型是一个长400cm、宽1000cm、高400cm的长方体,建立的步骤与密室大厅完全相同。建立后将其命名为“box2”。
  ②门的建模
  要用门将大厅和走廊隔离开来。很多做法可以实现这个目的,笔者用的是“超级布尔”。将box1和box2按如图3的方式进行摆放。选择box1,在3ds Max的“复合对象”面板下选择“超级布尔”。选择“参数”中的“差集”和“盖印”,选择“拾取布尔对象”中的“开始拾取”,点击box2,就会得到一个门的轮廓,效果如图4所示。门的轮廓已经完成,接下来就需要制作门了。门的原型是一个长400cm、高400cm、宽20cm的长方体,按照box1的建立步骤创建一个长400cm、高400cm、宽20cm的长方体,将其命名为“door”。将“door”摆放到box1和box2的交界处。
  接着通过上述方法完成其他大厅及走廊的创建,并将大厅和走廊用门隔绝开来,然后选择box1,选择“修改”面板下的“附加”命令,将其他大厅和走廊与box1组合在一起,就完成了整个密室的建模。最终效果如图5所示。
  (3)道具建模
  虽然游戏场景建立好了,但当玩家位于游戏场景中时会感觉略显空旷,而且为了给密室营造一种诡异、紧张的氛围,需要建立一些火盆摆放在主门的两边。火盆的制作主要分为火盆和支架两个部分。
  ①火盆的制作
  点击工具栏的“创建”选项,选择“标准基本体”中的“圆柱体”,并将其命名为“fire”。将fire的半径设为40cm,高度设为20cm,边数设为8并转化成可编辑多边形。选择fire上边的面,将其放大并选择“插入”选项,给上边的面插入一个新的面。选择新面,选择使用“挤出”,将新面向下拉,然后选择“切割”命令,对新面的对顶点进行切割,共需要切割四次,中间会形成一个新的点。进入“点”子集,使用“选择并移动”命令,将该点微微拉起。这样就完成了火盆的制作。   ②支架的制作
  支架的做法相对简单,同box1的建立方法一样,建立一个长20cm、宽20cm、高180cm的长方体,并将“高度分段”设为2,将其命名为“support”。将新建的长方体转换为可编辑多边形,进入“点”子集,选择“选择并移动”命令,将support的中间四个点向下拉,将底面的四个点向外拉,支架的模型就建立完成了。为了节约电脑资源,可以将看不见的底面删除。按照这种方法,再建立3个support,并按照图6所示将四个支架与火盆组合在一起。至此,火盆的模型就完成了。
  3.贴图的制作
  搜集贴图,通过PS加以修改。将修改好的贴图导入3ds Max赋给游戏场景中的内墙和游戏道具。打开3ds Max工具栏的“材质编辑器”,将贴图赋予空白的材质球,选择“将材质指定给选定对象”选项,即可进行模型的贴图。
  4.模型的导入
  将建立好的游戏场景及其贴图放在Unity3D游戏的资源文件夹下。当把游戏场景拉入Unity3D的开发界面中时,会发现游戏场景上的贴图不见了。这时,只需要在游戏场景的文件里找到那几个材质球,将其重新赋予场景中的对象,就完成了游戏场景和道具的导入。
  5.游戏各模块的实现
  (1)灯光系统
  由于Unity3D无法识别3ds Max的灯光,所以需要在Unity3D建立灯光系统。本设计的灯光只用到“点光源”,使用这种光源,是为了模仿火光。
  在网格层次面板选择“创建”按钮,创建一个点光源,将其重命名为“firelight”,在firelight的检视面板里修改相关属性。将firelight的“范围”属性设为15,“强度”属性设为6,颜色调整为与火光相同的颜色。
  (2)动画
  游戏中有门自动打开的动画。选择工具栏的“窗口”选项中的“动画”,在弹出的对话框中,点击红色按钮开始创建动画,并先将要创建的动画进行保存。在0:00的位置添加关键帧,将时间轴移动到2:00的位置,将游戏场景中的门向下拉,并添加关键帧。这样一个门的开门动画就做好了。按照以上做法,给每个门创建开门动画。
  (3)特效
  本设计的特效是“火”,该特效是用粒子系统制作而成的。在网格层次面板选择“创建”按钮,创建一个粒子系统,将其重命名为“fire”。在fire的检视面板里修改相关属性。粒子系统相关属性修改完后,就要为火焰贴上材质,使其更加真实。在工程面板里创建一个材质,将其命名为“firepicture”。在其检视面板里将“渲染”设置为“FX”,这样当把火焰的贴图赋给“fire”时,可以去掉贴图黑色的部分。然后把“firepicture”赋给粒子动画,这样本设计的特效就制作完成了。
  (4)人机交互
  本设计使用的是Unity3D自带的人物,点击工具栏的“资源”选项,选择导入“Character Controller”,就完成了游戏人物的导入。将导入的人物拖入到游戏场景里,就可以用W、S、A、D控制人物上下左右移動。
  (5)音乐
  系统需添加三种声效。 首先需要为整个游戏添加背景音乐,选择主相机,在工具栏上点击“组件”选项,在“Audio”选项下面选择“Audio Source”选项,将导入的背景音乐拖给主相机,在检视面板里点击“循环”选项,这样背景音乐就会循环播放,第一种声效添加完毕。其次,为了营造紧张的氛围,需要给游戏人物添加心跳声,与添加背景音乐的方法一样,操作完毕之后,在游戏里就可以听到人物的心跳声。最后,需要为门添加开门声,但这个需要用代码实现。按照前面的方法添加完音效后,需要给门添加如下代码:
  If(doorIsOpen==true)
  {Door.audio.PlayOneShot(doorOpenSound);}
  这样,所有的音效就全部添加完成了。
  (6)碰撞与触发
  为了避免人物穿墙而过等非自然现象的出现,需要给游戏添加碰撞。为了让人接近门的时候可以自动弹出概率题目,需要添加触发器。
  ①人与建筑物的碰撞
  点击游戏场景的墙体,点击工具栏的“组件”按钮,选择“物理”面板下的Mesh碰撞器。这样游戏人物就可以站在游戏场景里,而不会掉下去。
  ②人与门的碰撞
  同给墙体添加碰撞体的步骤一样,给门添加一Box碰撞器,使人物避免穿过门到达另一个密室。
  ③人与火盆的碰撞
  给火盆添加Box碰撞器,步骤同上,使人物避免穿过火盆架。
  ④触发器
  为了实现人走近门时自动弹出题目,需要在门的前面放一个空物体,给空物体添加Box碰撞,在空物体的检视面板里将“IS Trigger”打上对勾。弹出题目的相关代码如下:
  function OnGUI()
  {if(WindowSwitch==true)
  {GUI.skin=im;
  GUI.BeginGroup(menuAreaNormalized);
  windowRect=GUI.Window(0, windowRect,WindowContain,“题目”);
  GUI.EndGroup();}}
  function WindowContain(windowID:int)
  { GUI.Label(Rect(0,30,300,300),“5本书分给甲乙丙三个人,按一个人一本,另两个人各两本,有多少种不同的分法。”);
  If(GUI.Button(Rect(0,180,80,60),“120”))
  {WindowSwitch=false;Destroy(this.gameObject);}   If(GUI.Button(Rect(220,180,80,60),“30”))
  {WindowSwitch=false;Destroy(this.gameObject);}
  If(GUI.Button(Rect(0,240,80,60),“90”))
  {box3.flag2=1;Destroy(this.gameObject);}
  If(GUI.Button(Rect(220,240,80,60),“60”))
  {WindowSwitch=false;Destroy(this.gameObject);}
  GUI.DragWindow();
  }
  四、游戲的优化与发布
  1.游戏优化
  游戏场景中含有大量的点灯光,会对游戏的性能产生较大的影响。使用光照贴图技术,将光线效果渲染成贴图可以节约大量的电脑资源[4]。方法为:点击工具栏的“窗体”按钮,选择“光照贴图”选项,点击“烘焙”对当前游戏场景进行烘焙。
  2.发布
  在工具栏的“编辑”面板下,选择“工程设置”面板下的“玩家”选项,对游戏的图标和名称进行设置。点击“文件”面板下的“工程设置”选项,从工程面板里将游戏的几个场景文件拖入到“工程设置”的窗口里。点击“建立”按钮,就会生成一个可执行文件,这样就完成了游戏的发布。游戏胜利时的场景如图7所示,答题时的场景如图8所示。
  五、结束语
  文章设计并实现了一个中学数学概率的教育游戏,帮助学生在娱乐中进行学习,让学生轻松学习、爱上学习、快乐学习。系统基本实现了需求分析中的要求,但由于时间仓促,系统的功能还可以在后续研究中进一步完善,如:可以在游戏中添加一些障碍物或机关,以增加游戏的趣味性;可以在游戏场景进行切换时添加一些过度动画,使游戏更加美观。
  参考文献:
  [1]冯威.数学游戏与高中数学教育研究[D].大连:辽宁师范大学,2012.
  [2]王倩,赵玉清.教育游戏在小学数学教学中的应用探析[J].软件导刊,2013,12(3):3-8.
  [3]Li Wang. Researching of the three-dimensional virtual simulation campus scene’s construction technology[J].The Open Cybernetics
其他文献
摘 要:随着移动互联网、云计算、智能设备和移动设备的普及,移动学习受到广泛关注。本文以《数据库原理与设计》课程为例,设计并实现了基于云存储的移动自主学习平台。该平台不但解决了大量音视频文件的安全、高效和低价存储问题,而且可以使学习者随时随地获取自己想要的知识信息,从而实现真正意义上的自主学习。该平台已经成为传统课堂教学的重要辅助工具。  关键词:云存储;互联网 ;移动互联网;自主学习  中图分类号
1.I=Q/t中Q的物理意义:公式中的Q表示电荷量,但它不是导体本身所带的电荷量,也不是导体得到或失去的电荷量.它所表示的是在时间t内通过导体任一横截面的电荷量。
行李处理系统是大型机场中最重要的系统之一,是机场正常运营的重要保障,在满足业务功能的前提下,其稳定、可靠、高效的运行对于机场正常运营起着至关重要的作用。在正式投产
以实际工程为背景,建立深基坑桩锚支护结构的三维数值计算模型,分析不同锚杆设计参数(锚杆弹性模量、角度、锚固长度等)对桩锚支护结构位移、内力的影响及其随锚杆参数的变化规
摘 要:教师培训是支持教师专业发展的重要途径。如何根据教师的实际需求提供适切的学习内容与丰富的学习资源、如何对教师学习效果予以科学有效的评价、如何为教师学习提供长效支持等对于高质量的教师培训不可或缺。MOOC用于教师培训有望帮助解决工学矛盾、丰富教师培训资源、拓展培训方式、支持教师实践共同体的形成。文章从三个方面建议如何推进MOOC在中小学教师培训中的有效应用,包括:充分认识MOOC在教师培训中的
二、要点说明 1.正确理解力(1)力的相互性:力是物体对物体的作用;物体间力的作用是相互的;在力的作用中一定有施力物体和受力物体,某个物体既是施力物体又是受力物体;力的作用可以
常见金属的化学活动性顺序为K、Ca、Na、Mg、At、Zn、Fe、Sn、Pb、(H)、Cu、Hg、Ag、Pt、Au。从左到右金属活动性由强逐渐减弱,即金属的位置越靠前,金属在水溶液中就越容易失去电
为了解加拿大在城市古老桥梁、城市大跨径桥梁和其他现代城市桥梁的建设情况,以及该国如何在城市桥梁建设上体现传统与创新的相关经验,借鉴其成功做法,更好地从事我们的桥梁
信息化时代,游戏的教育价值毋庸置疑。然而,游戏中学习支架的研究特别缺乏,教育游戏作为一种新的教学媒体,应该呈现出与其相适应的学习支架内容和形式,适当的学习支架或教学
平行线分线段成比例定理及其推论,既是相似三角形的判定与性质的基础,又可以独正应用它解决一些问题.在中考中,一般以填空题或选择题的形式考查该知识点,其中比例的基本性质、平行