[發(fā)明專利]一種虛幻引擎與外部程序的數(shù)據(jù)通信方法有效
| 申請?zhí)枺?/td> | 202110523205.8 | 申請日: | 2021-05-13 |
| 公開(公告)號: | CN113296979B | 公開(公告)日: | 2022-10-14 |
| 發(fā)明(設(shè)計)人: | 徐新海;朱成璋;劉遜韻;李豪;葉帥;楊偉龍 | 申請(專利權(quán))人: | 中國人民解放軍軍事科學(xué)院戰(zhàn)爭研究院 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 中國兵器工業(yè)集團公司專利中心 11011 | 代理人: | 祁恒 |
| 地址: | 100091 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 虛幻 引擎 外部 程序 數(shù)據(jù)通信 方法 | ||
本發(fā)明提出一種虛幻引擎與外部程序的數(shù)據(jù)通信方法,虛幻引擎與外部程序之間采用高效的gRPC遠(yuǎn)程服務(wù)調(diào)用作為虛幻引擎和外部程序間數(shù)據(jù)傳輸?shù)耐ㄐ欧绞?,采用protobuf作為數(shù)據(jù)傳輸格式,支持全類型數(shù)據(jù)傳輸,支持多種程序語言開發(fā)的外部程序與虛幻引擎通信,提供多種程序語言的通信接口;采用虛幻引擎的多線程機制無阻塞地監(jiān)聽外部程序所發(fā)送消息;采用虛幻引擎的自動刪除型后臺任務(wù)執(zhí)行機制無阻塞地向外部程序發(fā)送消息。本發(fā)明可以保證虛幻引擎與外部程序的高效數(shù)據(jù)通信,提供虛幻引擎與多種程序語言開發(fā)的外部程序相互通信的能力。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)傳輸技術(shù)領(lǐng)域,具體涉及一種虛幻引擎與外部程序的數(shù)據(jù)通信方法。
背景技術(shù)
虛幻引擎(Unreal Engine,簡稱UE或UE4)是Epic Game公司開發(fā)的一款游戲引擎。虛幻引擎以其強大的實時渲染能力、高真實感的畫質(zhì)效果、開發(fā)者友好的編輯工具、體系完備的功能模塊成為最為頂尖的游戲引擎之一。虛幻引擎不僅在游戲制作領(lǐng)域占有絕大多數(shù)的市場,而且廣泛應(yīng)用在高精度仿真、工業(yè)設(shè)計、虛擬現(xiàn)實、電影制作等諸多行業(yè)和領(lǐng)域之中。
虛幻引擎與外部程序的數(shù)據(jù)通信有著重要的應(yīng)用價值。在虛幻引擎的應(yīng)用中,虛幻引擎多與其它外部程序共同協(xié)作以實現(xiàn)特定應(yīng)用的完整功能。例如,虛幻引擎作為仿真展示系統(tǒng)與其外部程序仿真物理引擎交互以實現(xiàn)具有高真實感畫面的高精度仿真。虛幻引擎與外部程序的協(xié)作、交互均依于虛幻引擎與外部程序之間的通信。例如上例中,仿真物理引擎將模型數(shù)據(jù)通過某種通信方法發(fā)送給虛幻引擎用以渲染展示。因此,虛幻引擎與外部程序之間的通信對于廣泛的商業(yè)、工業(yè)應(yīng)用起到了基礎(chǔ)性、關(guān)鍵性、決定性的作用。
當(dāng)前虛幻引擎與外部通信的方法主要包括文件讀寫型、服務(wù)器通信型、點對點通信型三種類型。
文件讀寫型方法通過虛幻引擎和外部程序同時讀寫存儲介質(zhì)中的同一文件實現(xiàn)通信。該方法實現(xiàn)方式簡單,但是其通信效率受限于存儲介質(zhì)的讀寫速度,且無法實現(xiàn)虛幻引擎與部署在遠(yuǎn)程主機上的外部程序進行通信。因此,文件讀寫型方法僅適用于單機部署且對通信速度要求不高的系統(tǒng),其應(yīng)用場景有限。
服務(wù)器通信型方法建立通信服務(wù)器來連接虛幻引擎與外部程序。在該類方法中,虛幻引擎和外部程序之間的通信數(shù)據(jù)經(jīng)由通信服務(wù)器進行數(shù)據(jù)轉(zhuǎn)發(fā)。其典型實現(xiàn)方法有通過Socket.IO的實現(xiàn)方法和通過ROS Integration的實現(xiàn)方法。Socket.IO的實現(xiàn)方法利用獨立的服務(wù)器,點對點轉(zhuǎn)發(fā)虛幻引擎和外部程序之間的通信數(shù)據(jù)。ROS Integration的實現(xiàn)方法采用獨立服務(wù)器進行“發(fā)布、訂閱”模式的通信,使得虛幻引擎可向訂閱了其數(shù)據(jù)消息的外部程序發(fā)送數(shù)據(jù)、可接受其訂閱了數(shù)據(jù)消息的外部程序發(fā)送的數(shù)據(jù)。當(dāng)前,服務(wù)器通信型方法是虛幻引擎與外部程序的通信方法中應(yīng)用最多、復(fù)用性最好的通信方法,也可解決文件讀寫型方法無法遠(yuǎn)程通信的問題。然而,服務(wù)器通信型方法由于所有數(shù)據(jù)均需由獨立服務(wù)器轉(zhuǎn)發(fā),其通信距離較長且服務(wù)器的處理能力會成為通信瓶頸。因此,該方法的通信效率無法滿足大規(guī)模數(shù)據(jù)高效實時傳輸?shù)男枨?。例如,在自動駕駛仿真中虛幻引擎利用服務(wù)器通信型方法向多個自動駕駛控制程序同時發(fā)送高清渲染的實時場景照片時,會因為服務(wù)器的處理能力有限而造成外部程序獲取的場景照片嚴(yán)重滯后于虛幻引擎中仿真場景狀態(tài)的情況,造成自動駕駛控制程序計算偏差。
點對點通信方法直接建立虛幻引擎與外部程序的通信信道實現(xiàn)數(shù)據(jù)通信。典型的實現(xiàn)方法包括虛幻引擎提供的UDP通信方法和gRPC通信方法。虛幻引擎提供的UDP通信方法使用虛幻引擎消息傳輸橋連接虛幻引擎和外部程序。然而,該方法僅支持虛幻引擎與C++編程語言開發(fā)的外部程序進行通信。當(dāng)前采用gRPC進行虛幻引擎與外部程序進行通信的解決方案為Infraworld。其可以保證數(shù)據(jù)的高效傳輸,并可支持虛幻引擎與多種語言開發(fā)的外部程序進行通信。然而Infraworld僅實現(xiàn)了從虛幻引擎向外部程序單向主動發(fā)送數(shù)據(jù)的功能,未實現(xiàn)虛幻引擎對外部程序所發(fā)送數(shù)據(jù)的監(jiān)聽和接收功能,故可使用Infraworld的應(yīng)用場景有限。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍軍事科學(xué)院戰(zhàn)爭研究院,未經(jīng)中國人民解放軍軍事科學(xué)院戰(zhàn)爭研究院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110523205.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種基于實體類型的并行仿真實體劃分方法
- 下一篇:攝像機模塊





