[發明專利]一種重寫UE4渲染引擎底層及其通信機制的方法有效
| 申請號: | 201910725094.1 | 申請日: | 2019-08-07 |
| 公開(公告)號: | CN110543370B | 公開(公告)日: | 2022-07-08 |
| 發明(設計)人: | 陳旋;周海;龔楷楠 | 申請(專利權)人: | 江蘇艾佳家居用品有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 南京新慧恒誠知識產權代理有限公司 32424 | 代理人: | 鄧唯 |
| 地址: | 211100 江蘇省南京市江寧區*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 重寫 ue4 渲染 引擎 底層 及其 通信 機制 方法 | ||
1.一種重寫UE4渲染引擎底層及其通信機制的方法,其特征在于:具體包含如下步驟;
步驟1,重寫UE4引擎底層切換顯示深度的機制;
步驟2,重寫UE4引擎底層處理windows消息的機制;
步驟3,重寫UE4引擎底層的鍵盤鼠標響應事件;
步驟4,重寫UE4引擎底層與其它windows應用程序交互的機制,通過改寫FSocket和Frunnable的對應接口使其能夠通過WebSocket與外部應用程序進行通信;
步驟5,重寫UE4引擎底層的窗口移動縮放的機制;
步驟6,重寫UE4引擎與其它H5應用交互的機制;
步驟7,重寫UE引擎底層的時序觸發函數,改造后的UE引擎在其內部每幀都會調用Tick函數,通過共享內存讀取外部應用程序傳來的數值,從而實現外部應用程序對內部渲染場景的控制;
所述步驟1具體如下:重寫后的機制通過判斷UE4嵌入QT框架和原生UE4兩種情況;
若為UE4嵌入QT框架,則調用Win32 API SetForegroundWindow設置前臺窗口;
若為原生UE4,則調用SetWindowPos和DeferWindowPos來重排窗口在windows顯示的Z次序;
所述步驟2具體如下:重寫后的UE4引擎接受外來窗口發送的WM_ACTIVATE和WM_ACTIVATEAPP消息,并通過QT::createWindowContainer方法將UE4引擎嵌入QT框架;
所述步驟3具體如下:通過改寫OnMouseButtonUp函數、OnMouseButtonDown函數和ProcessAccumulatedPointerInput函數重寫響應邏輯,
重寫WM_LEFTCLICK/WM_MIDDLECLICK/WM_RIGHTCLICK消息響應函數直接讀取當前鼠標屏
幕位置及相對UE窗口的偏移值以計算出正確的鼠標坐標;
所述步驟5具體如下:重寫后的UE4引擎在收到WM_MOVEMENT消息時檢測父窗口位置是否變動,若變動則調用改造的OnMovedWindow函數重新設定UE窗口鼠標坐標;
所述步驟6具體如下:重寫后的UE4引擎引入webChannel組件作為插件,用于發送和接收字符串、json數據或者自定義格式數據與H5應用進行通信,或者用于直接調用H5應用的函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇艾佳家居用品有限公司,未經江蘇艾佳家居用品有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910725094.1/1.html,轉載請聲明來源鉆瓜專利網。





