hololens 坐标系统 spatial coordinate systems

坐标系统

 

混合现实的应用,会将holograms(全息图)放置在你的世界中,让他们看起来和听起来像是真实的物体,这是坐标系统的核心功能。这包含了对于用户有意义的,精确位置和朝向,无论所在的世界是物理世界还是你创建的虚拟区域。在确定你的holograms位置和朝向,或者其他的几何位置信息如射线或手的位置时,Windows会提供各种各样的真实世界坐标系统,来表示这些几何信息,我们称之为“spatial coordinate systems(空间坐标系统)

 

1、设备支持

特性

Hololens

Immersive headsets

Stationary frame of reference(固定参照系)

支持

支持

Attached frame of reference(动态参照系)

支持

支持

Stage frame of reference(场地参照系)

尚未支持

支持

Spatial anchors(空间锚点)

支持

支持

Spatial mapping(空间映射)

支持

 

 

2、混合现实体验的不同级别

混合现实应用能够设计出不同级别的用户体验,从360度视频播放器只需要头显朝向,到需要空间映射和空间锚点的完整世界级别应用和游戏:

体验级别

要求

例子

Orientation-only(仅朝向)

头显朝向(根据重力)

360度视频播放器

Seated-scale(坐姿级别)

同上,加上头显与0点的位置

Elite: Dangerous

Standing-scale(站立级别)

同上,加上场景地面原点

Obduction

Room-scale(房间级别,小范围移动)

同上,加上场景边界多边形扫描

Fantastic Contraption

World-scale(世界范围)

空间锚点(和代表性的空间映射)

RoboRaid

这些体验级别遵循nesting dolls(嵌套玩具)模型。Windows混合现实的一个关键设计原则是,一个支持特定高级别体验应用的头显,也支持较低级别:

6DOF tracking

Floor defined

360째 tracking

Bounds defined

Spatial anchors

Max experience

No

-

-

-

-

Orientation-only

Yes

No

-

-

-

Seated

Yes

Yes

No

-

-

Standing - Forward

Yes

Yes

Yes

No

-

Standing - 360째

Yes

Yes

Yes

Yes

No

Room

Yes

Yes

Yes

Yes

Yes

World

需要注意,hololens目前还不支持场地参照系。一个房间级别的hololens应用目前需要使用空间映射来确认用户的地板和墙壁位置。

 

3、spatial coordinate systems)空间坐标系统

所有的3D图形应用都使用“笛卡尔坐标系”来确定它们渲染在虚拟世界中物体的位置和朝向。这样的坐标系统建立3个相互垂直的坐标轴X,YZ来确定物体位置。

在混合现实中,你的应用将同时确定虚拟和物理坐标系统。Windows将在物理世界有实际意义的坐标系统,称为空间坐标系统。

空间坐标系统的单位是米。这意味着,在X,YZ轴上相距2单位的物体,在混合现实中是相距2米。这让你可以轻易地根据真实世界尺寸渲染物体和环境。

通常来说,笛卡尔坐标系有左手与右手两种。Windows的空间坐标系总是右手坐标系,也就是说X轴正方向向右,Y轴正方向向上(根据重力确定)而Z轴正方向指向你自己。

在这两种坐标系中,X,Y的方向是相同的。不同的是Z轴正方向是指向你还是远离你。请记住,摊开你的左手或右手,手指指向X轴正方向,再向Y轴的正方向弯曲,作竖大拇指状,大拇指的朝向就是对应坐标系下Z轴的正方向。

 

4、创建一个orientation-onlyseated-scale的体验

全息影像渲染的关键是,当用户四处移动时,根据预测的头部运动,改变应用对全息影像的视角。使用固定参照系,你可以创建一个识别用户头部位置和朝向的seated-scale体验。

有些内容必须忽略头部位置变化,并时刻保持固定在一个选择的朝向和距离。最主要的例子就是360度视频:因为视频是在一个单独的固定视角拍摄的,视窗的位置根据内容移动会破坏观影,而视窗的朝向要跟着用户四处观看而转动。使用动态参照系,你可以创建一个orientation-only体验。

4.1、固定参照系

固定参照系提供的坐标系统,会保持用户附近物体根据世界得到的位置,反映出用户头部位置的变化。

对于seated-scale体验,在如UNITY的游戏引擎中,固定参照系定义了引擎的“世界原点”。

位于特定世界坐标的物体,使用固定参照系来定义它们在真实世界中相同坐标。即使用户四处走动,这些内容也固定在世界中,称之为world-locked内容

应用会启动时创建一个固定参照系,并在整个生命周期中使用它的坐标系。作为UNITY的应用开发者,你可以根据用户的起始位置和朝向确定原点,来放置你的内容。如果用户移动到新的位置并想继续他们的seated-scale体验,你能够根据新的位置重新定位世界原点。

应用运行一段时间后,系统会识别到更多用户周围环境的信息,会修正真实世界中的两个点的距离为更长或更短。如果hololens中的应用使用固定参照系来渲染全息影像,而用户在5米的范围内移动,你可能会观察到全息影像观察位置的漂移。所以如果你的应用需要用户在超过5米范围移动,你可以创建一个world-scale体验,这会要求额外的技术来保持全息影像稳定,详见下文。

4.2、动态参照系

动态参照系会跟着用户移动,它会在参照系刚创建时确定一个固定的朝向。这使得用户在观看参照第下确定位置的内容时很舒服。根据用户确定渲染的内容我们称为body-locked内容。

当头显无法确定它在世界中的位置时,动态参照系提供了唯一的坐标系统来渲染全息影像。当设备无法找到它在世界中位置时,我们推荐显示相关的UI来提示用户。Seated-scale或更高级别的应用,必须有orientation-only的备案来帮助用户在应用中进行下去,可以使用类似于Mixed Readity homeUI

 

5、创建一个standing-scaleroom-scale体验

Immersive headset上提供比seated-scale更高的体验时,你可以使用场地参照系。

为了提供room-scale体验,让用户能够在他们预先设定的5米范围边界内移动,你也可以通过确认场地边界

5.1、场地参照系

用户在第一次设置immersive headset时,会设置一片场地,它代表了他们体验混合现实的房间。场地最小限度地定义了场地原点,用户选择地板的某个位置和他们使用设备时的朝向。在这个场地坐标系下,将内容放置在Y=0的地板平面上,你可以确保你的全息影像在用户站立时显示得很自然,这就是standing-scale体验。

5.2、场地边界

用户也可以选择定义场地边界,这指的是房间中的一块移除掉家具,用来在混合现实中移动的区域。这样的话,我们可以创建一个room-scale体验,使用边界来确保全息影像在用户可及的范围内。

因为场地参照系使用单一固定坐标系来显示依赖于地板的内容,它很容易用来移植VR头显上的standing-scaleroom-scale体验。但是,在这些VR平台上,单一坐标系只能在5米直径内显示稳定内容,超出则容易因为放大效应在系统调整看到可见的漂移。为了移动超过5米,我们需要空间锚点。

 

6、创建一个world-scale体验

Hololens允许用户移动超过5米,这是真正的world-scale体验。创建一个world-scale的应用,要使用比room-scale体验更多的技术。

6.1什么一个单一精确坐标系在超过5米时使用

现今在游戏、数据可视化或VR应用中,传统的做法是建立一个固定的绝对世界坐标系,所有的坐标都准确地映射到。在这种环境下,世界中的两个物体总是能找到一个稳定的变换关系。如果你不移动物体,它们之间的变换关系会保持不变。这种全局坐标系统在提前知道所有几何信息的纯虚拟世界中可以很好地动作。Room-scale VR应用就是采用这种经典做法。

相对的,像hololens的无约束混合现实设备,使用动态的传感驱动来感知世界,用户在大楼的楼层漫游时,它会持续地修正它的数据。在world-scale体验里,如果你根据单一精确坐标系来显示全息影像,这些内容会总是漂移,无论是他们与世界之间还是彼此之间。

例如,头显一开始认为两个点之间距离4米,一段时间后修正为3.9米。如果全息影像初始将两点根据单一精确坐标系设定为4米远,这时其中一个会在真实世界中移动0.1米。

6.2 间锚点

Windows混合现实允许你创建空间锚点来解决问题,也就是世界中有有全息影像的重要点。一个空间锚点代表了世界中一个必须时间追踪的重要点。当设备获得更多空间数据时,空间锚点在需要时会根据另一个锚点来调整位置,以保证每一个锚点保持在真实世界中精确的位置。通过在用户显示全息影像的位置设置空间锚点,并根据锚点确定影像位置,你可以保证全息影像有最佳的稳定性,即使用户漫游了几十米。

空间锚点会持续地根据其他的锚点调整,这是它与固定参照系的关键不同:

根据固定参照系显示的全息影像,会跟其他的保持严格的位置关系。但是当用户移动长距离后,该参照系的坐标系统可能会漂移来保证用户附近的全息影像显示稳定。

根据场地参照系显示的全息影像,也会跟其他的保持严格的位置关系。相比于固定参照系,场地参照系总是保持与设定的物理原点固定。但是,场地坐标系下渲染的内容,在用户在边界内时,只会渲染5米范围内的。

根据空间锚点显示的全息影像,可能会根据另一个空间锚点产生漂移。这使得Windows能提升它对各个锚点位置的认识,即使是在一个锚点需要向左移动,另一个需要向右移动的情况。

相比于固定参照系总是优化用户附近的稳定性,场地参照系和空间锚点保证它们原点附近的稳定性。这有利于全息影像在运行过程中保持在准确的位置,但也意味着越远离原点的影像会受到越大的放大效应影响。这是因为场地或锚点上微小的调整会依据与原点的距离等比例放大。一个好的准则是,保证你根据空间锚点渲染的所有物体在原点的3米内。对于附近的场地原点,渲染远处的内容是没问题的,因为在用户的视角里,任何位置错误只会在很小局部里漂移很小的位置。

 

6.3 间锚点的持续化

空间锚点也可以让你的应用记住一个重要的点,即使是你的应用挂起或设备关闭。

你可以把你的应用创建的空间锚点保存在硬盘中,并在下一次中加载进来,它们保存在你应用的spatial anchor store”。保存和加载锚点时,你需要提供一个对你应用有意义的关键词,用于唯一标识锚点。可以把这些关键词理解为锚点的文件名。如果你想把其他的数据和锚点联系起来,例如用户放置在该位置的3D模型,把这些数据保存在你应用的本地存储并把它和你的关键词关联起来。

通过将锚点保存起来持续化,你的用户可以放置单独的全息影像或在周围设置工作空间,将全息影像放置在各处,并在后续的使用中找到它们。

 

6.4 间锚点的分享

你的应用可以和其他的设备分享你的锚点。通过从一个hololens到另一个传输一个空间锚点以及与它相关的环境识别和传感数据,两个设备能识别到同一个位置。使用分享的空间锚点渲染的同一全息影像,两边的用户会看到全息影像在真实世界的同一位置。

 

7、避免head-locked内容

我们强烈建议避免渲染head-locked这种固定在视野某个位置的内容(像一个显示器那样),通常来说head-locked内容对用户很不舒服,而且不像是他们世界里的一部分。

Head-locked内容通常应该和与用户相关或世界相关的全息影像一起显示。例如,指针通常应该放置到世界中,=自然地缩放来反应用户目光注射物体的位置和距离。

 

8、处理位置追踪的错误

在一些如走廊的昏暗环境中,头显可能不能正确地利用inside-out追踪定位它在世界中的位置。在遇到错误时,可能会导致全息影像无法显示或显示在错误位置。现在我们来讨论问题发生的条件,对用户体验的影响和处理问题的建议。

8.1 头显因为传感数据不足而无法追踪

有时头显的传感器会无法确认头显的位置。房间昏暗时,或者传感器被头发或手遮盖时,或者环境纹理的表面不足以感知时,会发生这种问题。

问题发生时,头显无法得到足够精确的位置来渲染world-locked全息影像。你会无法确认空间锚点、依赖于设备的固定参照系,但你仍旧可以用动态参照系来渲染body-locked内容。你的应用应该告诉用户怎么重新获得位置追踪,通过显示一些预备的body-locked内容来提示用户,例如不要遮盖传感器或打开更多的灯。

8.2 因为环境的变化,头显追踪错误

有时,当你在一个经过大量变化(例如家具移动,分隔的帘子)的环境中使用头显时,有些全息影像可以会漂移。早先渲染的影像可能会在用户在新的空间中移动时大幅跳动。这是因为系统对你环境的认识不适用,同时它试图重新调整房间的特征来重新识别环境。在这种情况下,我们建议让用户遇到显示不符合预期时,重新放置他们固定在世界中的全息影像。

8.3 因为环境中相同的空间,头显追踪错误

有时,一间房子或其他地方可能会有两片相同的区域。例如两个相同的会议室,两个相同的角落,两张相同而占据整个设备视野的海报。在这种情况下,设备有时可能会混淆相同的两部分,把他们认为是相同的东西。这可能会导致某个地方的全息影像显示在另一个位置。如果环境的内部特征被破坏了,设备可能会经常性地丢失追踪。这种情况下,我们建议重置系统对环境的识别。请注意,重置会导致全部空间锚点位置的丢失。重置后设备在新的环境中会追踪得很好,但是,如果设备再次遇到相同的区域时,问题可能会再次发生。

 

9、相关

· GDC 2017 presentation on spatial coordinate systems and holographic rendering

· Coordinate systems in Unity

· Coordinate systems in DirectX

· Spatial anchors

· Shared experiences in mixed reality

· Case study - Looking through holes in your reality

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 时空信息系是利用本体论方法的一种方法。时空信息系是一种用于组织和管理地理和时态数据的系。它能够整合来自不同空间和时间尺度上的数据,并提供一种对这些数据进行跨维度分析和建模的方法。本体是一种描述和组织知识的形式化方法,可以用于建立一个一的数据模型,使研究者能够更好地理解和利用时空数据。 时空信息系的本体方法利用本体语言和本体库来描述和组织时空数据。本体语言是一种形式化的语言,用于描述实体之间的概念和关系。本体库是存储本体的集合,其中包含了与时空相关的概念和关系。 利用本体方法,时空信息系可以实现以下功能: 1. 知识表示和共享:本体提供了一种通用的、精确的语言来描述时空概念和关系,可以帮助不同领域的研究者共享和交流知识。 2. 数据整合和互操作性:时空信息系可以整合来自不同空间和时间尺度上的数据,使其能够在一个一的框架中进行分析和建模。 3. 知识推理和推断:利用本体的推理机制,时空信息系可以对时空数据进行推理和推断,帮助研究者发现数据之间的关联和规律。 4. 数据可视化和展示:时空信息系可以将时空数据以可视化的方式展示,帮助研究者更好地理解和解释数据。 综上所述,时空信息系的本体方法利用本体语言和本体库来描述和组织时空数据,能够提供一种一的数据模型,帮助研究者整合、分析和建模时空数据,并可以进行知识表示、共享、推理和推断,以及数据可视化和展示。 ### 回答2: 时空信息系是一种以本体论方法为基础的空间时间信息管理系。本体论是一种哲学和计算机科学的理论,它研究实体之间的关系以及这些关系如何映射到信息系中。 在时空信息系中,我们可以利用本体论方法来定义和描述物体、时间和空间之间的关系。通过使用本体论,我们可以建立一个一的框架,以进行空间和时间数据的管理和分析。 本体论方法提供了一种共享概念和术语的方式,使得不同的用户和系可以在同一平台上共享和交流时空信息。它通过建立一个规范化的概念网络,使得用户可以更好地理解和利用时空数据。 时空信息系的本体论方法还可以提供更强大的查询和分析功能。通过将时空信息与本体论结构相连,我们可以实现更高级别的语义查询和推理。例如,我们可以查询某一地点、某一时间段内的物体,并进行复杂的空间分析。 此外,时空信息系的本体论方法还能够支持不同数据源之间的数据集成和共享。通过共享本体论结构,不同数据源中的时空信息可以进行互操作,从而实现跨平台的数据集成和共享。 总之,时空信息系的本体论方法提供了一种有效的空间和时间数据管理方式。它可以一和标准化时空数据,提供更强大的查询和分析功能,并支持跨平台的数据集成和共享。 ### 回答3: 空间-时间信息系(STIS)是一种利用本体论方法的信息系。本体论方法是一种基于语义的知识表示和推理方法,通过定义实体、属性和关系的概念,建立了一个共享的概念模型。在STIS中,本体论方法被应用于空间和时间信息的管理和查询。 首先,使用本体论方法可以对空间和时间概念进行准确的定义和建模。空间概念可以表示为点、线、面等几何对象,并定义其属性和关系,如位置、形状和邻近关系等。时间概念可以表示为时刻、时间段等,并定义其属性和关系,如开始时间、结束时间和时间间隔等。通过这种详细的定义和建模,我们可以精确地描述和理解空间和时间信息。 其次,利用本体论方法可以进行空间和时间信息的推理和查询。通过定义空间和时间概念之间的关系和规则,我们可以从已有的空间和时间信息中推断出新的信息。例如,根据已知的地理位置和时间段,可以推断出某一时刻该位置的状态。同时,本体论方法也提供了灵活的查询机制,可以根据空间和时间属性进行信息检索和过滤。 综上所述,空间-时间信息系是基于本体论方法的一种信息系,它通过准确的概念建模和推理查询机制,实现了对空间和时间信息的管理和利用。这种方法不仅可以帮助我们更好地理解和处理空间和时间信息,还可以为地理信息系、物流管理等领域的应用提供支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值