65.9K
CodeProject 正在变化。 阅读更多。
Home

RealityX - 增强/虚拟/混合现实,现在是啥?

starIconstarIconstarIconstarIconstarIcon

5.00/5 (4投票s)

2017年6月29日

CPOL

12分钟阅读

viewsIcon

7379

增强现实、虚拟现实和混合现实之间有什么区别?开发者该从何入手?

引言

我小时候读过关于虚拟现实的书……这项技术及其将我们带入前所未有的体验仙境的承诺,在那里我们可以简单地伸出手去“触摸”一个不同的世界,简直太奇妙了……我是看着《星际迷航》全息甲板长大的,我们的勇敢冒险家们会进入一个小屋子,根据指令,这个小屋子会瞬间变成一个完全不同的虚拟空间,有时甚至有一个整个世界那么大。对于一个小孩子来说,这简直将我从现实中带走,在我心里,那些惊人的冒险在电视节目结束后还在继续。快进到今天,我们有了虚拟现实、混合现实、增强现实……天哪!……那么这些之间有什么区别,开发者又该从何入手呢?

 


当我们用肉眼看东西时,我们通常会看到眼前的东西(当然,取决于我们是否喝了啤酒!)……这些其他技术的概念是,我们可以在视线中叠加其他信息,要么将人造物体与真实世界融合,要么用计算机生成的东西取代真实世界。这些技术的目的不同——有时是为了帮助我们做某事,有时真正的诀窍是让我们相信我们真的在看一个不同的世界,并且“身临其境”,沉浸在体验中。无论最终目标是什么,似乎这些不同形式的技术的每一次迭代都让我们离真正的全息甲板体验越来越近!

增强现实

增强现实是我首次真正接触这类技术。我有一个名为“找房子”的手机应用,它的概念是我可以将手机调到相机模式,举起来,指向某个特定方向,它会在屏幕/相机图像上叠加显示带有待售房屋信息的小旗子。我们现在有很多其他例子,比如你可以举起手机,查看周围区域、餐馆、报摊、取款机。这些应用程序的工作原理很简单——获取已知物体(例如商店)及其地理位置的数据库,获取用户手机的当前地理位置,然后用它查询数据库中的本地物体,最后将感兴趣物体的文本叠加到屏幕上,以显示相机视图中的内容。

 

在游戏世界中,这种技术还有许多其他应用示例,包括《精灵宝可梦Go》和《Ingress》……

 

这项技术的目的正如其名称所述,是为了增强你的现实(废话!)……这意味着它通过实时提供信息,并将其叠加到你当前的视界上,从而增强并为其增添价值。这通常通过利用移动设备上的各种移动和后端技术来实现。增强现实有很多用途,不仅限于游戏,也像我上面给出的例子一样,可以将在当前位置的实时视图/地图上叠加本地感兴趣的物体。想象一下,你降落在一个城市,想找一个安静的地方工作,然后举起手机,指向它,它就会在街道的真实实时视图上叠加显示你应该去的地方。这可以通过利用Bing或Google地图API等后端技术,根据用户的要求,为你提供即时地理位置中感兴趣的物体(咖啡馆!)的信息并进行筛选,从而相当容易地实现。虽然虚拟现实和混合现实(主要涉及头戴式设备)是非常热门和性感的科技,但智能手机设备上的增强现实对于寻求有用的利基市场的开发者来说,仍然是一个尚未开发的巨大市场。
 

虚拟现实

这些年来,我读过一些关于虚拟现实进展的故事,但我们大多数人最接近“伸手触摸”的体验是戴着3D眼镜。虚拟现实旨在提供完全沉浸式的体验,并在过去几年中以各种形式呈现。虚拟现实的最终目标是,你应该能够(至少在视觉/精神上)脱离正常的现实世界,并被传送到一个虚拟构建的另一个现实中。该领域最近的第一个重大进展似乎是由Oculus Rift推广开来的。这最初是一个众筹项目,取得了巨大成功,并最终被Facebook收购。

3D眼镜或许是老式设备,但它们让我们完善了支撑当今虚拟现实技术的概念。

 

 

3D基于这样的概念:为了让我们像平常一样看待世界,并能够判断深度和透视,我们的眼睛是分开的,因此每只眼睛看到的景象略有不同/偏移。这些图像被我们的大脑结合起来,从而赋予我们深度、透视等感觉。当我们看照片或电影时,我们是在一个平面的二维空间中看事物。为了欺骗我们的大脑,让它以为我们正在看三维空间,3D相机对一个物体拍摄两张照片,一张照片相对于另一张略微偏移(与我们的眼睛相同),并以两种不同的颜色呈现这两张图像。当我们戴上3D眼镜时,镜片的颜色起到过滤作用,我们的大脑将这两张图像组合成一张三维图像——这被称为立体视觉。

目前需要我们佩戴某种头戴式设备的虚拟现实,是基于相同的概念,尽管其技术水平要先进得多。通常情况下,3D是一种引导式观看体验,也就是说,我们通常只能看到投射在屏幕上的内容。而当与智能手机结合使用时,我们可以利用手机的X/Y/Z陀螺仪轴坐标来确定设备在空间中的位置,并自动调整所呈现的图像/视频,从而提供更沉浸式的体验,用户可以进行控制,而不必被引导。需要注意的是,您获得的体验质量取决于用于驱动VR应用的智能手机的质量。

目前,我们可以将这项技术分为两个不同的级别

低端涉及将智能手机横向旋转放在脸前,并用它显示两张图像/视频,两者之间只有非常细微的偏移。智能手机通常会插入某种头戴式设备中,以将其固定在头部。微软和谷歌都推出了可以用来试验这项技术的廉价纸板手机支架……这是一个很好的入门点!
谷歌还为手机推出了一款更先进的头戴设备,名为Daydream

 

如果您拥有 Visual Studio 2017,那么您可以使用 Xamarin 平台开始进行增强现实开发。
这是一个关于所用技术的精彩视频介绍



中/高端通常意味着更高的成本(这似乎很明显 :P),并具有更多功能。在这个范围内,设备不再需要与智能手机混用,而是拥有专用头戴设备。虽然使用智能手机进行VR的概念很棒也很方便,但我们必须记住,它首先是一部手机和互联网接入设备,因此永远不会像专门用于手头任务的设备那样好。人各不相同,他们的眼睛间距可能宽或窄,有些人可能视力比其他人更好。高端专用设备会考虑这一点,通过板载方法调整焦点和瞳距。

 

 

专用VR头显的主要缺点是,截至本文撰写之时(2017年6月),它们需要大量的计算能力,通常以一台相当强大的计算机通过HDMI和USB线连接到头显的形式。正如您所猜测的,您与PC的移动距离受到VR线缆长度的限制。对此有两种解决方案。第一种是与头显进行无线通信——这存在问题,因为主机PC和头显之间需要交换大量的视频和控制数据。第二种解决方案是拥有一个纤薄、轻便但功能强大的背包式PC,您可以随身携带。这两种方案目前都在兴起,因此看看它如何发展将会很有趣。

 

 

可以说,最著名的专用 VR 解决方案是 Oculus Rift,其他还包括 HTC Vive索尼 PlayStation VR

由功能强大的PC(或XBox或Playstation等游戏设备)支持的专用VR硬件可以提供非常沉浸式的体验。视频运动和渲染的质量可能非常出色,您真的可以看到您在这些设备上额外花的钱都用在了哪里。除了头戴设备,高端的“VR设备”通常还包括一种非常精确地跟踪用户佩戴设备时头部运动的方法。这使得用户头部和正在播放的视频之间能够进行非常精确的跟踪——这对于避免“晕动症”至关重要——在低端解决方案中很容易体验到晕动症。
 

 

早期的 VR 体验包括用户坐在办公桌前戴上头显,然后使用键盘/鼠标或游戏手柄在虚拟空间中进行交互。然而,最近我们看到了外围设备/控制器的出现,它们可以握在手中并在虚拟空间中进行跟踪,因此当我们在现实生活中移动手时,例如,我们可以在屏幕图像中看到这种反映。

 


目前的控制器使用额外的硬件,但Leap Motion生产了一种设备,可以作为配件连接到常见的头显上,无需物理控制器即可检测手部。

关于当前VR的最后一点值得注意的是,体验主要分为三类……坐着、站着和“房间尺度”。前两种情况下,您或多或少只能在办公桌附近使用设备。然而,对于房间尺度技术,您佩戴的设备通过对角放置的“信标”进行跟踪,这些信标用于跟踪您在分配空间中的X/Y/Z位置。HTC Vive就很好地利用了这种系统。
 

 

以下是一些作为开发者开始使用VR的好地方

Oculus Rift 开发者中心
HTC Vive 开发者门户
PlayStation 开发者

Unity 也是一个出色的通用游戏开发平台,也涵盖了大多数平台的 VR 开发。

最后,在我们谈论 OSVR 之前,我们不应该离开 VR 世界。这是一个开源 VR 社区,声称拥有一个“适用于不同品牌和公司技术的通用开源 VR 生态系统”。OSVR“套件”旨在对开发者友好、可破解、可插拔等。对于希望玩弄更多单一制造商提供的产品的开发者来说,这是一个有趣的选择。
 

 

混合现实

微软提出了“混合现实”这个术语,用来描述其“HoloLens”以及其他相关的头戴式设备。增强现实主要存在于(现在,商业上,抛开Google Glass不谈)移动设备上,而虚拟现实则是沉浸式且排除外部世界的,微软的观点是,混合现实超越了这些,集两者的优点于一身。HoloLens与当前的VR头戴式设备主要有两个不同之处。首先,它是独立的,不需要连接单独的计算机;其次,头戴式设备不会阻挡你对外部世界的视线,相反,它会与你所看到的环境进行交互。该设备将“全息图像”投射到你的视野中,并且能够感知周围环境。通过这种方式,你对现实的感知是“混合”的。

理解这一点的最好方法是观看视频……这是一个很好的开始

 


HoloLens 在工业/商业领域,而不仅仅是游戏领域,展现出立竿见影的效益——这尤其令人感兴趣。我个人喜欢玩电脑和 VR 游戏,但对开发它们不感兴趣。然而,我是一名商业开发者,并且可以看到许多我想为 HoloLens 开发的应用程序。这段视频展示了 HoloLens 在医疗领域的一些用途
 

毫无疑问,这些技术可能相当昂贵。如果您将高端PC与HTC Vive的成本考虑在内,它已经接近HoloLens的价格。但是,您无需拥有HoloLens才能为其进行开发。例如,开发组织可以购买一个用于测试,开发者可以安排使用它们。

HoloLens模拟器在Hyper-V上运行。它允许您与虚拟HoloLens交互,并通过键盘、控制器或鼠标模拟位置、手部跟踪等。这篇关于HoloLens的Unity博客文章很好地简要介绍了如何使用模拟器与Unity一起制作游戏以及与团队共享硬件。

HoloLens 开发者主页
HoloLens 混合现实学院在线课程
HoloLens 模拟器

 

我希望这篇文章能帮助一些人澄清这些非常有趣的技术之间有些模糊的界限。这个领域的市场发展非常迅速,如果你对此感兴趣,你应该考虑抽出一些时间,卷起袖子,开始编写代码!

历史

版本 1 - 2017/06/29

© . All rights reserved.