Linux中國

如何建立一個開源的元宇宙

如果我告訴你,構建元宇宙所需要的所有內容和軟體都已經有了,而且完全免費,你會去構建嗎?

先別急,讓我們退一步來解釋一下元宇宙

什麼是元宇宙

20 世紀的賽博朋克作家,如 Gibson 和 Stephenson,都曾想像過由虛擬現實支持的互聯網,在 Stephenson 的小說《雪崩Snow Crash》中,他將其稱之為 元宇宙 Metaverse 。隨著 虛擬現實 virtual reality (VR)設備和應用程序的日益普及,尤其是在馬克•扎克伯格宣布將僱傭 1 萬人來打造它,並將 Facebook 的公司名稱改為 Meta 之後,元宇宙正在成為一個熱門辭彙。Matthew Ball 對該話題進行了 認真分析,並以「共同構建」作為結論:「事實上,最有可能的是,元宇宙是來自不同的平台、機構和技術的網路中,它們協同配合(無論多麼不情願),並擁抱互操作性。」

互操作性,這個詞本身含蓄而清楚地指出了開源和開放標準在其中的作用。

因此,簡而言之,它就是支持 VR 的互聯網。

如何建立一個開源的元宇宙?

就像互聯網上的網路伺服器一樣,你需要 VR 伺服器。不過不用擔心,我寫了一個,而且 介紹它的文章 大約一年前就發表在這裡了。當然,你需要支持 VR 的網路瀏覽器,但網路瀏覽器已經支持視頻/音頻流(WebRTC)以及 VR 和 AR(WebXR)。此外,你還需要大量 3D 內容,最好是開源標準的 glTF 格式。幸運的是,Sketchfab 擁有 50 萬個以上的免費 3D 模型,由大量的作者在 知識共享許可 Creative Commons licenses 下發布。Sketchfab 並不是唯一一家這樣做的公司,但他們提供了 REST API 來搜索和下載這些模型。

別忘了鍵盤

在 VR 中已經待了一段時間了,我可以用親身體驗告訴你我最懷念的是什麼:鍵盤!我在鍵盤上寫代碼,但當我戴上 VR 眼鏡時,它就消失了。你可以想像,摘下和戴上 VR 設備是多麼的混亂。不僅如此,我還需要在 VR 中看到我的代碼。那麼為什麼要止步於此呢?為什麼我在 VR 中看不到每一個應用程序呢?許多人都在使用兩個或更多的顯示器。在 VR 中,你可以隨處布置窗口。這比多少個屏幕都要好。而一旦到了這一步,你就可以真正地談論元宇宙了。

說實話,VR 設備仍處於起步階段,它無疑還缺少許多功能。但是,VR 設備將得到改善,並最終包括鍵盤、更好的攝像頭以及在現實中疊加虛擬的能力。在此期間,我們將繼續戴上和摘下護目鏡,以其他方式處理其他障礙。

那麼我還等什麼呢?

你不需要等待。無論是愛好者還是公司,都正在努力。而且你現在就可以開始在網路上建立你的虛擬世界。下面的視頻解釋了如何使用現有的免費模型來製作虛擬世界。

在底層,VRSpace 網路客戶端使用一個開源的 JavaScript WebGL 庫 Babylon.js 來載入 glTF 內容並使用 WebGL 渲染。它調用 Sketchfab REST API 的搜索功能(伺服器所有者必須在那裡有一個賬戶)。點擊了一個模型,它就會讓 VRSpace 伺服器獲取它。伺服器下載它(僅當它之前沒有下載的情況下),並將其交付給客戶端。空間中發生的一切都會被廣播(實際上是通過 WebSockets 進行多播)給所有連接的用戶,所以他們都會看到同樣的移動和物體大小的調整。當然,他們可以通過文本信息或語音進行聊天。通過點擊右下角的 VR 眼鏡按鈕,用戶可以立即進入 VR。用戶還可以共享屏幕,儘管不在此空間中。

而這一切都只使用現有的標準網路技術和免費的軟體和內容。它不僅適用於 PC 和 VR 設備,也適用於移動設備。然而,移動版 Chrome 瀏覽器並沒有啟用 VR 功能。它在第一次嘗試進入 VR 時會提示下載谷歌 VR。

由於它是開放的,這在目前來說是可互操作的。但對於元宇宙(支持 VR 的互聯網)所需的大規模來說,它的互操作性還遠遠不夠。以頭像為例。我在 LinkedIn、Facebook 以及 Opensource.com 上使用相同的圖片作為我的頭像。我怎麼能把我的 3D 頭像上傳到 VRSpace 或其他地方呢?

好吧,我不能。上傳本身並不是一個問題。當然,文件格式(glTF)也不是問題。問題出現在頭像結構上,因為它沒有標準化。所以,比如說,不同的人物有不同的骨頭數量。然後,本應是微不足道的必備功能,如用虛擬手拿東西,卻變得極其複雜。我已經分析了 100 多個免費的角色,並將我的發現作為研究論文發表:《邁向人形 3D 角色的自動骨架識別》,希望它能幫助其他作者實現互操作性。

而這只是一個開始,是我們進入一個共享的虛擬世界需要做的第一件事。

![VRSpace 的免費頭像](/data/attachment/album/202201/27/124128v812qsrf60f86465.jpg "Free avatars at VRSpace")

知識產權

知識產權呢?你可能會說,這都是開源的!嗯,確實如此。作者們是如此善良,讓別人使用他們的創作。用戶至少可以做的是給他們點贊。知識共享許可的實際條款要求用戶明確歸功於作者。為此,我特別注意在搜索結果中顯示作者的名字,而且作者信息被嵌入每個 glTF 文件的元數據部分。但是,即使是需要額外的工作的免費東西,我無法想像它變成專有內容會多麼可怕。

NFT和區塊鏈

轉念一想,我可以想像到。它需要 NFT、區塊鏈,以及其他什麼東西。快速搜索「元宇宙 區塊鏈」為我提供了 極好的購買機會,並建議了 最好的購買方案。好吧,我不買。記住我的話。試圖出售加密貨幣的人是不會建立元宇宙的。

這並不是說區塊鏈在這裡沒有用,因為即使是免費的內容,你也必須對作者進行追蹤。面對成千上萬的免費模型,這必須以某種方式自動化,而分散式賬本可能正是正確的解決方案。

話說回來,像 Sketchfab 這樣的數字內容提供商並不只提供免費模型,他們還出售內容。畢竟,這就是他們謀生的方式。從技術上講,在你的虛擬世界中使用這些專有內容,你需要做的就是把代碼中的一個 true 改為 false,字面上的。但是,一旦你下載了它,沒有人可以阻止你分享它。然而,在法律上,許可證禁止你這樣做。NFT 可以證明所有權,可以購買,可以出售,但不能執行版權。內容提供商最終會明白這一點,但我擔心的不是他們。這對普通用戶有實際影響,與我反覆被問到的一個具體問題有關。我可以自己製作或購買我自己的頭像,而且只能是我的,不能被其他人使用嗎?但技術不能阻止任何人複製它。就像我可以從 LinkedIn 複製你的頭像圖片,並將其作為我在 Facebook 上的圖片。但你想想,為什麼會有人想這麼做?

有趣的是,我已經有一個 VRSpace 的商業實現。一個由自由軟體驅動的 3D 多用戶視頻和音頻流媒體網站,提供專有內容。在上鎖的門後,付費進入 —— 就這麼簡單。而且它不妨礙建立元宇宙。然而,每個人都有自己獨特的頭像,永遠不能被其他人使用。視頻頭像:

![作者在 VRSpace 的視頻頭像](/data/attachment/album/202201/27/124049jhc99zansawn9112.jpg "Author's video avatar in VRSpace")

你想成為你自己,而不是其他人。只要點擊視頻按鈕,就這麼簡單。當然,瀏覽器會提示你是否允許流式傳輸你的視頻和音頻。這個功能在日常生活中被廣泛使用,以至於我們並沒有把它和元宇宙聯繫起來,賽博朋克的作者們也沒有設想到這一點。隨著時間的推移,這種 我就是我 的方法將發展為運動跟蹤和視頻流映射到我們的 3D 頭像上,但它仍將在昂貴的電影和視頻遊戲領域停留一段時間。

現在,你已經瞥見了 VRSpace 伺服器的所有功能,除了 Oauth2 認證。反正你知道它是如何工作的。一個網站將你重定向到你選擇的另一個網站,你在那裡登錄,然後被認證回來。這就是上述所有的簡化圖。

![VR 組件圖](/data/attachment/album/202201/27/124155anhx7hy14i4myywh.png "VR components diagram")

現場演示

VRSpace.org 上有一個現場演示,一直在運行最新的代碼,歡迎你在任何時候嘗試。它是完全匿名訪問的,沒有任何形式的廣告和跟蹤器。試著在 VRCraft 世界中建立你的世界,但要知道,一旦你斷開連接,你所做的一切都會消失 —— 這是運行一個向公眾開放的匿名服務的代價。主頁提供了所有的相關信息,只要訪問該鏈接即可,或者在 GitHubYouTubeFacebook 上加入該項目。

非常感謝早期採用者的幫助,使項目達到這個階段 —— 所有作者的免費模型、Sketchfab 提供的訪問,以及 Babylon.js 社區,使這一切都能跨平台運作。

via: https://opensource.com/article/22/1/open-source-metaverse

作者:Josip Almasi 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國