基于移动增强现实的城乡自然科普游戏设计
2021-07-19严子淇雷雨欣
严子淇 雷雨欣
(1.天津师范大学教育学部,天津 300000;2.天津师范大学计算机与信息工程学院,天津 300000)
1 问题的提出
增强现实技术是指通过在真实物体上叠加虚拟影像进而达到虚实融合等特点的技术[1],实现了在使用者的同一视野中虚拟事物与现实世界的融合与互动[2],能够增强用户对真实环境的感觉和认识[3]。而移动增强现实技术则是在传统增强现实技术基础上衍生出来的一个分支,是借助于智能移动端将屏幕上的虚拟世界与现实世界融合并进行互动的一种新兴技术[4]。这种技术能够将原本在现实世界的一定时间空间范围内很难体验到的视觉、声音等多种实体信息通过计算机技术模拟仿真后融合,使用者感受到各种与现实世界融合的虚拟信息,产生超现实感的体验[5]。相比于传统增强现实技术,移动增强现实技术实现成本较低,使用方便,具有良好的实用价值,在教育、娱乐、医疗等多个领域得到了更为广泛的应用。
移动增强现实技术具有以下特点:一是交互性强。移动增强现实技术实现交互的方式不再只是借助于鼠标键盘等设备,而是由精确的位置输入扩展到整个环境,从单一的人机交互发展到用户与对象的融合[5]。数字信息不再只是在屏幕上简单呈现,而是与用户所处的环境实时结合起来,极大地提高了用户的沉浸式体验感。二是配合了移动终端的使用。随着移动互联网、高性能处理器的发展,以及各类软硬件设备环境的不断完备,移动增强现实技术常常以智能手持设备作为应用平台,如手机、平板等,在技术使用上摆脱了头显设备、手持设备等高经济成本的局限,实现了增强现实系统的小型化和便携化。
随着移动增强现实技术的成熟,移动增强现实技术越来越多地应用于各个行业,在人们的日常生活中也越来越常见,虚实融合的优势也让其在教育领域中也逐渐拥有了重要地位。移动增强现实技术在教育领域中常以移动增强现实教育游戏的类型出现。如田元等开发的面向学龄前儿童的移动增强现实教育游戏ARTeddyMath[6],再如由喜讯无限公司开发的生物自然课学习软件“蝶千寻游戏”[7]。移动增强现实教育游戏能够通过创造现实世界与虚拟事物相融合的环境,适应多种形式的课外学习,为学习者提供身临其境的体验,使得学习者能够感受到高度的虚实结合性与交互性,极大地激发学习者自主学习的兴趣[8]。除此之外,移动增强现实技术在教育领域中的使用能实现学习者对复杂空间关系和抽象概念的可视化,帮助学生更好地发展高阶思维能力[1]。
在“科教兴国”战略和建设创新型国家的大背景下,科普教育与学校科学教育不断融合,科技馆、科普读物大量出现,使得科普教育逐渐走入我国青少年的学习生活中。“科普”又称大众科学或普及科学,是一种社会教育形式[9]。在这种社会教育形式逐渐普及的大背景下,也有学者于2011年提出,我国中小学,特别是农村中小学在科普教育中的主渠道作用没有得到应有的发挥[10]。这主要是因为在当时科普教育对教学资源的要求较高,比较具有创新性的科普教育形式,如大型科技馆等,大多仅在较为发达的城市可以见到。而对于一些经济比较落后的农村地区,科普教育形式较为单一,缺乏有效模式,在培养学生的科学方法、科学精神、科学思想方面,显得疲软无力[10]。
一直以来,城乡教育非均衡化发展都是困扰我国教育改革与发展的重大问题[11]。党的十九大报告提出,要推动城乡教育一体化发展,努力让每个孩子都能享有公平而有质量的教育[12]。城乡教育一体化是指统筹城乡教育发展,整合城乡教育资源,打破城乡二元经济结构和社会结构的束缚,构建动态均衡、双向沟通、良性互动的教育体系和机制,促进城乡教育资源共享、优势互补,推动城乡教育相互支持、相互促进,缩小城乡之间的教育差距,有效消除地域、经济等原因导致的教育不公平,改变农村地区教育的落后状况,使均衡化的公共教育服务覆盖城乡全体居民,实现城乡教育均衡发展、协调发展、共同发展[13]。因此,城乡教育一体化的实质是教育的城乡一体化,在不断追求教育平衡发展的时代背景下,城乡教育一体化能够对城市、农村之间的教育资源进行有效的、科学的整合,进而逐渐缩小两者之间的差距。现如今,随着互联网技术的不断发展,在新媒体技术的推动下,农村儿童教育逐渐应用了现代远程资源,使得教育突破了时空的限制,优质的教育资源在城乡之间实现了共享,促进了教育公平,对于学生的未来发展起到了重要作用,也因此成为了城乡教育一体化的重要手段之一[14]。
基于此,本研究设计并开发了一个基于移动增强现实技术的城乡一体化自然科普游戏“自然探险家”,适合于学生在课外进行自然科普知识的学习。该游戏将移动增强现实技术与教育游戏相结合,以较低的成本创设相对真实的自然科学学习环境,培养学习者的科学探究能力,拉近和提高城乡学生的生态保护知识水平并塑造正确对待自然的情感态度价值观,最终实现寓教于乐、自然探索与教育公平。
2 案例研究:“自然探险家”游戏
2.1 案例简介
“自然探险家”是一款基于移动增强现实技术的教育游戏。参与者在进行游戏前需要选择不同的自然主题,如柳树、海棠等,每一个主题都有相应的游戏内容。参与者需要在虚实结合的交互环境下通过寻找任务、回答问题,完成对某一自然主题“探险”的活动,更为真切地感受到自然的魅力,进而学习到某一主题的自然科普知识,塑造正确对待自然的情感态度价值观。
2.2 游戏设计
2.2.1 游戏总体设计
结合自然科普主题的教学内容与教育游戏设计的一般模式,将教育游戏总体设计分为游戏主题设计、游戏规则设计、游戏任务设计、游戏逻辑设计、学习资源设计、游戏界面设计、游戏交互设计七个方面。其中具体功能设计上包括四个部分内容,分别是用户登录模块、概念认知模块、自主探究模块、关卡小结模块。案例开发的整体框架模型如图1所示。
图1 自然探险家案例开发整体框架
2.2.2 功能模块设计
①用户登录
参与者进入用户登录页面,注册用户成功后可以选择开始游戏。在开始游戏前系统会对游戏流程及操作进行导读,用户需要观看游戏规则并选择想要参与的游戏主题。
②主题背景呈现
主题背景呈现这一功能是以动画微课来给用户呈现的。微课内容为自然科学故事导入,以用户所选择的自然主题为背景,提出一个与该主题相关的问题,用户需要带着问题进入到游戏中。这一功能的设计主要是为了引发儿童的思考,同时激发儿童对自然科学、生态保护的兴趣。除此之外,任务驱动及时验收儿童学习情况,提高儿童成就感、激发兴趣、提高儿童的思维能力和科学素养。建立反馈机制,为儿童量身定做合适的学习方法及安排学习进度,提高学习效率。
③增强现实呈现
该游戏主要是基于移动增强现实技术设计的,游戏打破环境限制,将生态保护知识直观呈现,使得用户可以在更为真实的环境中进行游戏,感受到更为生动的自然现象。沉浸式的游戏模式也更加能够激发儿童学习兴趣。
④交互式练习
用户在游戏活动结束后,会进入到交互式练习模块,用户需要完成几道与游戏主题相对应的练习,通过用户对不同答案的选择分析用户的学习情况,找出其知识薄弱点,给予不同的反馈并提供针对性的查缺补漏。同时也帮助用户进行归纳、类比、整理、总结,提高教学质量和巩固用户的学习成果。
3 开发制作
3.1 开发工具选择
本项目采用Unity3d引擎。Unity 3d是现今游戏开发行业的主要开发引擎之一,可以支持多平台,拥有插件支持丰富的特点,相较于Unreal、OGRE等引擎而言学习入门难度适中,平台兼容性好,适合移动端开发[15]。增强现实模块采用ARCoreSDK增强现实开发工具包,同样支持多平台使用,并提供图片识别、平面检测识别等功能。考虑到使用群体中Android用户多于iOS用户,在开发完毕后,项目最后被打包成安卓安装包(.apk),即可在安卓手机上使用。
3.2 功能实现
3.2.1 用户注册与登录模块
本项目具有云端存储数据的功能。用户进行注册后,就可以在其他设备上使用同一账户。用户数据存储于云端服务器,服务器采用MySQL 数据库对用户数据进行存储。MySQL 数据库是一种轻量级的数据库,采用完全的多线程编程,它的权限及口令系统十分灵活且安全,可以为用户提供强大的备份功能,保证用户数据的安全。
3.2.2 主题背景实现
当用户登录游戏,界面会出现以自然科普有关的动画微课,引导用户进入既定的场景中。Unity支持.mov、.mp4、.avi、.mpeg等多种视频格式,并为开发者提供两种视频的播放方式,分别是在游戏对象中播放和在GUI 层面上播放。本项目采用第二种方式加入视频,直接将脚本绑定在对象中,在GUI 中调用DrawTexture方法,并修改newRect以调整视频大小。
3.2.3 用户交互实现
当用户打开摄像机与虚拟动植物进行交互时,软件会自动出现提示框发布任务或介绍自然科普知识,帮助用户完成自主学习。其中的提示框、任务清单等的呈现利用Unity 3d自带的UI,嵌入在启动、AR交互、学习任务选择界面中,给予用户操作指导,并且方便进行知识点总结。自主学习模块中使用的弹窗主要包括消息框、提示框等,分为需要用户点击和自动消失不同类型等,分别适用于不同场景。
3.3 增强现实技术实现
3.3.1 ARCore软件开发包
本项目的增强现实模块实现采用Google 发布的ARCore增强现实软件开发工具包(SDK),可以支持多个平台上的AR体验。其主要技术原理是通过设备相机来识别一系列特征点,利用跟踪手势和分析传感器检测到的坐标位移来实现真实世界与虚拟物体的映射。ARCore除了可以识别特征点,还可以检测平面,使用者只需要用手机摄像头对准某一平面,即可在屏幕上与虚拟动植物进行交互。在开发方面,ARCore提供Unity3d平台的API,实现系统开发需求。
3.3.2 平面检测功能实现
本游戏主要利用ARCore的环境理解功能实现对平面的检测,让手机可以检测平坦水平表面的位置和大小,使用户只需要打开手机摄像头,识别到平面后即可出现AR效果,进而根据界面提示完成后续操作,主要的开发流程如图2所示。
图2 平面检测功能实现
首先需要在Unity3d 引擎中创建场景,删除MainCamera及DirectionalLight,随后将ARCore 的Prefabs 加入场景。Prefabs 的预制件主要包含GameObjects 及其相关联的模块,复用方便。在场景中添加时间系统后即可导入模型,其中模型来自Unity3d 自带的资源库AssetStore。其次是创建C#类AppController作为控制器,添加ARCore命名空间,紧接着创建三个方法,主要功能如下:一是检查用户的设备情况,比如相机有无权限,手机是否支持ARCore等;二是在用户屏幕上显示信息;三是检查用户的设备是否被有效追踪,如果没有就要设置将应用暂停,则被追踪状态将继续保持。接着是制作平面Prefabs,首先给平面赋予一个材质纹理,方便实例化以后用户可以直接看到这个平面,随后添加渲染器来渲染检测到的平面,ARCore中已经含有渲染器,只需要将其附加到平面上即可。在以上的操作下,打开Unity 3d的Hierarchy窗口,将平面拖动到Prefabs文件夹中,设置好平面的预置。随后更新AppController 控制器来实现最终的对平面的视觉检测。最后,在其中引用它的命名空间,并将新检测到的平面和已检测到的所有平面放置到两个list 表中,并修改Update方法中的代码即可[16]。
3.3.3 虚拟交互实现
用户可以通过拖拽手机屏幕上的模型实现动植物模型的放大、缩小操作,这个功能可以利用Unity 3D 中的FingerGestures插件实现。在PackageManager中导入FingerGestures 插件包,并将FingerGestures 加入场景中,添加监听器,通过OnPich获取手指放大和缩小的路径,并相应更改物体尺寸,再利用OnTwist 事件中获取到的角度变化更改物体的大小即可[17]。
由于本游戏包括动物模型和植物模型,在模拟真实动物时,需要模型进行一定的运动,因此在选择动物模型时着重选择AssetStore中带有动作的模型,并利用Unity 3d中的Animatior组件编辑模型的动作变化。
4 发布与测试
在Unity 3d 游戏引擎中选择edit->preferences,将安装好的sdk 和jdk 的路径填入相应位置,在file->build setting->play setting中设置软件图标、版本号、名称后,即可点击build发布,生成.apk文件。
测试时,在移动终端(Android设备)中安装apk即可运行游戏。经过测试,发现本游戏可以流畅地进行,用户注册与登录达到预期,场景提示没有缺失,设备相机检测平面速度正常,动植物的增强现实效果较好,游戏整体具有一定稳定性、趣味性,基本满足设计需求。测试结果如表1所示。
表1 游戏测试结果
5 结束语
移动增强现实教育游戏通过真实环境与虚拟模型的融合,为学习者提供了身临其境的体验,使得学习者能够感受到高度的虚实结合性与交互性,极大地激发了自主学习的兴趣。
本研究基于移动增强现实技术开发了一个自然科普游戏,该游戏具有用户登录、动画播放、增强现实、环境感受、问题回答等功能模块,以较低的成本创设相对真实的、具有交互性的自然科学学习环境,培养学习者的科学探究能力,拉近和提高城乡学生的生态保护知识水平并塑造正确对待自然的情感态度价值观,在不断追求教育平衡发展的时代背景下,为城乡教育一体化提供了思路。