網站設計人員很熟悉回應式設計的概念,也就是建立可在各種裝置上運作的網站,例如手機、平板電腦和電腦,以及不同的螢幕解析度和像素比例。WebVR 針對回應式設計帶來更多挑戰。
我們可以根據兩項指標 (沉浸式程度和輸入程度) 將 WebVR 體驗分類。這些層級是依據「自由程度」(DOF) 區分。6 DOF 是指追蹤位置和方向,3 DOF 僅用於追蹤方向和 0 DOF 軌道,兩者都不會追蹤位置和方向。
沈浸式
- 沒有 VR - 裝設螢幕或行動裝置。
- Stationary VR:支援 3DOF 追蹤的裝置。
- Seated VR:6 個 DOF 追蹤,但顯示位置和角度有限。
- Room Scale VR - 提供房間大小的 6 DOF 追蹤技術。
輸入層級
- 0 DOF:唯一輸入的內容為點選或輕觸。這種輸入法與使用者面對的方向相關聯。我們有時會把這個例子稱為「凝視控制器」。
- 3 DOF - 追蹤方向的控制器可像雷射指標一樣使用,以指定方向或位置。控制器位置是根據使用者的觀點估算而得。其中包括 Daydream 控制器。
- 6 DOF - 追蹤其位置和方向的控制器。這可在 VR 中仔細模擬手部。
如您所見,單一應用程式可能會支援非 VR 行動裝置螢幕的任何功能,只要按一下滑鼠,就能完整追蹤兩個全面追蹤的手部控制器。
WebVR 研究室
在 PlayCanvas WebVR Lab 中,我們已在您的應用程式中實作部分可能需要的核心互動,並擴充至不同程度的體驗。
互動的運作方式
WebVR 研究室中的互動運作方式為光線交集的基本機制。樓層、房間和任何可以進行互動的物體,都會根據三種形狀基元之一定義:
- 軸對齊的定界框 (或 AABB) - 未旋轉的方塊。
- 方向定界框 - 可旋轉的方塊。
- Sphere - 以空間中點為中心的半徑範圍。
要瞭解操作是否可能,我們會向世界發光,並測試該光柵與世界的物體形狀交錯。可用的互動類型取決於光線來源的位置 (攝影機或控制器) 和光柵長度 (特寫操作或指向距離)。
簡易操作
首先,我們會定義幾個簡單的動作,以及如何將這些動作與不同的控制器搭配使用。
醒目顯示
如要醒目顯示位置或物件,可以透過查看位置或物件 (使用視線控制器) 或指向該位置 (使用手部控制器)。方法可以是沒有按下按鈕,也可以僅限按下按鈕時執行。
(按一下滑鼠)
只要醒目顯示該位置或物件,再按下或放開按鈕即可。做法是以凝視控制器的形式查看物件,然後按下按鈕或螢幕,使用手控制器方法是指向物件,然後按一下按鈕。
核心互動
利用醒目顯示和點擊功能,我們在 WebVR Lab 中實作了部分核心互動。
瞬間移動
當使用者建構可供使用者探索的虛擬環境時,該環境可能會比使用者不移動也能看見的小區域更大。舉例來說,WebVR 研究室分成三個部分。主要客房、夾層地板和 Hi-Fi 音樂播放器的側邊空間。
讓使用者的可視區域在世界上移動往往會導致不適。透過 WebVR Lab,使用者可以醒目顯示位置,按一下畫面就能瞬間移動。使用者的觀點永遠不會移動,因此即使玩家會瞬間移動到大型空間,也不會感到不適。
以手持控制器為例,我們會要求使用者按住按鈕來啟動瞬間移動目標。如此一來,當使用者四處尋找時,就能讓視線保持井然有序。
移動使用者的觀點
有時一定要移動觀察點。舉例來說,使用固定式或 Seated VR 功能時,最終可能會朝向一面牆,但無法呈現實際世界。讓使用者可以用控制器旋轉攝影機在 WebVR Lab 中使用 Daydream 控制器的左右手把旋轉相機。
為避免造成不適,我們將攝影機以這種方式移動,會在攝影機上套用受限制的檢視畫面,藉此減少週邊裝置的視覺影響。這以 Ubisoft 的工作為基礎,我們發現僅將檢視畫面聚焦於畫面中央有助於降低不適感。
啟用
啟用是一種 VR,相當於點選網頁上的按鈕。在 WebVR 研究室中,我們根據實際情況採用了,並提供可啟用的簡易按鈕。
針對 0 DOF 和 3 DOF 控制器,啟用後即可醒目顯示,按一下即可。針對 6 DOF 控制器,我們可以升級體驗,藉由直接檢查你的手部控制器是否在按鈕內來「推送」按鈕。
Grab
WebVR Lab 含有許多「重組」項目。透過這種行為,物件啟用時,便可擷取及移動物件。視您想支援的輸入層級而定,會出現兩個明顯不同的行為。
針對按住輸入按鈕的 6 個 DOF 控制器,可將可擷取項目附加至控制器。然後透過精細的控制項移動及放置其位置。放開此按鈕後,即可啟用與項目的合併或放置動作。
如果控制器較不容易操作,則點擊會選取該項目,並附加至使用者的可視區域。通常在螢幕的「下半部」內顯示一個項目的部分內容。第二次點擊就會捨棄或合併商品。
Combine
「合併」是指當您在另一個項目「使用」項目時,會發生此動作。涵蓋多種用途。在 WebVR Lab 中,我們使用它播放 Hi-Fi 的記錄擷取項目時,就可以將擷取的項目與其他項目合併。所有類型的控制器都會醒目顯示目標項目,同時擷取另一個項目後再放開擷取作業,將合併這兩個項目。
摔落 / 還原
當使用者按住擷取項目,且未醒目顯示其他項目時,系統會捨棄項目。
在 WebVR Lab 中,我們未對任何項目進行物理模擬,因此能將效能需求降低。也就是說,我們不會將項目拖曳到地面,而是讓物件懸浮在放置的位置。捨棄項目後,如未在特定時間範圍內啟用項目,該項目會自行「還原」至原始位置。這項還原功能可讓輸入程度較低的使用者 (0 DOF 或 3 DOF) 操作許多項目,並維持可用的工作區域。較舊的項目會自動清除。
透過 6 DOF 輸入,可讓你輕鬆將項目移出。延遲還原作業可讓 6 DOF 使用者沉浸在移動項目的位置,但仍有助於自行清理該區域。
摘要
WebVR Lab 是 PlayCanvas 團隊的一項持續計畫。也就是說,我們會持續研究如何建構 WebVR 應用程式,因此會持續開發及更新這個應用程式,並持續更新使用體驗。
從「魔術視窗」樣式的行動裝置體驗調整為電腦互動式遊戲。我們已開始定義一組核心互動,供使用者在自己的專案中使用。我們希望 WebVR Lab 提供良好的學習體驗 讓所有想透過 WebVR 打造 3D 世界的人都能享受優質的學習體驗。
如果您擁有 PlayCanvas 帳戶,可直接前往 WebVR 研究室專案瞭解詳情。