前言
虚幻引擎对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 编辑下直接打开目标平台的工程文件是不能与设备进行联机调试的。
原创文章,转载请注明出处