當前位置:
首頁 > 科技 > Mozilla將WebXR Viewer更新至ARKit2.0

Mozilla將WebXR Viewer更新至ARKit2.0

文章相關引用及參考:mozvr

本文來自Mozilla的BLAIR MACINTYRE

映維網 2018年11月24日)Mozilla在2017年構建了API for WebXR的實驗性版本,並且開發了WebXR Viewer iOS app以支持他們自己和其他人使用ARKit來在iOS上實驗WebXR。在不久的將來,Mozilla將最終確定WebXR Device API,並開始予以應用。他們已經在開發一個允許WebXR Viewer暴露新API的Javascript庫,並且希望在更新webxr polyfill以匹配最終API後推送更新。

Mozilla最近更新了WebXR Viewer,修復了一定的bug,並將應用程序更新至iOS 12和ARKit 2.0(尚未暴露所有的ARKit 2.0,但預計將在未來幾個月內發布)。除了修復bug之外,新版應用程序的兩個功能強調了WebXR與隱私,摩擦和平台獨立性相關的有趣問題。Mozilla的BLAIR MACINTYRE日前對其進行了介紹,下面是映維網的具體整理:

首先,Web瀏覽器可以通過有效管理底層平台來減少用戶從一種AR體驗轉移到另一種AR體驗時的摩擦,而不是在會話之間完全關閉它。但需要注意的是,不要將數據暴露給可能會令用戶感到意外的應用程序。

.其次,為WebXR構思的某些高級功能尚未以跨平台的方式提供,如可共享的世界映射或持久性錨點。這些功能是用戶所期望體驗的核心,如持久性內容或多用戶之間的共享體驗。

在這兩種情況下,我們尚不清楚正確答案是什麼。

1. 無摩擦的體驗和用戶隱私

假設:無論底層平台是如何予以應用,在載入新的WebXR網頁時,如果是第一次載入而且沒有現有映射或先前錨點頁面,它應該只獲取有關可用世界的信息。

請參見下面的圖像。下圖是運行「World Knowledge」樣本的結果,並花費了數分鐘時間從房子二樓走到樓梯並下來一樓,轉身,再通過樓梯走到地下室,然後回到一樓,通過前門進入院子。回頭看著房子,你可以看到每個樓梯,地板和部分牆壁的小型平面(半透明綠色多邊形)。即使只是運行ARKit數分鐘,系統都會產生大量關於空間內部的信息。

如果同一用戶訪問另一個網頁,瀏覽器可以選擇是否重啟ARKit。重新啟動會導致高度摩擦的用戶體驗:所有關於世界的知識圖譜都將丟失,並需要用戶掃描環境以重新初始化底層平台。但是,不重新啟動可能會將信息暴露給令用戶感到意外的新網頁。由於是在室外訪問頁面,用戶可能不會期望訪問內部的細節。

在WebXR Viewer中,我們沒有為每個頁面重新初始化ARKit。我們決定,如果在不訪問不同XR頁面的情況下重新載入頁面,令ARKit保持運行並保留所有世界知識圖譜。這樣就可以在不完全重新啟動體驗的情況下重新載入頁面。當訪問一個新WebXR頁面時,保持ARKit運行,但銷毀所有距離用戶達到一定閥值的ARKit錨點和世界知識圖譜(在當前的實現下,默認是3米)。

在下面我們演示了這種行為。當用戶從「World Knowledge」樣本換成「Hit Test」樣本時,系統將銷毀大部分錨點。當用戶換回「World Knowledge」樣本時,系統再次銷毀大部分錨點。訪問非XR頁面不算作訪問另一頁面,但如果瀏覽器不是位於XR頁面,系統將在片刻後關閉ARKit以節省電能,這同樣會銷毀所有的世界知識圖譜。

儘管這是在摩擦和隱私之間進行權衡的相對簡單方法,但在瀏覽器中實現WebXR時需要考慮這樣的問題。現代AR和VR平台能夠合成和暴露高度詳細的環境映射,並隨時間推移保留重要信息。這些平台可以隨時間推移保留世界空間模型,並暴露給應用程序,因此即便瀏覽器為每個訪問頁面重新啟動底層API,空間的完整模型都可供使用,除非瀏覽器明確選擇不將其暴露給網頁。

例如,請參考用戶在佩戴微軟Hololens的同時在上述房屋中行走,路徑類似,時間相似。在這種情況下,相同環境的映射將如下所示。

如上所示,圖片比ARKit平面顯著更加詳細。隨著用戶繼續佩戴和使用Hololens,信息能夠繼續保留,優化,並與空間中的所有應用共享。

在這兩種情況下,ARKit平面和Hololens映射都是基於用戶在房屋裡走動的數分鐘時間而捕獲。你可以想像一下,設備在長時間使用後可以提供的詳細程度。

2. 特定於平台的功能

假設:對於需要持久性和共享內容的高級功能(如World Mapping),如果網路的跨平台特性擴展到AR和VR,它們將需要針對當前各個平台的跨平台模擬。

ARKit 2.0帶來了檢索當前世界模型的可能性。ARKit通過所謂的ARWorldMap來追蹤平面和錨點。映射可以進行保存和/或與其他應用進行共享,從而實現持久性和多用戶AR體驗。

在這一版本的WebXR Viewer中,我們希望探索一些與持久性和多人體驗相關的概念,所以我們為一個活動的AR會話添加了session.getWorldMap()和session.setWorldMap(map)指令。

這些功能引發了用戶隱私問題。ARKit的ARWorldMap是一個不透明二進位ARKit數據結構,可能包含大量可以由應用開發者提取的空間數據(格式未記錄)。因此,我們利用了WebXR Viewer中的現有隱私設置,並允許應用程序檢索世界映射

另一方面,WebXR Viewer允許頁面向ARKit提供ARWorldMap,並嘗試在不增加許可權的情況下使用它來重定位。從理論上講,如果用戶位於特定位置,這樣的操作可能允許惡意Web應用程序通過瀏覽器測試來「探測」世界。在實踐中,這樣的攻擊似乎不可行:載入映射會重置ARKit,並且無論重定位最終是否成功,將智能手機重新定位到映射需要一定的時間。

儘管實現這些命令不算什麼,但暴露這種功能會引發WebXR設計的一個基本問題(除許可權和可能的威脅之外)。具體而言,鑒於每個XR平台都以不同方式實現這些功能,這些功能最終將如何以跨平台方式運行呢?

我們沒有這個問題的答案。例如,諸如HoloLens這樣的設備允許保存空間和共享弓箭,與ARkit類似。但其他平台僅共享Anchors,或者根本不允許共享。隨著時間的推移,希望可能出現一定的共同點。谷歌已經在ARKit和ARCore上實現了他們的ARCore Cloud Anchors。也許行業可以採取類似的,更加開放的,以及獨立於特定基礎架構的方法,從而在眾多平台上實現標準化。

3. 展望未來

隨著我們正在制定初始的WebXR Device API規範,這只是Immersive Web Community Group正在探討和考量的眾多問題中的兩個。如果你希望看到Web暴露和提供各個XR平台的全部功能,從而保持Web的開放性,你可以加入討論並幫助我們確保XR Web取得成功。

文章《Mozilla將WebXR Viewer更新至ARKit2.0》首發於映維網.


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 映維VR 的精彩文章:

埃隆·馬斯克:人類只是更高文明的VR模擬的一部分
三星用《惡搞之家》AR遊戲幫助用戶熟悉「智能家居」生活

TAG:映維VR |