作者:Garret Romaine
未来的界面已经在某处的实验室中或测试屏幕上进行实验或测试,并随时等待着转化为充分开发的实例和演示。 事实上,CES 2014 宣布,英特尔® 感知计算第二阶段挑战赛中创造性用户体验类的获奖者便很好的明证。 Zhongqian Su 和一群研究生使用英特尔® 感知计算软件开发套件和 Creative Interactive Gesture Camera Kit将增强现实(AR)和一部普通的百科全书整合到 ARPedia* 中 — 增强现实与维基百科*的完美结合。 ARPedia 是一款新型的知识库,支持用户通过手势而非敲击键盘的方式来使用。
来自北京工业大学的六人团队在两个月内使用多种工具开发了这款应用。 该团队使用了 Maya* 3D创建 3D 模型,使用 Unity* 3D渲染 3D 场景和开发应用逻辑,然后使用英特尔感知计算软件开发套件 Unity 3D 插件(包含在软件开发套件中)将所有组件结合起来。 该演示结合 3D 模型和动画视频,创建了一种与虚拟世界交互的新方式。 该款应用鼓励用户通过移动身体,使用手势、语音和触摸在未知世界中进行数字开发,未来工作将会非常令人期待。
关于恐龙
借助 AR 视觉效果,ARPedia 相当于一款编写和体验故事的游戏。 随着用户逐渐习惯无缝交互式体验,许多技术开始创建交互式体验,即使这种交互式体验非常简单。 在一款 PC 游戏中,普通的鼠标和键盘或触摸屏,是与应用交互的常见方式。 但是,ARPedia 没有使用上述任何一种方式。 在一款 AR 应用中,自然用户界面非常重要。 ARPedia 用户能够通过裸手手势和面部移动来控制动作,这要归功于 Creative Senz3D* 摄像头。 许多有趣的手势能够帮助提高游戏体验,如抓、挥、点、抬和按。 这些手势让玩家成为游戏以及虚拟恐龙世界的真正控制者。
图 1:ARPedia* 结合了增强现实和基于维基的百科全书,支持用户使用手势导航界面。
组长 Zhongqian Su 曾在以前的一个任务中使用小型雷克斯霸王龙的角色创建过教学应用,因此,他让这位众所周知的恐龙作为 ARPedia 应用的主角。 玩家通过手部运动伸手抵达并摘取小型的恐龙图片,然后将其放在屏幕的各个点上。 根据恐龙所放置的位置,用户可以了解该生物的饮食、习惯和其他特征。
图 2:用户与小雷克斯霸王龙互动来学习化石、古生物学和地质学知识。
据团队成员 Liang Zhang 表示,该团队在使用该恐龙 3D 模型之前便针对教育市场编写了一款 AR 应用。 虽然,他们已经有一款应用作基础,但是还需要根据竞赛的要求做大量的调整。 例如,他们已经完成的摄像头使用了 3D 技术,因此他们需要重新编写该代码(见图 3),以便与更新的 Creative Interactive Gesture Camera Kit 相融。 这同时也意味着需要快速达到英特尔感知计算软件开发套件的性能。
bool isHandOpen(PXCMGesture.GeoNode[] data) { int n = 1; for(int i=1;i<6;i++) { if(data[i].body==PXCMGesture.GeoNode.Label.LABEL_ANY) continue; bool got = false; for(int j=0;j<i;j++) { if(data[j].body==PXCMGesture.GeoNode.Label.LABEL_ANY) continue; Vector3 dif = new Vector3(); dif.x = data[j].positionWorld.x-data[i].positionWorld.x; dif.y = data[j].positionWorld.y-data[i].positionWorld.y; dif.z = data[j].positionWorld.z-data[i].positionWorld.z; if(dif.magnitude<1e-5) got = true; } if(got) continue; n++; } return (n>2); }
图 3:ARPedia* 重新编写了其摄像头代码,以配合 Creative Interactive Gesture Camera 使用。
Zhang 表示,幸运的是,他的公司非常热衷于在学习新技术方面投入时间和精力。 他表示:“我们已经开发了许多款应用。 我们时刻关注我们公司中能够使用的新软硬件改进。 在此次竞赛前,我们使用了 Microsoft Kinect* 的自然身体交互。 当我们发现该摄像头时,我们感到非常兴奋,并希望试一试。 我们认为这次竞赛也能够为我们提供改进技术技能的机会,所以,为什么不试一试呢?”
先行的明智决策
由于竞赛的时间范围有限,该团队不得不加快采用新技术的速度。 Zhang 花费了两周的时间学习英特尔感知计算软件开发套件,然后该团队将 Zhang 能想到的交互技术尽可能多地设计进去。
同时,编剧开始编写团队能够进行编码的故事和可行场景。 他们满足并探讨这些选择,并由 Zhang 根据自己的软件开发套件知识指出优势和劣势。 他对技术细节有着充分的了解,从而能够制定明智的决策,因此,该团队放心地选择了他描述为“...最佳的故事和最有趣、最适合的交互。”
Zhang 表示,他们以前的决策中最重要的一个决策是让玩家充分参与到游戏中。 例如,在早期的孵化阶段中,玩家可以担任扮演上帝的角色,执行创建地球以及下雨、日出等操作。 玩家需要设置和学习许多手势操作。
在另一个阶段中,玩家需要抓恐龙。 Zhang 对系统进行了设置,这样用户的手中可以拿一片肉,然后恐龙能够上前把肉衔起(图 4)。 该动作可以让玩家与恐龙进行互动,并建立参与。 他表示:“我们希望让玩家一直沉浸在虚拟世界中。”
但是,向前推进这些计划需要做更多的工作。 该演示包括许多新的手势需要用户学习。 Zhang 表示:“当我与 CES 上在英特尔展台上玩这款游戏的人交谈时,发现他们不太清楚如何玩这款游戏,因为每个阶段都有各种等级的手势。 我们发现它们不像我们原来设想的那么直观,这让我们决定,当我们加入新的交互式方法时,该设计必须更加直观。 我们进行下一个项目时,肯定会将其牢记于心。”
ARPedia 团队介绍了两种主要手势。 一种是“双手打开”,另一种是“单手打开,手指伸开。” 双手打开手势,可用来打开应用,是一种简单直接的编码方式。 但是,编写第二种手势需要更多工作。
图 5:该团队努力确保该摄像头不会将手腕检测为手掌上的一点。
Zhang 解释道:“最初“打开手”的姿势并不太准确。 有时,手腕会被检测为手掌上的一点, 拳头会被检测为一根手指,然后系统将会把其识别为“打开”,这是错误的。 因此,我们设计了一种新的打开手的姿势,在这种姿势中,至少伸出两根手指才会识别为打开手。 然后,他们在屏幕上添加了文本提示,引导用户了解附件(图 5)。
英特尔® 感知计算软件开发套件
ARPedia 团队使用了 2013 版英特尔感知计算开发套件,并特别指出摄像头校准、应用调试和语音识别支持、面部分析、近距离深度跟踪和 AR 的出色易用性。 它支持多个感知计算应用共享输入设备,并可在 RGB 和深度摄像头打开时提供一个隐私通知来通知用户。 软件开发套件能够帮助用户轻松添加更多使用模式,添加新的输入硬件,支持新的游戏引擎和定制算法,并支持新的编程语言。
该实用程序包括 PXCUPipeline(C) 和 UtilPipeline(C++) 等 C/C++ 组件。 这些组件主要用于设置和管理管线会话。 框架和会话端口包括适用于 Unity 3D、处理、其他框架和游戏引擎的端口,以及适用于 C# and Java* 等编程语言的端口。 软件开发套件接口包括核心框架 API、I/O 分类和算法。 感知计算应用可通过三种主要功能块与软件开发套件进行交互。
Zhang 表示:“英特尔[感知计算]软件开发套件非常有帮助。 我们在开发这款应用的时候没有遇到任何问题。 我们能够在非常短的时间内完成大量的工作。”
英特尔® RealSense™ 技术
全球的开发人员都在学习英特尔® RealSense™ 技术。 英特尔在 CES 2014 上宣布,英特尔 RealSense 技术是以前的 英特尔® 感知计算技术的新名称和品牌。 该直观新用户界面采用英特尔在 2013 年推向市场的手势和语音等功能。 借助英特尔 RealSense 技术,用户将会获得其他的新功能,包括扫描、修改、打印和以 3D 形式共享,以及 AR 接口中的主要优势。 借助这些新功能,用户可以在游戏和应用中使用高级手、指感应技术,自然地操作和播放扫描的 3D 对象。
Zhang 现在能够直接看到其他开发人员如何使用 AR 技术操作。 在 CES 2014 上,他了解了来自全球的演示。 虽然每个演示都是独一无二的,并希望达到不同的目标,但是他仍然从中发现了快速发展 3D 摄像头技术所带来的优势。 “在软件开发套件中包含手势检测非常有帮助。 人们仍然能够以不同的方式使用摄像头,但是软件开发套件已经为他们提供了广泛的基础。 我建议开发人员使用该技术开发自己的项目,并寻找功能充分地开发其理念。”
借助高级手—指追踪,开发人员可支持其用户使用复杂的 3D 操作以更高的精度、更简单的命令来控制设备。 借助自然语言语音技术和精确的面部识别,设备能够更好地了解其用户的需求。
深度感应可带来更逼真的游戏体验,准确的手-指追踪可为任何虚拟冒险带来更卓越的追踪。 游戏将变得更加逼真和有趣。 借助 AR 技术和手指感应技术,开发人员将能够吧真实世界和虚拟世界融为一体。
Zhang 相信即将推出的英特尔 RealSense 3D 摄像头将会非常适合他所熟悉的应用场景。 他表示:“据我所知,它将更加出色 — 更准确、具备更多功能、更直观。 我们非常期待这款产品。 此外,它还会加入 3D 面部追踪和其他的出色特性。 它是首款面向笔记本电脑,并用作动作感应设备的 3D 摄像头,但是它不同于 Kinect。 此外,它还能够提供与内部 3D 摄像头一样的功能。 我认为,新的英特尔摄像头是支持制造商向笔记本电脑和平板电脑集成的更出色的设备。 此外,作为一款微型用户接口设备,它还具备很好的便携性优势。 借助该款摄像头,将来我们肯定能够开发出许多出色的项目。”
Maya 3D
ARPedia 团队使用 Maya 3D 模拟软件继续开发其知名的小型、逼真的模型 — 小雷克斯霸王龙。 构建合适的模型(包括逼真的动作和精细的色彩),应用的其他部分便水到渠成。
Maya 是创建 3D 计算机动画、建模、模拟、渲染等的黄金标准。 它是一款高可扩展的产品平台,可支持下一代显示技术,加开建模工作流程的速度和处理复杂数据。 该团队尚未使用过 3D 软件,但是他们使用过 Maya,并能够轻松地更新并与其现有的图形相集成。 Zhang 表示,其团队又额外花费时间进行了图形的开发。 他表示:“我们花费了将近一个月的时间设计和修改图形,以便让一切更完美和提高交互方式。”
Unity 3D
该团队选择 Unity 引擎作为其应用的基础。 Unity 是一款强大的渲染引擎,可用于创建交互式 3D 和 2D 内容。 Unity 工具集既是一款应用构建程序,也是一款应用开发工具,其特点是直观、易于使用且支持多平台开发。 无论对于初用者还是已经使用过该产品的用户,它都是开发仿真、休闲和大型游戏以及面向 web、移动或控制台的应用的理想解决方案。
Zhang 表示,我们毫不犹豫地选择了 Unity。 他表示:“我们开发所有的 AR 应用都是使用 Unity,包括这一款。 我们了解这款工具,并且相信它能够做到我们需要的一切事情。” 他能够将网格作为专有 3D 应用文件快速、轻松地从 Maya 导入,既节省时间又节省精力。
今天的信息,明天的游戏
ARPedia 为未来的工作提供了许多有意义的角度。 对于刚起步的团队而言,该团队认为游戏和其他应用中拥有巨大的机遇,你可以借鉴其在英特尔感知计算挑战赛中的成果。 Zhang 表示:“我们与许多感兴趣的组织进行过交谈。 他们也希望我们进一步对这一版本进行完善。 希望我们能够在市场上找到一席之地。 我们将会向游戏中加入更多的恐龙,并引进有关这些恐龙的所有知识来吸引更多用户。 它是一个有趣的环境,我们将围绕其设计更多有趣的交互。”
“此外,我们还准备设计一款宠物游戏,在这款游戏中,用户可以喂养自己的虚拟恐龙。 他们可以拥有自己的特定收集,还可以拿来向彼此展示。 我们还将把它设计成一款网络游戏。 我们准备在新版本中加入更多场景。”
该团队的胜出让大家非常惊讶,因为他们并不熟悉全球范围内其他开发团队的工作。 Zhang 表示“我们不了解其他人的工作。 我们只着眼自己的事情,没有太多机会了解其他人在做什么。” 现在,他们已经知道了自己的局限,并做好充分的准备迎接下一步挑战。 “此次竞赛为我们提供了证明自己的动力,以及与其他开发人员比较和交流的机会。 我们非常感谢英特尔为我们提供的这次机会。 现在,我们更加了解全球范围内的主要技术,并且在未来开发增强现实应用时将会更有信心。”
资源
英特尔® 开发人员专区
英特尔® 感知计算挑战赛
英特尔® RealSense™ 技术
英特尔® 感知计算软件开发套件
查看感知计算文档中的兼容性指南,确保您现有的应用能够使用英特尔® RealSense™ 3D 摄像头。
英特尔® 感知计算软件开发套件 2013 R7 版本注释。
Maya* 软件概述
Unity*