利用Unity3D为移动增强现实游戏的开发提供便利

 2022-01-11 09:01

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料


利用Unity3D为移动增强现实游戏的开发提供便利 Sung Lae Kim, Hae Jung Suk, JeongHwa Kang, Jun Mo Jung 数字媒体系 韩国亚洲大学 水原,韩国 {sunglaess, dbdip, kjhca0818, speedfinger}@ajou.ac.kr Teemu H. Laine, JoonasWestlin 信息和计算机工程系 韩国亚洲大学 水原,韩国 {tlaine, jwestlin}@ajou.ac.kr 摘 要 移动增强现实(Mobile AR)使得虚拟内容(如3D模型、动画和注释)能够放置在任何真实世界环境中的对象之上。使用移动AR来开发卡路里战斗AR(Calory Battle AR)运动游戏来解决世界范围内的儿童肥胖问题。在这个游戏中,玩家在真实的世界环境中发现并拆除虚拟炸弹。具体来说,本文介绍了两个版本的游戏的开发情况。第一个原型是在没有第三方游戏引擎的情况下创建的,它带来了许多挑战。为了探索这些挑战的解决方案,我们使用Unity3D游戏引擎创建了一个新版本的游戏。使用Unity3D,简化了游戏开发过程。对儿童和大学生进行的混合方法可用性评估表明,在使用unity3D的版本中,与AR内容的交互和用户界面清晰度都得到了改善。本研究产生了三个重要贡献:1)一种新颖的激励儿童运动的移动AR游戏;2)使用Unity3D重建游戏;3)对两个游戏版本进行可用性评价。我们期望像unity3D这样的游戏引擎将成为未来AR游戏发展的关键。 关键词:锻炼;移动游戏;游戏引擎;增强现实;适用性 一.导言 今天,普适技术发展迅速,并广泛传播。因此,许多发达国家的公民用上了让打电话成为次要功能的智能手机。智能手机平台,如iOS和Android,不仅提供高度复杂的计算和环境感知基础设施,而且还开放市场,其中包含各种应用程序和服务,让用户从中受益。随着智能手机的普及,人类与环境通过普适技术进行的交互越来越受到人们的关注。增强现实(AR)是丰富这种互动的手段之一,其中虚拟内容被放置在真实世界的摄像机视图之上。AR可以提供额外的辅助信息,并使虚拟内容具有更真实的交互体验。在撰写本文的时候,智能手机上有数以百计的AR应用程序,如果不是数以千计的话。在旅游[1]、购物[2]、教育[3]和娱乐[4]等领域对增强现实进行了大量的研究。早期的AR应用要求用户携带一台计算机和一个头部显示器,但在本研究中,我们将重点放在通过智能手机等设备来实现的移动增强现实(移动AR)上。移动AR使得用户能够收集、管理和利用更多的信息,并根据用户的环境提供AR增强的服务。 英国、韩国和新西兰等发达国家面临的重大挑战之一是,所有年龄组的肥胖率都在上升,而体育活动率则一直在下降[5-7]。据世界卫生组织统计,自1980年以来,全世界的肥胖率几乎翻了一番,2011年超过4000万5岁以下儿童超重[8]。为了应对这一挑战,我们已经开始利用智能手机和移动AR的力量来为儿童和年轻人开发运动游戏,目的是让运动变得更有趣。运动游戏是一种为玩家提供体育锻炼的电子游戏。可以通过很多种方式参与,如任天堂Wii,微软Xbox Kinect,索尼PlayStation EyeToy等。在本文中,我们将重点研究移动端运动游戏,如GeoBoids[9], Walk2Build[10], SmartRabbit[11]。 在本文中,将介绍在开发卡路里战斗AR(Calory Battle AR)游戏的过程中的经验和面临的挑战。具体来说,介绍了两款游戏的开发:一款没有现有的3D游戏引擎,另一款使用unity3D游戏引擎。第二个原型是由大学生在动画制作课程上创建的,以缓解开发第一个原型所遇到的挑战。本文还分析了以往对AR系统的研究,并对两个版本的AR游戏进行了可用性研究,并讨论了研究结果。 二.背景 A.增强现实系统 在早期的增强现实系统中,用户携带一台计算机和/或某种形式的头戴显示器。MARS, Studierstube, AR Quake, AR Pacman都是这种早期AR系统的例子。MARS(移动增强现实系统)[12]由一台具有三维图形加速、GPS、直视型头戴显示器、无线局域网和其他组件的计算机组成。Studierstube[13]是一种可穿戴的增强现实系统,它可以让用户通过笔和垫与增强对象进行交互,用户在其背部配备笔记本电脑、带视频输出设备的头盔和网络摄像头,并使用笔和垫,笔和垫通过标记和摄像头进行光学跟踪。ARQuake[14]和ARPacman[4]是使用增强现实技术的游戏的例子。具体来说,这些是增强现实分别适应流行的Quakefps和pacman街机游戏。这两款游戏都使用可穿戴的电脑进行数据处理,并要求通过头戴式显示器向用户显示信息。 AR Phone、Mobiar和Geoboids是基于手持设备而不是可穿戴计算机和头戴式显示器的移动AR的例子。因此,用户不必携带提高移动性的特殊硬件。Ar Phone[15]是在智能环境中使用处理能力有限的移动电话来提供增强现实接口的研究。在AR电话系统中,图像处理等高处理任务是在AR服务器上执行的,而电话只执行查看者的角色。MobiAR[16]是为游客提供增强现实的旅游信息的Android应用程序。当用户通过MobiAR观察现实世界时,视图中会增加他们所在位置的信息。有了多媒体内容,用户可以访问有用的信息,规划他们在城市中的路线。GeoBoids[9]是一种在智能手机上使用AR的运动游戏。游戏提供了野外和街机模式,玩家必须在户外真实世界环境中搜索和捕捉虚拟的GeoBoids生物。玩家和增强现实对象之间的交互很简单,只需在智能手机屏幕上触摸或滑动即可。据我们所知,GeoBoids和Calory Battle AR是用移动AR的运动游戏的唯一研究成果。 B.AR开发和使用方面的挑战 过去的增强现实系统受到移动技术和IT基础设施的限制。这些限制使开发人员和用户经历了如下所述的几个挑战。 首先,使用特殊的AR硬件如HMD(头戴式显示器)等存在一些问题。HMD干扰视觉,可能给使用者带来不便。此外,如果HMD分辨率较低,则很难识别出与真实世界不同的增广对象和视觉失真。此外,特殊硬件比智能手机等普通设备更难访问。AR专用硬件的最新例子是谷歌眼镜,这是一台装有光学头戴显示器的计算机。虽然谷歌眼镜的技术非常先进,而且设计也非常先进,但对于普通用户来说,它的价格却太高了。谷歌眼镜的另一个问题是,现在的版本不能被戴普通眼镜的人使用。 其次,实现增强现实和构建移动计算接口需要开发人员花费大量的时间和精力。过去,移动设备的内存和数据处理能力明显低于今天。如AR电话系统所示,高数据处理任务可以委托给执行必要计算的外部服务器。这个问题要求开发人员为外部数据处理和通信构建基础设施,这反过来又会使用户体验延迟。 由于这些限制,包含摄像头、高性能处理单元、高分辨率显示和环境感知能力的智能手机已经成为实现移动增强现实的潜在平台。然而,实现AR仍然是一项复杂的任务。现在有很多AR库来缓解这个问题,比如高通的Vuforia,但它们通常缺乏直接支持以游戏为目的的虚拟对象的处理和交互。这反过来又会增加手机增强现实游戏开发所需的时间。 在下一节中,将介绍一款克服上述限制的移动AR运动游戏Calory Battle AR。此外,在开发过程的第二次迭代中,探索了Unity 3D游戏引擎与AR的结合,以加快开发速度,丰富3D环境。 三.卡路里大战AR开发 A.第一个原型的概念和实施 卡路里大战(Calory Battle AR)是一款基于Android的增强现实移动游戏,旨在促进儿童的体育活动,但也可以为成年人所喜爱。它不同于基于控制台的游戏(例如一些任天堂Wii的游戏),因为它是基于真实世界的环境,因此通过包含了额外的探索环境的动机。该游戏可以很容易地部署在不同的位置,因为它不需要任何特殊的设备,除了Android智能手机和打印的图像目标代表增强现实内容。 图1.第一个原型的基本游戏流程 卡路里大战(Calory Battle AR)的故事特征是迪欧斯人(the Dews)是正派角色,卡乐门人(the Caloroids)是反派角色。迪欧斯从我们的汗水中提取能量,用这种能量向我们施展法术,使身体更健康,精神更健康。卡乐门人讨厌汗水,因此想要阻止我们,使我们变得不健康。玩家的作用是通过寻找和拆除在地理区域附近的炸弹来帮助迪欧斯人。找到炸弹有一个全球性的时限,所以玩家必须从一个炸弹的位置走到另一个炸弹的位置。 图1显示了游戏流的基本概念。玩家首先用GPS地图定位炸弹。在现实世界中发现图像目标后,玩家启动分析屏幕,在图像目标顶部出现AR炸弹模型。然后炸弹的本地定时器在10-60秒内随机启动,在此期间,玩家必须对炸弹进行重击。一个炸弹应通过小心拆除虚拟熔丝,用一个代表露水的另一AR刀具模型,对虚拟熔丝进行正确的拆卸。保险丝看起来像不健康的食物,如披萨和汉堡包。玩家通过拆除炸弹以及在游戏结束后的剩余时间(即当所有炸弹被拆除或爆炸时)赚取点数。在完成游戏后,玩家可以将分数上传到名人堂网站,与其他玩家的分数进行比较。 B.第一个原型中的挑战 卡洛里战斗AR的第一个原型是使用Vuforia AR库创建的,但没有任何第三方渲染或游戏引擎。这个设计决定引起了与加载、处理和呈现AR内容相关的各种挑战。 当在Vuforia中手动加载3D模型时,必须给出几个参数,例如坐标和平移、缩放和旋转的参数。这些参数影响模型在图像目标上的显示方式。如果想在用户与模型交互之后旋转模型,则必须由程序员手动完成。因此,使得内容即时动态变化是单调乏味的。此外,没有物理引擎支持现实的游戏对象操作效果。 在加载模型之后,由程序员使用OpenGL库调用呈现模型。缺乏渲染引擎意味着也没有直接支持的着色器,这是在模型上绘制特殊效果所必需的。因此,模特的外表缺少最后的艺术感让它看起来更真实。最后,场景背景没有被使用-唯一的3D内容是在图像目标上画的游戏对象。 在AR库中没有对转码的支持。要创建动画定时器和炸弹爆炸,程序员必须手动交换图像,以造成动画效果。对于简单重复的再加工来说,这并不是一个大问题,但是动态的再加工是不可行的。 拆弹的唯一办法就是使用多功能工具(或后退按钮)添加更多的交互模式需要将它们分别编程到游戏中。碰撞检测是游戏对象交互的先决条件,它是通过检查两个游戏对象的边界框是否相交来手动完成的。由于我们缺乏3D游戏编程经验,这种解决方案加上3D内容的加载和渲染,使得游戏的加载和渲染性能不是最优的。 C.使用Unity3D的卡路里大战AR 为了解决上述挑战,通过Unity 3D和Vuforia AR ExtensionforUnity创造了一个新版本的游戏。Unity 3D是一个功能丰富、完全集成的开发引擎,它为创建交互式3D内容提供了开箱即用的功能。使用Unity,你可以发布到多个平台,如PC, Web, iOS, Android和Xbox[17]。完整的工具集,直观的工作空间和实时播放测试和编辑功能,使开发人员节省时间和精力。针对Unity的Vuforia AR扩展允许在Unity中实现视觉检测和跟踪功能,并允许开发人员轻松创建AR应用程序和游戏。 第一个原型卡路里大战AR和新的unity版本共享相同的基本框架,如图2所示。玩家必须找到由地图指示的虚拟炸弹,并通过AR交互对它们进行调整。与炸弹交互的方式是不同的。在第一个原型中,炸弹是用多功能工具拆除的。这种交互使用两个不同的增强现实对象。然而,用户反馈证实了两个对象之间的距离不清楚,对精度要求很高。unity版的游戏使用虚拟按钮提供更直观和更用户友好的交互。虚拟按钮是在标记上绘制的虚拟对象,它可以通过手指直接按下。此外,通过在每个按钮上放置浮动食物图像,用户可以更清楚地区分按钮对象。最后,用静态室内地图代替GPS地图来演示游戏。 图2.使用unity的游戏基本流程 使用Unity 3D实现了一些视觉上的改进。通过使用Unity内置的着色器,增强对象的图形化表达变得更加精确。因此,增强的3D模型外观看起来更真实,图形修改速度更加快,具有实时播放测试和编辑功能。也可以通过Unity内置的物理引擎来表达更加真实的操作效果。虽然在这个游戏中没有实现动画,但可以创建动画炸弹爆炸或其他效果。 Unity 3D为开发工作增加了一些价值。Unity完整的工具集特性使得编写代码更加直观。开发人员可以直观地看到编程代码和游戏对象之间的关系。 开发人员也不必仅仅通过代码来假设和调整值,而且可以立即检查对象对属性更改的反应。另外,编程部分和图形部分之间的沟通是顺畅的,因为unity增强了两者之间的联系。Unity的这些特性大大加快了游戏开发的进程。Unity 3D还支持各种格式,如.max, .mb, .fbx, .obj,从而允许与其他程序和系统进行详细的互

全文共12315字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[1682]
原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。