座標系 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米的產地。