Mozilla發布了一個Unity原生擴充套件,以及一組Unity C#腳本元件,可讓第三方將Servo網頁瀏覽器添加到Unity虛擬場景中,連虛擬實境(VR)與擴增實境(AR)應用程式也沒問題,這個套件提供在Unity虛擬環境中,使用網頁平臺的方法。目前的版本僅支援macOS平臺,接下來官方還會讓Servo支援擴增到其他平臺上。

Unity是一款跨平臺的遊戲引擎,可以開發跨Windows、MacOS及Linux平臺,以及iOS、Android行動平臺,還有PlayStation、XBox與Switch等遊戲主機的電玩遊戲。Unity引擎的多平臺套件系統,可安裝第三方開源或是專有的套件,該套件系統可以執行作業系統原生模組,並且直接連結在Unity腳本環境中執行的元件。

而Servo則是由Mozilla資助,並使用Rust系統程式語言開發而成的平行瀏覽器引擎,Servo專案的目的,是要開發更具平行性、安全性、模組化和高效能的瀏覽器。Mozilla將Servo當作瀏覽器技術的孵化器,專注於研發新的瀏覽器技術,目前從Servo轉移到Firefox使用的Gecko引擎的新技術,包括GPU渲染引擎WebRender以及CSS引擎Stylo。

Unity開發工具以及引擎,成為常用來開發VR與AR應用的方法,Mozilla之前嘗試了在網頁環境以Unity提供VR體驗,而現在反過來,Mozilla啟動另一項早期實驗性專案,則是要在Unity虛擬環境中,提供網頁體驗。

利用Mozilla最新釋出的Unity擴充套件,開發者可以在Unity編輯器中,使用瀏覽器視窗和控制元件,將Servo視窗放置在Unity場景中的任何位置,在Mozilla釋出的展示範例中,他們將瀏覽器視窗擺進了Mozilla蘑菇洞穴中,使用者可以利用操作器,在洞穴中四處移動,並且看到以3D呈現的瀏覽器內容。

Mozilla使用Unity的元件架構,來開發這個網頁擴充套件,Unity會執行開發者程式碼,在Unity虛擬環境創建Servo視窗物件,並將瀏覽器內容以貼圖形式呈現。由於Servo使用GStreamer框架,能提供高品質的媒體串流播放功能,因此使用者可以在Unity環境中觀看MPEG4影片,當前Servo已經支援各種多元的網頁內容,現在還能顯示WebGL內容,而Mozilla也正在擴充Servo的網頁相容性。

Mozilla提到,因為Unity的腳本環境是以單執行緒進行,而Servo則是以多個輕量級執行緒來執行多種任務,雖然他們已經將Servo的工作編組對應到Unity的執行緒中,但是現在網頁內容更新僅在影格刷新時發生,因此他們還需要做一些最佳化,進行更精細的網頁內容更新控制。另外,他們也會持續改進在Unity中所提供的瀏覽器功能,加入包括多視窗、多頁籤、歷史紀錄以及書籤等功能。


Advertisement

更多 iThome相關內容