前言
虛幻引擎對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 等。對研發人員有一定的要求。
虛幻引擎為了可以向各個目標平臺整合他們的第三方SDK,它定義了外掛體系,相當於模組化的動態插接方式,讓開發人員以外掛的形式統一處理各目標平臺的接入需求。
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 編輯下直接開啟目標平臺的工程檔案是不能與裝置進行聯機偵錯的。
原創文章,轉載請註明出處