Share via


常見問題集

本檔案中使用的定義:

姿勢 – 位置和方向。

全像投影 - 可見的虛擬物件。

真實世界 - 實體世界。

實體世界 - 真實世界。

虛擬世界 - 透過電子媒體呈現的綜合產生和模擬世界。

虛擬世界標記 – 虛擬(模型化)座標系統中的姿勢。 就是這樣,只是參考位置和方向。

真實世界標記 – 相對於真實世界環境和對應至虛擬世界標記的相機的姿勢。 真實世界標記的姿勢是由一些感知數據的組合所建立。

可見特徵 - 可視覺辨識的實體世界特徵

世界鎖定工具有何用途?

鑒於虛擬和真實世界標記之間的不一致,世界鎖定工具會提供穩定的座標系統和相機調整,以將可見的不一致降到最低。

換句話說,它會使用共用錨點集區來鎖定整個場景,而不是使用群組自己的個別錨點鎖定每個物件群組。

為什麼虛擬和真實世界標記不一致?

在 Microsoft Mixed Reality 背後的許多驚人技術中,能夠即時追蹤耳機在實體世界中的姿勢,而不需要外部設備協助,尤其令人驚異。

頭部追蹤系統在判斷相對於實體環境中的已知虛擬參考點的頭部姿勢時非常準確。 在此討論中,這些虛擬參考點稱為「可見功能」。

在離開與周圍可見特徵相關的已知位置時,例如,如果使用者繞著房間走動,然後回到相同的位置,系統就會辨識其中許多相同的可見特徵。 它也可以判斷這些可見特徵相對於目前頭部姿勢的姿勢,並用令人驚訝的精確度來執行此動作。

現在,追蹤器系統知道這些功能和頭部彼此相對的位置,但絕對不知道頭部或特徵的座標為何。 由於物理世界沒有絕對座標系統,沒有正確的答案。 因此,追蹤系統會指派與最近歷程記錄一致的座標,但在所有歷程記錄上可能會不一致。 也就是說,當返回完全相同的姿勢時,頭部現在的座標可能與離開時不同。 這是感測器漂移的形式。

但是,如果新的頭部虛擬姿勢座標已轉向正 X,則該虛擬座標系統中靜止的所有全像投影對象現在都會相對於頭部向負 X 轉移。 這意味著,對戴著頭部跟蹤器的觀察者而言,它們將相對於真實世界轉移,而與之前步行的位置相比。

Unity 可以處理此作業嗎?

是,但有限制。 Unity 提供絕佳的機制來處理這個,稱為空間錨點。 如果虛擬空間已相對於實體空間移動,只要追蹤基礎可見特徵,空間錨點就會知道將本身移入虛擬空間,以在實體空間中保持鎖定狀態。 任何附加至空間錨點的任何專案也會拖曳至 Unity 的虛擬空間,以在實體空間中保持靜止狀態。

這些限制與可見特徵在遠離頭部跟蹤器相機時變得不可靠的事實有關。 這並不奇怪。 看不見的可見功能會使參考點不佳。

因此,空間錨點的實用範圍限製為3公尺。 視應用程式的正確性需求而定,可使用的範圍可能會比較少。

這似乎很好,問題是什麼?

太好了,簡直太神奇了。 但在某些情況下,重要的情況,空間錨點不提供令人滿意的解決方案。

首先,每個空間錨點都會透過 Unity 的虛擬座標空間獨立移動,以嘗試在實體世界中保持靜止狀態。 這表示獨立錨定的物件會彼此相對移動,因為它們會嘗試保留在實體位置中。 對於嘗試維護精確版面配置的應用程式,這可能會是個大問題。

其次,由於範圍有限,單一空間錨點不會為大於該空間錨點可用範圍的單一物件提供良好的結果。 雖然空間錨點附近的物件上的點將保持良好的世界鎖定,因為槓桿臂效應,距離空間錨點更遠和更遠的地方將遭受不斷增加的錯誤。 這會讓物件或物件的集合大於計量左右,而不需要強大的世界鎖定解決方案。

還有什麼可能出錯?

在返回先前佔用的姿勢時,世界鎖定工具有足夠的資訊可還原虛擬座標系統,以將虛擬座標系統還原回相對於實體世界的位置。 這可讓虛擬世界中靜止的全像投影也固定在實體世界中。

但漂移可能發生在單向旅行,以及往返旅行。

作為具體範例,請考慮在放置在實體房間的兩個 QR 代碼之間測量 10 公尺,因此將虛擬房間中的兩個方塊模型化為 10 公尺。 但在運行時間,由於頭部在虛擬空間的漂移,在 QR 代碼之間走 10 米移動 11 米通過虛擬空間。

應用程式可以加入加入世界鎖定工具的功能,藉由提供資訊校正虛擬空間中的距離到實體空間中的距離來解決此問題。 世界鎖定工具提供的行為是,站在第一個 QR 代碼上方,向下看將會看到第一個方塊。 隨著10米穿過物理世界,虛擬空間中的額外米被悄悄吸收,使頭部在虛擬空間中移動了10米。 因此,若要到達第二個實體 QR 代碼並向下看,第二個虛擬方塊將如預期般存在。

請注意,系統會對沒有地面真實數據的所有錨點進行對應的調整,因為它們會在兩個 QR 代碼之間的路徑上傳遞。 當然,這種調整是順利應用,以盡量減少其感知。

如果真實世界標記不穩定,該怎麼辦?

此外,如果真實世界標記正在動態更新,世界鎖定工具可以調整其空間畫面和相機調整,以最佳方式符合目前的組態。

例如,在 HoloLens 上,如果真實世界標記是空間錨點,則會隨著時間而漂移。 他們還將繼續重新建立(如迴圈關閉),在其他情況下。 隨著姿勢的更新,世界鎖定工具通過像以前一樣調整相機來補償,以將感知的空間錨點與其虛擬對應之間的感知不一致降到最低。

請注意,即使在沒有標記的地面真相數據的情況下,錨點位置更新的這項補償也可能發生。 隱含的地實數據是,真實世界標記之間的目前關聯性是正確的。

如果不一致變得非常糟糕,該怎麼辦?

世界鎖定工具可以偵測數個案例,其中實際和虛擬標記之間的不一致很大,而且可以加以改善。 例如,可能會取得更多資訊,以建立兩個先前隔離標記集區之間的空間關聯性。 或者循環關閉可能會建議沿著路由移動標記,以允許端點符合。

在這些情況下,World 鎖定工具會通知用戶端潛在的修正,而用戶端的待處理會執行修正,並通知客戶端應該在其物件中追蹤虛擬標記的調整。 在用戶端要求這類修正之前(如果有的話),世界鎖定工具會繼續將感知到的不一致降到最低。