實時渲染流程4步簡單完成【點量雲】
實時渲染在不同的場景和語境中具體指向有所不同,本文所描述的實時渲染流程是類似 UE4畫素流技術的,大型軟體流送傳輸技術。即將UE\Unity、CAD\3Dmax等3D程式,放在伺服器上,在接收到使用者端的指令後藉助伺服器的算力,完成計算並將結果重新編碼以畫面流的方式傳回終端使用者側裝置。
其實 UE和unity針對這種場景都提出了理論上的技術方案,但這個方案需要對UE比較熟悉,而且需要自己來完成這個過程的搭建,還需要在實際應用中的多併發、負載均衡、在不同裝置瀏覽器等下的相容性、畫面的多清晰度展示等等其他問題。參考UE官方的資料,實現實時渲染過程步驟如下:
1、 確定電腦或者伺服器軟硬體符合畫素流技術的要求
1)畫素流送外掛只能在執行Windows作業系統的電腦上編碼影片,對電腦的GPU硬體還有一定要求。
2)安裝node.js - 如果電腦上尚未安裝 node.js,則需要下載並安裝。
3)開啟網路埠- 必須開啟本地網路上的以下埠進行通訊:80、888。如需修改預設埠,則需要檢視參考檔案
4)停止其他web伺服器 - 如果電腦正在執行其他Web伺服器,則將其停止。
5)IP地址- 需要知悉電腦的IP地址。
2、 準備虛幻引擎應用程式
1) 在這個步驟中將為專案建立一個 standalone可執行檔案。
只有將專案作為打包應用程式執行時或使用 Standalone Game 選項在虛幻引擎中啟動時才能使用畫素流送外掛。
在虛幻編輯器中開啟專案
——》
在虛幻編輯器的主選單中選擇
編輯(
Edit) > 外掛(Plugins)
——》
在
影像(
Graphics)
下找到
畫素流送(
Pixel Streaming)
外掛並勾選
啟用(
Enabled)
框
——》
點選
是(
Yes)
確認
——》
點選
立即重啟(
Restart Now)
重啟專案並應用修改
——》
返回虛幻編輯器,從主選單中選擇
編輯(
Edit) > 專案設定(Project Settings)
——》
在主選單中選擇
編輯(
Edit) > 編輯器偏好(Editor Preferences...)
——》
在
關卡編輯器(
Level Editor) > 播放(Play)
中找到
額外啟動引數(
Additional Launch Parameters)
設定,並將其值設為
-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888
——》
打包
Windows專案。從虛幻編輯器的主選單中選擇
檔案(
Files) > 打包專案(Package Project) > Windows > Windows (64-bit)
——》
在專案找開啟虛幻引擎放置專案打包版本的資料夾,點選
選擇資料夾(
Select Folder)
——》
虛幻編輯器將開始打包程式
——》
打包程式完畢後,前往上方第
6步中選擇的資料夾。將找到一個名為
WindowsNoEditor
的資料夾
——》
每次啟動打包應用程式時,均需要傳遞與第
9步中一樣的命令列標籤
(
也可以設定快捷方式
)
——》
在打包的
standalone虛幻引擎應用程式中啟用畫素流送外掛後,即可開始流送渲染幀和音訊
3、 啟動伺服器
在這個步驟中將開啟網路服務,在虛幻引擎應用程式和客戶端瀏覽器間建立點對點的連線。在虛幻引擎安裝資料夾中,在
Engine/Source/Programs/PixelStreaming/WebServers/SignallingWebServer
中找到信令伺服器的路徑。
執行
run.bat
檔案開啟信令伺服器。首次執行伺服器時其將下載需要的所有依賴性。伺服器啟動,能夠接收連線後,控制檯視窗中將出現以下命令列:
現在用上一段中建立的快捷方式來啟動虛幻引擎應用程式。
為便於使用,打包虛幻引擎應用程式時這些伺服器也會被複制到包含打包可執行檔案的資料夾中。他們位於上述路徑下的
Engine
子資料夾中。可從該處啟動伺服器,而非從虛幻引擎安裝資料夾中啟動。
須注意:如要修改這些資料夾中的任意檔案(尤其是信令和
Web伺服器的播放器頁面或配置檔案),需要在原始位置中進行修改,如果在打包資料夾中進行修改,下次打包應用程式時修改可能會被覆蓋。
當虛幻應用程式執行連線到信令伺服器和 Web伺服器時,應該可以在信令和Web伺服器開啟的控制檯視窗中看到以下輸出行:
Streamer connected: ::1
這說明虛幻引擎應用程式已經啟用了畫素流送外掛,前端信令和 Web伺服器也已準備好將客戶端連線到虛幻引擎應用程式。
如有必要,你可以分別中斷並重啟虛幻引擎應用程式及信令和 Web伺服器。只要它們同時執行,就能夠自動重連。
此時必要的設定均已在電腦上完成。現在只需連線到瀏覽器。
4、 連線!
在該步驟中將把多個不同裝置上執行的網路瀏覽器連線到畫素流送播放。
在執行虛幻引擎應用程式的電腦上按下 Alt+Tab組合鍵,將聚焦從虛幻引擎應用程式上移開,然後啟動一個支援的Web瀏覽器(Google Chrome和Mozilla Firefox是不錯的選擇)。
在位址列中導航至
。這是本地機的
IP地址,因此請求應由信令伺服器進行處理:
點選頁面進行連線,然後再次點選 "播放(Play)"按鈕開始流送。
現在便會連線到應用程式,渲染輸出將流入播放器
Web頁面中:
預設的播放器頁面已進行設定,將把鍵盤、滑鼠和觸控屏輸入傳送到虛幻引擎,以便控制應用程式並前往各處,就像直接在應用程式進行控制一樣。
點選視窗右側的 + 按鈕,展開流送控制的一些內建選項:
如果以上 4步都順利進行下來就可以實現單路實時渲染效果,但這個過程可能存在很多問題,而且這個只是實現了實時渲染的效果。從產品角度來說其實還有很多需要完善的,只是個技術雛形。而且對於UE等不熟悉或者不懂技術的人員來說還是有很的難度。那有沒有什麼便捷的方式,讓小白也可以快速上手實現各類3D應用軟體程式的實時渲染呢?
點量雲實時渲染系統以視覺化的介面,簡單幾步即使小白也可以實現對想要流化的程式進行渲染的目的。
1、 準備能正常執行 3D程式的伺服器,
2、 在伺服器上安裝想要實時渲染的程式和點量雲系統(可按照教程自己快速安裝,也可我方遠端提供協助)
3、 將 3D程式的儲存位置新增到點量雲系統中,點選按鈕生成終端可訪問的
URL地址。
4、 將該 URL地址發給使用者,使用者在普通電腦、手機、平板等裝置中透過瀏覽器直接開啟就可以實時互動。而且體驗和本地安裝程式效果一樣,而且不僅僅是UE4程式,Windows下的大部分程式都可以實現流化處理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31439365/viewspace-2908862/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flutter渲染流程簡析Flutter
- 瀏覽器渲染流程&Composite(渲染層合併)簡單總結瀏覽器
- 什麼是實時渲染,3D實時渲染的優缺點3D
- 關於雲流化系統-實時雲渲染延時性的討論
- 為什麼說點量實時渲染技術比畫素流更加產品化?
- 瀏覽器將html程式碼渲染成頁面流程簡單介紹瀏覽器HTML
- 什麼是實時渲染,實時渲染是如何工作的
- 天翼雲實時雲渲染,助力打造世界VR產業大會雲上之城VR產業
- 簡單的Git流程Git
- fbo實現離線渲染流程
- 實時雲渲染關鍵技術-低延遲詳解
- socket 完成簡單的通訊
- 單點登入原理與簡單實現
- java實現簡單的單點登入Java
- 前端資料渲染及mustache模板引擎的簡單實現前端
- spark-submit提交任務時執行流程(簡單版)SparkMIT
- 【SpringBoot】SpringBoot + MyBatis 連線 MySQL 並完成簡單查詢的流程Spring BootMyBatisMySql
- 資料加密新技術-實時雲渲染技術應用加密
- iOS MQTT 簡單使用流程iOSMQQT
- Activiti5.2 自動完成第一節點流程
- CAS 單點登入流程
- Flutter渲染流程解析Flutter
- requestAnimationFrame中完成想要的渲染requestAnimationFrame
- 簡單實現點選回到頂部
- 預渲染與實時渲染:有什麼區別?
- 實時渲染和預渲染有什麼區別
- RAC 雙節點 轉單節點流程
- 簡單理解DNS解析流程(一)DNS
- HTTPS流程簡單介紹HTTP
- laravel5.5 + react完成簡單的CRUDLaravelReact
- 用Scroller完成一個簡單的ViewPagerViewpager
- 實時渲染:KeyShot Pro for macMac
- Unity 高清渲染管線 ShaderGraph 實現簡單的表面水流效果Unity
- VUE簡單的定時器實時重新整理Vue定時器
- 5G+實時雲渲染,助力虛擬模擬實訓教學升級
- 網易雲簡單案例
- 瀏覽器渲染流程瀏覽器
- 未讀訊息(小紅點),前端與 RabbitMQ實時訊息推送實踐,賊簡單~前端MQ