基于AR增强现实的古诗词儿童教育系统的设计与实现
2018-03-15陈帼鸾刘建翰高刘杰
陈帼鸾 刘建翰 高刘杰
【摘 要】本系统是提供给6-12岁少年儿童学习古诗词的集交互式,娱乐性于一体的AR系统,便于培养小孩开心学习的习惯。系统包含移动端APP,精美诗词图形卡片。能给小孩提供美妙的学习古诗词体验,集AR古诗词场景学习交互、游戏互动、录像拍照转发等功能于一体的移动应用系统。
【关键词】AR增强现实;Unity3D;古诗词
中图分类号: G613.2 文献标识码: A 文章编号: 2095-2457(2018)35-0006-002
DOI:10.19694/j.cnki.issn2095-2457.2018.35.003
0 引言
当今,在计算机应用技术的影响下,传统文化的教育方法也随之添加了很多新元素,可以想象不久将来的教育方式是不同程度融合计算机科技、大数据技术、网络技术、云计算技术等计算机技术。而随着计算机视觉技术的发展,AR增强现实技术已经逐渐融入到现今的教育中。以“赏中华诗词、寻文化基因、品生活之美”从古人的智慧和情怀中汲取营养,涵养心灵,这是儿童学习古诗词的最佳时期。增强现实技术是将虚拟场景或模型“摆放(添加)”在真实场景中,让用户体验到虚实融合的环境,使用户感受到一个真实和虚拟混合的场景,并且能够与虚拟的对象进行交互。在儿童学习古诗词领域,将AR技术与传统文化教育相结合,这样不仅符合认知规律有效提升儿童的认知能力,又能增加教育过程的创新性、娱乐性,能够达到寓教于乐、快乐学习的效果。
本系统严谨选取适合6-12岁儿童的学习的古诗词,根据古诗词的意境及历史背景,结合儿童认知规律特点,设计一款儿童古诗词AR学习应用系统,可在电脑,手机,平板等移动设备进行学习及游戏。
本系统采用Unity3d作为主要开发引擎,C#为开发语言,3dmax为三维建模工具,使用Vuforia实现基本的增强现实效果。系统基本实现功能包括:增强现实效果,UI交互,声音系统,动画系统,语音识别召唤,拍照录像微信朋友圈转发等基本功能以及诗词学习交互游戏特色功能。
1 三维虚拟场景的建立
1.1 模型的建立
采用3dmax为AR古诗词系统构建三维模型。针对诗词的意境、历史故事背景进行场景建模和人物建模,美观要符合儿童认知特点,其次要求模型完整精美的同时尽量节省资源,让应用更流畅。
图1 《咏鹅》场景三维模型
1.2 模型的优化
项目中往往要在时效性和呈现效果中进行取舍。建立完场景模型后,需要比较多的面数来达到逼真的效果。但当模型中面数数目超过系统的计算能力时,虚拟场景将无法及时完成帧处理,从而破坏了场景切换的平滑性。为了提高运行系统的时效性,需要减少数据库中的多边形消耗并对模型进行简化处理。
三维模型优化有很多的技巧,主流的有LOD技术优化模型,这种技术在图形绘制中主要会通过计算目标视点的距离远近而在这些模型细节中进行切换,从而随时地改变场景的复杂度。运用LOD技术不但能满足模型的视觉要求,并且使模型的绘制帧速度提高了,从而提高了系统的时效性。
1.3 预制体的制作
对于可以重復使用的人物或场景模型,应为它建立一系列的动画,并做为预制体。对于可重复的创建具有相同结构的游戏对象,我们称为预制体。在本项目中,为了节省资源,达到优化的目的。可以使用预制体功能,然后为模型制作一些列的动画,在具体的场景和模型上利用Unity的Mecanim动画系统,对动画进行重定向,把动画从一个角色模型应用到另一个角色模型上,从而实现资源的合理优化。
2 Vuforia与Unity的结合
2.1 增强现实效果的实现
Vuforia是由高通公司推出的针对移动设备扩增实境应用的软件开发工具包,一款供开发者开发的AR SDK,移动设备平台包括Android,IOS和通用Windows平台(UWP)。它利用计算机视觉技术实时识别和捕捉平面图像或简单的三维物体,然后允许开发者通过调用照相机取景器,把虚拟对象放置并调整对象在镜头前真实背景上的位置。Vuforia通过计算、处理识别图形(主要包括:灰度化、色阶计算、锚点记录等),然后将识别图(jpg或png)上传至Vuforia数据库。这样,每一张识别图在Vuforia的数据库中都有一个唯一确定的ID。在实际开发过程中,将特定的ID与特定的三维模型相映射,当运行程序的时候,摄像头扫描到特定的识别图,即可根据与ID的对应来获得相应的三维模型。
在实际的开发中,我们主要使用到Vuforia的两个功能模块:Image Targets(图片跟踪)和Multi-Image Targets(多图跟踪)。
2.2 Image Targets(图片跟踪)
跟踪目标为二维的图像形式。Vuforia是能够加以识别并捕捉拥有比特数据的目标。Vuforia使用自己的算法来计算识别图的特征锚点,此外,Vuforia不需要识别图的特征点完全符合数据中心的数据,只要目标图片还在摄像头的范围内即可,从而增强了跟踪效果。Targets是提前在Target Management System中输入的JPG或PNG图片。把这些数据保存在Vuforia数据库中并在程序运行时加以提取。
在制作AR卡片的时候,即识别图片时,应该尽量制作细节里棱角比较多,棱角分布较均匀,图片单个元素很小。这样获得5星的识别图,有以下好处:(1)识别图越容易识别;(2)识别出来的物体(模型)不会出现抖动;(3)识别速度更快。另外我们在设计识别图时应该符合每一首古诗AR的三维场景模型,做到高度对应,这样产生的增强现实效果更为的惊艳。
2.3 Unity实现交互功能
利用Unity3D的功能组件来实现相应的功能开发。
(1)UGUI用于实现界面的UI,例如朗诵诗词功能、朗诵译文功能以及显示诗词内容及译文内容。UI设计尽量简单清晰,使用世界坐标的UI,合理分布在场景中,并且做到当用户移动图片时,UI随之调整位置及角度。
(2)用圆形准心做为交互的触发器,当准心移到可交互的对象时,准心会有填充,填充结束,交互启动。考虑到用户对象是6-12岁儿童,手部力量不大,因此需要两只手握住移动设备。此时,如果做成触碰移动设备进行交互是有损用户体验的。因此利用圆形准心来触发交互,会增加应用的合理性和用户体验。
(3)动画交互功能。利用Unity的Mecanim动画系统,根据每首诗词对应的故事情节在Animator Controller里面设计动画播放的状态及触发条件,再通过脚本进行逻辑控制,从而把交互动画符合故事情节安排,增加学习系统的趣味性和可观感性。
(4)为了使用户有坚持学习,互相分享。在Unity项目中导入微信接口,实现微信转发功能。我们可以使用ShareSDK实现此功能。首先导入ShareSDK,创建一个按钮UI作为分享按钮实现分享链接,还有创建一个文本UI来显示分享返回信息。给场景内的摄像机(或者其他任意Gameobject)添加ShareSDK脚本,同时创建一个脚本加载在摄像机上。可以去mob平台官网注册一个账号,添加一个应用后获得ShareSDK脚本需要填写的AppKey和AppSecret。
(5)语音召唤功能。通过移动设备的麦克风获取语音信息,识别语音信息来加载不同的诗词场景,从而使得学习系统更多样性,更丰富的交互性。本項目使用的是飞讯SDK,通过在Unity项目加载飞讯的语音识别SDK,实现语音召唤功能。
此外还使用了Unity的粒子系统用于实现粒子特效,例如火把,烟花,烛光等效果。
3 系统架构设计
本系统运行于Android或者IOS平台。利用平台的GPU实时渲染功能,将模型渲染到虚拟的三维空间当中。
将识别图数据和模型数据都加载到移动平台的内存中,在程序运行的时候,通过内存加载,来得到相应的数据,当诗词场景比较多的时候,也可以把识别图片及场景加载到Vuforia的云平台,进行实时加载。
在Vuforia中通过摄像头来获取识别图像,通过Image Target来匹配识别图与场景模型,产生增强现实效果。
最后利用Unity3D游戏引擎实现交互功能。
【参考文献】
[1]基于AR技术的教育产品的开发研究[J].汪腾浪,田元.软件导刊.2017,16(6):82-84.
[2]一种基于Unity3D的移动增强现实自动导览方法[D].罗永东,张淑军.计算机与数字工程,2015.
[3]基于HTC VIVE虚拟校园漫步系统——以中山职业技术学院为例[J].陈帼鸾等.2017,10,63-64.