更新於 2022/11/10閱讀時間約 3 分鐘

[寫作練習] 用WebRTC框架,讓瀏覽器即時渲染高品質圖像

透過Unity先進的圖像串流技術,你可以不再受限於裝置的硬體效能,設計畫面更炫麗的遊戲了!我們的新玩意兒 — 「WebRTC」函式庫已整合到Unity中。簡單易用的框架可讓用戶快速的瞭解,如何透過瀏覽器串流你的產品。
WebRTC技術的強大功能讓你透過瀏覽器,渲染高質量的Unity專案。該框架可以在運行期或編輯器中使用,因此它可用於各種用途,例如運行使用HDRP製作的汽車儀表板,或查看需要高階顯卡才能顯示流暢完整的建築模型。

WebRTC補上了瀏覽器到即時渲染間的差距

WebRTC由Google於2011年開發,是一種開源軟件,支持瀏覽器和行動平台之間,即時的點對點通訊。任何支援WebRTC的最新版瀏覽器的設備,都可以使用Unity的開源框架進行渲染串流(render streaming)。 這包括iPad,iPhone和Android的所有主流瀏覽器。 該函式庫基於Apache2.0授權,可由Github取得,也可透過PackageManager更輕鬆的加入到你的專案使用。

瀏覽器端的用戶輸入

透過PackageManager將Unity開發好的「Render Streaming」插件(框架)安裝好後,用戶在瀏覽器的輸入就會被轉送過來,「輸入」包含了鍵盤,游標點擊,甚至是HTML的按鈕。你要做的就是在專案中針對不同的輸入做適當的處理,就像你本來在任何一個Unity專案做的事情相同。這個框架使用了WebRTC的DataChannel API,將用戶的輸入導向到Unity的輸入系統,因此在瀏覽器的輸入結果,將可和單機的開發體驗相同。

同時廣播到各個設備
使用Render Streaming插件,你可以同時向多個設備廣播影片。設備的最大數量取決於廣播機的硬體規格和影片規格 — 在正常情況下,普通機器可以同時向大約四個設備廣播。使用Render Streaming包時的一個重要考慮因素是網路環境。 WebRTC處理影音串流,因此穩定的網路對於保持影片品質至關重要。 同樣重要的是要記住,每個附加設備都會增加廣播機的負擔。
用Render Streaming插件,可建立內聯網(Intranet)影音串流系統,但若是要建立基於互聯網(Internet)的影音串流服務,則需要一個更複雜的系統。通常,如果目標是向十多個設備廣播,我們建議將SFU分散式服務器與系統結構以及用於WebRTC的單獨STUN / TURN服務器結合使用。

影片硬體編碼
為了提供高品質圖像和穩定的串流速率以獲得良好的用戶體驗,我們不得不解決兩個問題:性能和延遲。 為了減少延遲,Render Streaming框架使用NVIDIA Video Codec SDK將程序廣播到瀏覽器,以便在frame buffer上執行GPU硬體編碼。 這意味著要使用該框架,你目前一定要使用NVIDIA的GPU,但計劃將來將會支援其他GPU。

有什麼教程?從哪裡開始?

WebRTC基於Apache 2.0許可證,並作為社群支持的技術進行管理。 我們鼓勵你參與該技術的持續開發。 隨意分支存儲庫或擴展您喜歡的任何功能。 要開始使用,請查看教程文件(英語日語),如有任何其他問題,請參閱文件中的常見問題解答。 還有一個WebRTC和Render Streaming論壇,我們很樂意收到您的反饋。 我們很高興看到你將把WebRTC和Unity的強大功能放在一起。
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.