實時云渲染將UE像素流嵌入業務系統,實現二維管理系統與數字孿生三維可視化程序的無縫交互

在數字孿生大屏可視化項目中,將實時云渲染技術嵌入業務系統已成為提升用戶體驗和工作效率的關鍵策略之一。將云渲染嵌入業務系統,用戶可以在執行業務操作時實時看到云渲染畫面的響應,同時對云渲染畫面的操作也能立即反饋到業務系統中。這種無縫交互增強了用戶的操作體驗,還為業務流程的優化提供了新的可能性。本文將詳細介紹使用LarkXR 實時云渲染平臺時,如何利用?WebSDK 和數據通道插件實現這一目標。

一、場景概述

假設你正在管理一個建筑可視化項目,你的業務系統允許用戶設計建筑模型,并實時查看渲染效果。為了實現這一功能,你需要將實時云渲染嵌入到業務系統中,讓用戶在業務系統中進行操作時,云渲染畫面能夠實時響應;同時,用戶在云渲染畫面中的操作也能反饋到業務系統中,實現雙向交互。

二、準備工作

在開始實現之前,你需要確保已經具備以下條件:

  • LarkXR實時云渲染平臺:可自建https://www.pingxingyun.com/devCenter.html或者使用平行云實時云渲染托管平臺https://www.pingxingyun.com/console/#/console。

  • 已有業務系統+云渲染WebSDK:可以利用WebSDK Demo基礎上去構建源碼:github.com

  • 數據通道插件:支持 Unity、Unreal Engine(UE)和 WebGL 等各類 3D/XR 引擎,并為每種技術棧提供了不同的集成方式。

三、實現步驟

(一)集成 WebSDK

1. 獲取 WebSDK ID

您可以通過 LarkXR 實時云渲染平臺的個人開發者入口,自助申請 SDK(見下圖),也可以聯系客服等工作人員獲取本地測試的 SDK 。

2. 引入WebSDK

WebSDK 提供了多種 Demo 示例 源碼:github.com。,其中 ui-mobile-vue-new 是一個非常推薦的選擇。這個 Demo 基于 Vue 2.0 開發,不僅與標準客戶端保持一致,還提供了完整的 UI 組件,并支持高度定制化。

# npm
npm i larksr_websdk
# plain html
<script src="larksr-web-sdk.min.js"></script>

3. 初始化 WebSDK & 加載云渲染場景

你需要提供一些配置參數,例如,您是自建的LarkXR實時云渲染平臺:

// serverAddress LarkXR云渲染平臺地址, exp:http://222.128.6.137:8181/// 您的 SDK ID 如果您是從開發者平臺申請的云授權碼,請在開發者平臺申請 SDK 授權碼,否則請聯系business@paraverse.cc // appliId 請在 LarkXR 管理后臺查看.var larksr= new LarkSR({ // 設置掛載顯示的元素// 注意*不要*設置為 document.documentElementrootElement: document.getElementById('container'),// 服務器地址,實際使用中填寫您的服務器地址// 如:http://222.128.6.137:8181/serverAddress: "Lark 服務器前臺地址",
});// 授權碼,驗證成功之后才能調用 connect
larksr.initSDKAuthCode('您的 SDK ID')
.then(() => {// start connect;client.connect({// 要使用的云端資源的應用 ID,從LarkXR管理后臺查看.// 參考查詢應用一欄文檔// https://showdoc.pingxingyun.com/web/#/75/1697appliId: "應用ID"}).then(() => {console.log('enter success');}).catch((e) => {console.error(e);}); 
})
.catch((e) => {console.error(e);
});

(二)配置數據通道插件

我們支持 Unity、Unreal Engine(UE)和 WebGL 應用,并為每種技術棧提供了不同的集成方式。以下是詳細的集成指南?https://showdoc.pingxingyun.com/web/#/42/1047

(三)發送消息到云渲染畫面

在業務系統中,當用戶執行操作時,通過WebSDK中封裝好的方法發送到云渲染畫面。例如:

<template><div><!-- 綁定發送消息到云端應用的操作 --><button @click="handleClick">點擊我,發送一條數據到云端應用</button></div></template><script>export default {methods: {handleClick() {/*** 發送文字消息給數據通道* 注意 云端應用要集成數據通道功能* > V3.2.314 版本對應服務器版本和數據通道版本為 3.2.5.1 及以上* @param text 文字*/
larksr.sendTextToDataChannel("業務系統發送消息到云端應用");  }}
};
</script>

(四) 處理云渲染畫面的消息

以UE為例,可以監聽業務系統發送過來的消息

// on_data:為接收到web或其他客戶端發來的數據,禁止為NULLLARKXR_API int  DC_CALL lr_client_start(const char* taskid, on_connected cb_connected,on_data cb_data,on_disconnected cb_disconnected,void* user_data);

(五)云端應用發消息到業務端

發送數據,支持字符串和二進制數據。

參數描述

  • type: 發送數據類型 ,字符串或者二進制數據

  • data: 數據指針

  • size: 數據長度 (字符串建議包含’\0’的長度)

返回值: 小于0 代表發送失敗參考類型定義,等于發送長度代表發送成功

LARKXR_API int DC_CALL lr_client_send(enum data_type type, const char* data, size_t size);
?

(六)業務端監聽云端應用發來的消息

在 LarkXR的整個生命周期中,會觸發多種事件通知。

其中,數據通道連通成功事件數據通道接收到消息事件是本次實現中重點關注的事件類型。

// 數據通道是否打開 -- 重要,可以判斷數據通道是否連通
larksr.on('datachannelopen', function(e) { console.log("LarkSRClientEvent datachannelopen", e); 
});
// 數據通達收到文字消息
larksr.on('datachanneltext', function(e) { console.log("LarkSRClientEvent datachanneltext", e); 
});
// 數據通道收到字節消息 
larksr.on('datachannelbinary', function(e) { console.log("LarkSRClientEvent datachannelbinary", e); 
});
?

本文已發布于官網:https://www.pingxingyun.com/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90800.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90800.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90800.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Apache POI 介紹與使用指南

文章框架一、Apache POI 概述定義&#xff1a;Java API操作Microsoft Office格式文件核心功能&#xff1a;讀寫Excel&#xff08;.xls, .xlsx&#xff09;操作Word、PowerPoint等文檔優勢&#xff1a;開源免費、跨平臺、功能全面二、環境準備Maven依賴配置&#xff1a;<!-- …

Redis--哨兵機制詳解

1. 哨兵機制簡介Redis Sentinel&#xff08;哨兵&#xff09;是Redis的高可用性解決方案&#xff0c;它提供了監控、通知、自動故障轉移和配置提供者等功能。Sentinel系統可以監控多個Redis主服務器及其從服務器&#xff0c;并在主服務器失效時自動進行故障轉移&#xff0c;確保…

無人機機體結構設計要點難點分析

一、 設計要點1.輕量化&#xff1a;核心目標&#xff1a; 最大程度減輕結構重量&#xff0c;提升有效載荷能力、續航時間、飛行速度和機動性。實現手段&#xff1a; 選用高比強度/比剛度材料&#xff08;碳纖維復合材料、航空鋁合金、鈦合金、工程塑料&#xff09;、拓撲優化、…

AI時代的數據庫革命:電科金倉的“融合+AI“戰略解析

在人工智能時代的大變局下&#xff0c;數據庫要走向何方&#xff1f; 7月15日&#xff0c;中國電科旗下金倉數據庫以一場名為“融合進化 智領未來”的發布會&#xff0c;提出了自己的核心主張&#xff1a;真正的未來數據庫&#xff0c;是“融合”為體&#xff0c;“AI”為用。電…

與deepseek的問答:dot net與Borland VCL的關系

Borland VCL與.NET/C#關系分析borland delphi如神一般地存在&#xff01;試分析.net、c#與Borland VCL的關系。Borland Delphi及其VCL&#xff08;Visual Component Library&#xff09;框架在軟件開發史上確實具有傳奇地位&#xff0c;尤其在Windows桌面應用開發領域。而隨著.…

SAP在未啟用負庫存的情況下,庫存卻出現了負數-補充S4 1709 BUG

SAP在未啟用負庫存的情況下&#xff0c;庫存卻出現了負數-補充S4 1709 BUG共用物料合并發料&#xff1a;單行發料數量沒有超過庫存數量&#xff0c;但合計發料數量超過庫存數量了&#xff0c;系統還是可以過賬&#xff0c;沒有任何提示&#xff0c;如下圖所示&#xff1a;庫存數…

SpringBoot項目中常見注解

RequiredArgsConstructor 注解 類上添加該注解&#xff0c;Lombok 會自動生成一個構造函數&#xff0c;用于注入 final 或 NonNull 修飾的字段 ConfigurationProperties注解 用于將配置文件中的屬性注入到某個類的字段上 sky:jwt:admin-secret-key: itcastadmin-ttl: 7200000ad…

一鍵修復ipynb,Jupyter Notebook損壞文件

背景最近在寫一個數據分析項目時&#xff0c;不幸遇到了 斷電導致電腦重啟 的突發情況。當我再次打開 Jupyter Notebook 文件&#xff08;.ipynb&#xff09;時&#xff0c;發現文件已經損壞&#xff0c;Jupyter 無法正常讀取它&#xff0c;甚至有時直接報錯&#xff1a;Unread…

React入門學習——指北指南(第三節)

React 組件 在前面的內容中,我們了解了 React 的基礎知識和入門案例。本節將深入探討 React 中最核心的概念之一 —— 組件。組件是構建 React 應用的基礎,理解組件的工作原理和使用方法,對于掌握 React 開發至關重要。 什么是組件? 在 React 中,組件是具有獨立功能和 …

容器化環境下的服務器性能瓶頸與優化策略

更多云服務器知識&#xff0c;盡在hostol.com在容器化環境中&#xff0c;性能優化并不是一個簡單的“加硬件”或“增加資源”就能解決的問題。隨著技術的進步&#xff0c;越來越多的公司選擇使用容器技術&#xff08;如Docker、Kubernetes&#xff09;來提高應用的靈活性、可移…

GaussDB 數據庫架構師修煉(八) 等待事件(2)-ASP報告分析

1 ASP報告簡介ASP-Active Sesion Profile &#xff08;活躍會話檔案信息&#xff09;&#xff0c;ASP每秒獲取活躍會話事件&#xff0c;放到內存中&#xff0c;內存中的數據達閾值&#xff0c;會落盤gs_asp表中。ASP Report根據輸入的時間段與slot個數&#xff0c;從內存和磁盤…

CentOS7 安裝 Redis

在 CentOS 7 上配置 Redis 服務器需要完成安裝、配置和服務管理。以下是詳細步驟&#xff1a;安裝 Redis安裝依賴&#xff1a;yum install -y gcc tcl下載并解壓 Redis&#xff1a;cd /usr/local/wget https://download.redis.io/releases/redis-6.2.6.tar.gztar -zxvf redis-6…

《C++ list 完全指南:從基礎到高效使用》

《C list 完全指南&#xff1a;從基礎到高效使用》 文章目錄《C list 完全指南&#xff1a;從基礎到高效使用》一、forward_list和list比較二、list的接口介紹1.list的構造2.list iterator的使用3.list的容量操作4.list的訪問操作5.list的其他操作接口三、list的迭代器失效四、…

CIU32L051 DMA+Lwrb環形隊列實現串口無阻塞性數據的收發 + 數據百分百不丟失的實現

1.Lwrb的介紹&#xff08;博主功能的實現是基于RT-thread系統實現&#xff09; Lwrb是由Tilen Majerle編寫的一個線程安全的環形隊列&#xff0c;通常與DMA配合實現數據的無阻塞性收發&#xff0c;同時&#xff0c;配合DMA的傳輸過半中斷&#xff0c;傳輸完成中斷&#xff0c;以…

【C++】C++ 的入門知識2

本篇文章主要講解 C 的入門語法知識引用、inline 關鍵字與 nullptr 關鍵字。 目錄 1 引用 1&#xff09; 引用的概念與定義 &#xff08;1&#xff09; 引用的概念 &#xff08;2&#xff09; 引用的定義 2&#xff09; 引用的特性 3&#xff09; 引用的使用場…

基于Kafka實現動態監聽topic功能

生命無罪&#xff0c;健康萬歲&#xff0c;我是laity。 我曾七次鄙視自己的靈魂&#xff1a; 第一次&#xff0c;當它本可進取時&#xff0c;卻故作謙卑&#xff1b; 第二次&#xff0c;當它在空虛時&#xff0c;用愛欲來填充&#xff1b; 第三次&#xff0c;在困難和容易之間&…

機械學習初識--什么是機械學習--機械學習有什么重要算法

一、什么是機械學習機器學習&#xff08;Machine Learning&#xff09;是人工智能&#xff08;AI&#xff09;的一個重要分支&#xff0c;它使計算機能夠通過數據自動學習規律、改進性能&#xff0c;并在沒有明確編程的情況下完成特定任務。其核心思想是讓機器從數據中 “學習”…

普通大學生大三這一年的想法

目錄 大三期間的經歷與反思 公益活動&#xff1a;社會責任感的體現 比賽&#xff1a;個人成長的助推器 培訓與思想提升 大學教育的本質與人才培養 構建自我的道與未來規劃 大學教育的未來與個人定位 結語 大三期間的經歷與反思 大三&#xff0c;大學生活的分水嶺&#…

Python——入門

目錄 變量 變量類型 動態類型 注釋 輸出輸入 運算符 算術運算符 關系運算符 邏輯運算符 賦值運算符 條件語句 循環語句 函數 函數作用域 函數嵌套調用 函數默認參數 關鍵字參數 列表 切片 列表遍歷 新增元素 查找元素 刪除元素 列表拼接 元組…

華為榮耀部分機型從鴻蒙降回EMUI的一種方法

一、準備說明 1、這里介紹使用華為手機助手、海外代理軟件結合固件將部分華為榮耀手機鴻蒙系統降級回EMUI系 統的一種方式&#xff1b; 2、需要降級的手機需要再出廠時內置系統為EMUI&#xff0c;出廠時為鴻蒙系統的無法進行降級操作&#xff1b; 3、降級有風險&#xff0…