前言
虛幻引擎對SDK接入有著一套專門的方式,本文主要描述了如何給使用虛幻引擎開發的專案接入第三方SDK,并分享了接入微信SDK的分享等基礎功能的實踐程序,還涉及到除錯和提高整合SDK效率的一些方法,
SDK意義

SDK 廣義是指Software Development Kit 即 應用軟體開發包,我們這里主要指能夠擴展軟體產品(APP)功能的開發軟體包,比如有Google, Face Book,微信,BUGLY等,
這些SDK可以幫助軟體產品(APP)與用戶,運營,社區,研發等多方建立“鏈接”,如,幫助用戶登陸和支付,進入社區,方便運營團隊收集用戶資料,研發也可以獲得APP運行的日志和終端Crash資訊等等,
虛幻引擎接接SDK 特點
- 涉及兩套開發語言

虛幻引擎開發的APP, 產品的業務邏輯大多以Blueprint 藍圖書寫,而C++語言 主要用于代碼量大的,對效率有高要求,跟硬體打交道的場合,

接SDK大多使用C++ 語言,這個是第三方開發SDK的封裝主要語言,也是一些底層設備,比如VR設備通信和控制的基礎語言,
UE兩套語言要整合到發布的目標平臺(IOS,ANDROID,VR,XBOX),目標平臺可能又有幾套開發語言,比如OBJECT C, JAVA 等,對研發人員有一定的要求,
- Plugin 插件體系

虛幻引擎為了可以向各個目標平臺整合他們的第三方SDK,它定義了插件體系,相當于模塊化的動態插接方式,讓開發人員以插件的形式統一處理各目標平臺的接入需求,
- APL 自動化集成語言

APL語言(可以直譯為插件語言),它使用類XML易語言來撰寫和描述,它是虛幻引擎在插件體系的基礎上,開發一門集成語言,通過APL語言提高整合的的效率,讓開發人員可以調整目標平臺的引數,書寫平臺語言代碼,調度追加語言庫不同等,提高了可維護性,

誠然,新語言有個學習程序,
3.專為UNREAL預先集成的SDK少,整合繁瑣
大部分SDK因為要適應各種目標平臺和語言,所以為每一個目標平臺研發引擎都去書寫一套SDK的封裝,需要大量的人力,他們往往只提供更底層的原始庫,

好一些的SDK會提供流行的開發引擎的封裝,如UNITY3D ,COCOS,UWP 等等,
但是如果Unreal Engine 引擎開發人員直接使用這些庫進行SDK集成會花費更多的時間,
虛幻引擎接SDK一般步驟
下載第三方的 Native C++ SDK 或專為虛幻引擎封裝的SDK

匯入插件
在專案工程目錄創建 Plugins 目錄,將第三方為UnrealEngine 撰寫的sdk 解壓后放到工程的Plugins目錄里面,
啟動工程進行編譯
修改APL 做平臺描述調整

應用層修改
出包除錯

虛幻引擎接入 微信SDK
到微信的開發后臺,提供APP的bundleID 和必要資訊,審核后得到微信的APPID

到微信的 開發者后臺 下載最新的 微信SDK, 微信SDK就沒有為UNREAL ENGINE 專門寫SDK
制作整合微信的UNREAL ENGINE 插件
這一部分作業量較大,我們會在后期分享里另開篇幅介紹,這里假定開發人員使用了一個被第三方封裝好的SDK.
修改APL 做平臺描述調整

應用層修改

出包除錯


除錯和一些提升效率的技巧
跟SDK相關的除錯一般并不能夠在PC的原工程上直接除錯,需要有設備接入,手機,VR設備,硬體等,
我們拿手機設備來說,一般會有兩個目標平臺,IOS, ANDROID平臺,
如果要帶硬體除錯,必須生成到目標平臺的工程,如XCODE工程,ANDROID GRADLE工程,
Unreal Engine 開發人員需要聯機除錯,需要特定的目錄,打開和匯入相應的工程檔案,
比如Android平臺如下:

IOS 平臺則為:

而在UnrealEngine 編輯下直接打開目標平臺的工程檔案是不能與設備進行聯機除錯的,
原創文章,轉載請注明出處
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/144801.html
標籤:其他
上一篇:ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid
下一篇:小紅書筆試
