坐标系 Coordinate systems框架
全息的核心是,全息应用能够在真实世界中放置全息图形并使得它们看起来和听起来像真实的物体。这涉及到了物体在真实世界中的定位和方向的肯定,这对用户来讲很重要。当推断全息图像或者其余任何几何体的位置和方向时,例如凝视射线或者手的方位,HoloLens使用多种坐标系来表示几何体。学习
空间坐标系 Spatial coordinate systems优化
全部的3D图形应用都采用笛卡尔空间坐标系来推断物体在他们渲染出的虚拟世界中的方位。这种坐标系使用3个互相垂直的轴来定位物体,分别是:X、Y、Z轴。spa
在HoloLens中,你的应用会推断全部虚拟物品和真实物品的坐标。Windows Holographic将有真实世界意义的坐标系为空间坐标系(Spatial coordinate systems)。对象
空间坐标系使用米做为单位来表示坐标值,这意味着HoloLens中一个物体在X、Y或Z轴上距离另外一个物体2单位放置,实际将会表现为相距2米。这使得你很容易使用真实世界的缩放比例来渲染物体。生命周期
通常来讲,笛卡尔坐标系有左手坐标系或者右手坐标系。在Windows Holographic中的空间坐标系老是右手坐标系,这意味着正X轴指向右,正Y轴指向上,正Z轴指向后方。游戏
在全部类型的空间坐标系中,正X轴总指向右,正Y轴总指向上方。区别在与正Z轴会指向你的前方仍是后方,能够使用咱们的左右手来模拟左右手坐标系,大拇指的指向始终是正Z轴相对坐标系的方向。it
固定参照坐标系 Stationary frame of referenceio
当设备在环境中移动时,描述现实世界中全息图像的位置,须要一个保持固定的参考点。系统提供了用于此目的的一个简单方案,被称为固定参照坐标系(Stationary frame of reference)。class
在一个像Unity这样的游戏引擎中,参考固定坐标被定义为该引擎渲染的世界的“起源”。使用这些相同的坐标,放置在特定世界坐标系中的对象使用固定参照系来定义它们在真实世界的位置。一个应用程序一般会在启动时建立一个固定参照系和在整个应用程序生命周期使用它的坐标系。
随着时间的推移,随着系统学习更多有关用户环境的信息,它可肯定在真实世界的各个点之间的距离是比之前系统认为的更短或更长。所以,当用户在大范围走动致使全息图像出现相对固定参照系偏移时,系统会作出调整。
空间锚点 Spatial anchors
当系统发现更多世界信息时,为了不偏移和确保全息图像准确保持在世界中特定点,你能够使用空间锚点来放置全息图像。一个空间锚点表明了世界中一个重要的点,系统应该在一段时间保持跟踪。各锚点具备一个按需调整的坐标系,相对于其余空间锚或参照系,以确保锚定的全息图像保持在精确的位置。
在空间锚点的坐标系中渲染一个全息图像将会给出该图像任什么时候刻最准确的坐标信息。当全息图像持续移回相对真实世界的位置,这回带来最小的位置调整成本。
为何一个单独刚性坐标系统不能被用于整个场景 Why a single rigid coordinate system cannot be used for the whole scene
现在,编写游戏、数据可视化应用程序、或虚拟现实应用程序时,典型的作法是设立一个绝对的世界坐标系,场景中的全部其余坐标能够可靠地映射到此坐标系上。在这种环境中,你总能找到一个稳定的变换,它定义了在世界里任何两个物体之间的关系。若是你没有动这些对象,它们之间的相对变换将始终保持不变。在单纯渲染一个你提早知道其中全部几何体的虚拟世界时,这种全局坐标系的效果很好。
相比之下,做为混合现实设备,HoloLens拥有传感器驱动的对世界动态的感知 - 这意味着随着时间变化它能够不断调整对于你建立的空间锚点的认识。这样一来,你的应用程序必须为你建立用来随时间而改变他们的相互关系的空间锚点作好调整的准备。
例如,设备能够目前相信世界中的两个位置距离为4米,在重定义这种认知后,设备可以知道这些位置实际上相距3.9米。若是这些全息物体最初是在一个刚性的坐标系相距4米放置,那么他们其中一个在现实世界中老是出现0.1米误差。
解决方案:空间锚 The solution: Spatial anchors
HoloLens经过让你建立空间锚标记世界中的用户放置全息图像的重要点来解决这个问题。当设备开始认知周边世界时,这些空间锚能够按须要调整它们相对于彼此的位置,以确保每一个锚保持它被相对于现实世界放置的精确。经过把全息图像放置在附近空间锚的坐标系中,能够确保此全息图像保持最佳的稳定性。
这种空间锚相对于彼此之间的连续调整是来源于空间锚的坐标系和固定参照系之间的主要区别:
与此相反的参考,它老是为用户附近的稳定性优化固定框架,空间锚确保接近其起源的稳定性。这有助于这些全息图代替随时间留精确,但它也意味着,从它们的空间锚的原点呈现太远全息图将经历日益严重杠杆臂效应。这是由于小的更新的位置和空间锚的取向被放大成比例从锚的距离。一个好的经验法则是,以确保任何你呈现基于空间锚的坐标系上的距离约3米的产地。