需求分析:用threejs開發的數字孿生模型, 但是通過webgl技術網頁中使用,因為模型數據量大,加載比較慢,且需要和其他的業務系統進行網頁嵌套和交互,使用云渲染技術形成的推流網址,如何與外部網頁嵌套和交互?有可能會跨域
以上實時云渲染技術應用中詢問比較多的,其實不論是webgl還是UE或者Unity 應用,推流后都可以和網布網頁嵌套以及交互,我們分兩種情況來明確。
- 云渲染推流后的網址中,如何和應用做實時交互。點量云流的實時渲染,不會改變程序原本的交互方式,原來在Webgl/UE/Unity中是如何和模型交互的,還是怎么交互。目前點量云流前端交互方式支持:鼠標鍵盤、觸摸屏/板、游戲手柄、語音,基本涵蓋了模型交互需要的方式。
- 對于一些可視化項目,云渲染推流的網址需要和其他的業務系統對嵌套對接,除了上文說的模型本身的推流網址交互外,還需要考慮和嵌套網頁的交互。這又該如何實現呢?點量云流提供了詳細的使用文檔,具體可參考:WebGL應用或者普通Web應用集成示例代碼(https://doc.dolit.cn/dolitcloudserver/data_channel_app_web):
????// window.dlcaSend 和 window.dlcaReg 兩個函數為云流化引擎內置的,在Web應用流化時自動定義,無需導入任何js文件。
????// web 應用僅支持文本數據,如需二進制數據,可以base64編碼下。
????setInterval(()=>{
????????// 發送數據給云流化前端.
????????if(window.dlcaSend)?{
????????????window.dlcaSend("test")
????????}
????},1000);
????// 接收來自從云流化前端傳過來的數據
????if(window.dlcaReg)?{
????????window.dlcaReg('on_message',(data)=>{
????????????console.log("on data channel message:"?+?data);
????????});
????}
以上是關于webgl應用云渲染推流后的網頁嵌套和交互,如果是UE/Unity程序,也提供了詳細的使用方法,因此對于實時渲染推理后的網址和外部網頁嵌套以及交互,可以很方便的解決。