英语原文共 6 页,支付完成后下载完整资料
2014 IEEE World Forum on Internet of Things (WF-IoT)
使用Unity 3D促进移动增强现实游戏开发
Sung Lae Kim, Hae Jung Suk,
Jeong Hwa Kang, Jun Mo Jung
Department of Digital Media
Ajou University
Suwon, Korea
{sunglaess, dbdip, kjhca0818, speedfinger}@ajou.ac.kr
Teemu H. Laine, Joonas Westlin
Department of Information and Computer Engineering
Ajou University
Suwon, Korea
{tlaine, jwestlin}@ajou.ac.kr
摘要:
移动增强现实(移动AR)允许虚拟内容(如3D模型、动画和注释)放置在任何上下文中的真实世界对象之上。我们应用移动AR开发了卡路里战斗AR练习游戏,以解决全球儿童肥胖问题。在这个游戏中,玩家发现并在现实世界中拆除虚拟热量炸弹。具体来说,我们介绍了两个游戏版本的开发。第一个原型是在没有第三方游戏引擎的情况下创建的,它带来了许多挑战。为了探索这些挑战的解决方案,我们使用Unity 3D游戏引擎创建了新版本的游戏。使用Unity 3D简化了游戏开发过程。对儿童和大学生的混合方法可用性评估表明,Unity 3D版本特别是与AR内容的交互和用户界面的清晰度得到了提高。这项研究产生了三项重要贡献:(1)一款新颖的移动AR练习游戏,激励孩子们移动;(2)使用Unity 3D重新实现游戏;(3)比较两个游戏版本的可用性评估结果。我们预计,Unity 3D等游戏引擎将成为未来AR游戏开发的关键。
关键词:练习;移动游戏;游戏引擎;增强现实;实用性
- 引言
如今,无处不在的技术发展迅速,并广泛传播。因此,许多发达国家的公民在使用智能手机时候,在智能手机中,打电话已经成为次要功能。智能手机平台,如iOS和Android,不仅提供高度复杂的计算和上下文感知基础设施,还提供开放市场,其中包含各种应用程序和服务,供用户受益。随着智能手机的普及,人们通过无所不在的技术与环境之间的相互作用受到了越来越多的关注。丰富这种交互的方法之一是增强现实(AR),其中虚拟内容放在真实世界的摄像机视图之上。AR可以提供额外的上下文信息并启用更真实的虚拟内容交互体验。在写这篇论文的时候,如果不是的话,有成百上千篇智能手机可以使用数千个AR应用程序。在这些领域中比如说旅游[1]、购物[2]、教育[3]和娱乐[4],人们对增强现实技术进行了大量的研究。早期的AR应用需要用户携带一台计算机和一个头戴式显示器(HMD),但在本研究中,我们主要研究移动增强现实(移动AR),这是由智能手机等手持设备实现的。移动AR支持不引人注目的收集、管理和利用上下文信息,并根据用户上下文提供AR增强服务。
英国、韩国和新西兰等发达国家面临的一大挑战是,所有年龄组的肥胖率都在上升,而体育活动率却在下降[5-7]。根据世界卫生组织的数据,自1980年以来,世界范围内的肥胖率几乎翻了一番,2011年超过4000万5岁以下的儿童超重[8]。为了应对这一挑战,我们已经开始利用智能手机和移动AR的力量为儿童和年轻人开发运动游戏(锻炼游戏),旨在使运动更有趣。运动游戏的意思就是为玩家提供体育锻炼的电子游戏。通过任天堂Wii、Xbox Kinect、PlayStation Eyetoy等系统参与体育游戏的方式很多。在本文中,我们将重点讨论这些比如geobiods[9]、walk2build[10]、smartrabbit[11]。移动练习游戏。
在本文中,我们解释了我们在开发移动AR练习游戏Calory Battle AR方面的经验和挑战。具体来说,我们介绍了游戏的两个原型的开发:一个没有现有的3D游戏引擎,另一个有Unity 3D游戏引擎。然后由本科生在动画制作课程中创建原型,以缓解在开发第一个原型时遇到的挑战。我们还分析了以前关于AR系统的研究,在两个版本的Calory Battle AR之间进行了可用性研究,并讨论了研究结果。
- 背景
一、增强现实背景
在早期增强现实系统中,用户携带一台计算机和/或某种形式的头戴式显示器(HMD)。火星、studierstube、ar quake和ar pacman都是早期AR系统的例子。Mars(移动增强现实系统)[12]由一台具有3D图形加速、GPS、透明HMD、无线局域网和其他组件的计算机组成。studierstube[13]是一种可穿戴的增强现实系统,它使用户可以通过笔和垫与增强对象进行交互。用户在自己的背上安装笔记本电脑,一个带视频输出设备和网络摄像头的头盔,并使用笔和垫,这些笔和垫通过标记和摄像头进行光学跟踪。Ar Quake[14]和Ar Pacman[4]是使用增强现实技术的游戏的例子。具体来说,这些是增强现实分别适应流行的地震fps和pacman街机游戏。这两款游戏都使用可穿戴的电脑进行数据处理,并要求通过HMD向用户显示信息。
AR Phone、Mobiar和Geoboids是基于手持设备而不是可穿戴计算机和HMD的移动AR的例子。因此,用户不必携带特殊的硬件来提高移动性。AR Phone[15]是一项研究,其中使用处理能力有限的移动电话在智能环境中提供增强现实接口。在AR电话系统中,图像处理等高处理任务是在AR服务器上执行的,而电话只执行查看者的角色。Mobiar[16]是一款Android应用程序,为游客提供增强现实的信息。当用户通过mobiar观察现实世界时,视图会增加他们所在位置的信息。通过多媒体内容,用户可以访问有用的信息来规划他们在城市的路线。geobiods[9]是一款在智能手机上使用ar的练习游戏。游戏提供了野外和街机模式,玩家必须在户外真实环境中搜索和捕捉虚拟的geobiods生物。播放器和增强现实物体之间的交互很简单,只需在智能手机屏幕上触摸或滑动即可。据我们所知,geobiods和calory battle ar是使用移动AR的练习游戏的唯一研究成果。
二、AR开发和使用中的挑战
过去的增强现实系统受到移动技术和IT基础设施的限制。这些限制导致开发人员和用户遇到以下几种挑战。
首先,使用诸如hmd之类的特殊ar硬件存在一些问题。HMD会破坏视力,可能给用户带来不便。此外,如果高分辨显示器的分辨率较低,则会造成识别增强物体的困难,以及与现实世界不同的视觉失真。此外,专用硬件比智能手机等普通设备更不易访问。最新的AR专用硬件例子是谷歌玻璃(GoogleGlass),它是一种可穿戴式计算机,带有光学头戴式显示器。尽管谷歌的技术成熟且设计低调,但谷歌玻璃目前对普通用户来说过于昂贵。谷歌玻璃的另一个问题是,目前的版本不能被戴普通眼镜的人使用。
其次,实现增强现实和构建移动计算接口需要开发人员投入大量的时间和精力。过去,移动设备的内存和数据处理能力明显低于今天。如AR电话系统所示,高数据处理任务可以委托给执行必要计算的外部服务器。这个问题要求开发人员为外部数据处理和通信构建一个基础设施,而这反过来又会给用户体验带来延迟。
由于这些限制,包含摄像头、高性能处理单元、高分辨率显示和上下文感知功能的智能手机已成为实现移动增强现实的潜在平台。然而,实现AR仍然是一项复杂的任务。如今,有许多AR库(如高通公司的VuForia)来缓解这一问题,但它们往往缺乏对处理虚拟对象和与虚拟对象交互以进行游戏的直接支持。这反过来又可以增加开发移动AR游戏所需的时间。
在下一节中,我们将介绍一种克服上述限制的移动AR练习游戏-卡路里战斗AR。此外,在开发过程的第二次迭代中,我们探索了Unity 3D游戏引擎与AR的结合,加快了开发速度,丰富了3D环境。
- 卡路里战斗AR开发
一、第一个原型的概念和实现
Calory Battle AR是一款基于Android的增强现实移动游戏,旨在促进儿童的身体活动,但也可供成人使用。它不同于基于控制台的练习游戏(例如一些任天堂Wii游戏),因为它基于真实世界的背景,因此通过背景探索包含了额外的动机。游戏可以很容易地部署在不同的位置,因为它不需要任何特殊的设备,除了Android智能手机和代表增强现实内容的打印图像目标。
图1第一原型博弈流的基本概念
卡罗里战役AR故事以露珠、好人、卡罗罗伊德和坏人为特色。露珠从我们的汗液中提取能量,利用这种能量,它们向我们施展咒语,使我们的身体更加健康,头脑更加敏锐。卡路里讨厌出汗,因此想阻止我们出汗,使我们变得不健康。玩家的角色是帮助露珠找到和释放卡路里炸弹,这些炸弹是由卡路里团放置在地理区域周围的。寻找炸弹有一个全球性的时间限制,所以玩家必须从一个炸弹到另一个。
图1显示了游戏流的基本概念。玩家首先使用GPS地图定位炸弹。在现实世界中找到一个图像目标后,玩家启动分析屏幕,图像目标顶部出现AR炸弹模型。然后炸弹的本地倒计时计时器从10到60秒随机开始,在此期间玩家必须解除炸弹。一个炸弹应该通过小心地按正确的顺序移除虚拟引信和multipool来拆除,multipool是另一个表示露珠的ar模型。导火线出现了不健康的食物,如比萨饼和汉堡包。玩家通过拆除炸弹和在游戏结束时的剩余时间(即当所有炸弹都被拆除或爆炸时)获得积分。游戏结束后,玩家可以将分数上传到名人堂网站,在那里他们可以与其他玩家的分数进行比较。
二、第一个原型的挑战
Calory Battle AR的第一个原型是使用Vuforia AR库创建的,但没有任何第三方渲染或游戏引擎。这个设计决策导致了与加载、处理和呈现AR内容相关的各种挑战。
当在VuForia中手动加载三维模型时,必须为其提供几个参数,例如坐标和转换、缩放和旋转的系数。这些参数会影响模型在图像目标上的显示方式。如果你想在用户与模型交互后旋转模型,这必须由程序员手工完成。因此,动态地更改动态内容充其量是乏味的。此外,没有物理引擎支持真实的游戏对象操作效果。
模型加载后,由程序员使用OpenGL库调用呈现。缺乏渲染引擎意味着也没有直接支持对模型绘制特殊效果所需的明暗器。因此,模型外观缺乏最终的艺术感,使其看起来更现实。最后,不使用场景背景-唯一的3D内容是在图像目标上绘制的游戏对象。
在Vanilla Vuforia AR库中不支持动画。为了创建动画倒计时和炸弹爆炸,程序员必须手动交换图像以产生动画效果。对于简单和重复的动画来说,这不是一个大问题,但是动态动画是不可行的。
拆弹屏幕中的唯一交互方式是使用多功能工具(或后退按钮)。添加更多的交互模式需要将它们中的每一个都编程到游戏中。碰撞检测是游戏对象交互的先决条件,通过检查两个游戏对象的边界框是否相交来手动完成。由于我们在3D游戏编程方面缺乏经验,该解决方案与加载和渲染3D内容一起,使游戏加载和渲染性能次优。
三、使用unity 3d的Calory Battle
为了解决上述挑战,我们创建了Unity 3D和Vuforia AR Extension for Unity的新版本游戏。Unity 3D是一个功能丰富、完全集成的开发引擎,为创建交互式3D内容提供开箱即用的功能。使用Unity,您可以发布到多个平台,如PC、Web、iOS、Android和Xbox[17]。完整的工具集、直观的工作空间以及Unity的即时播放测试和编辑功能使开发人员节省了时间和精力。Unity的VuForia AR扩展支持Unity中的视觉检测和跟踪功能,并允许开发人员轻松创建AR应用程序和游戏[18]。
第一个原型Calory Battle AR和新的Unity版本共享相同的基本框架,如图2所示。玩家必须找到地图所示的虚拟炸弹,并通过AR交互将其拆除。与炸弹的相互作用方式是不同的。在第一个原型中,炸弹与多功能工具一起拆除。这种交互使用两个不同的增强现实对象。然而,用户反馈的结果证实,两个物体之间的距离不清晰,需要很高的精度。统一版的游戏使用虚拟按钮提供更直观和用户友好的互动。虚拟按钮是在标记上绘制的虚拟对象,可以用手指直接按下。此外,通过在每个按钮上放置浮动食物图像,用户可以更清楚地区分按钮对象。最后,用静态室内地图代替GPS地图进行游戏演示。
图2.基于Unit
资料编号:[3186]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。