Unreal Engine 虚幻引擎 接入第三方SDK

 

前言

 

    虚幻引擎对SDK接入有着一套专门的方式,本文主要描述了如何给使用虚幻引擎开发的项目接入第三方SDK,并分享了接入微信SDK的分享等基础功能的实践过程,还涉及到调试和提高整合SDK效率的一些方法。

 

SDK意义

Unreal Engine 虚幻引擎 接入第三方SDK

SDK 广义是指Software Development Kit 即 应用软件开发包,我们这里主要指能够扩展软件产品(APP)功能的开发软件包。比如有Google, Face Book,微信,BUGLY等。

 

 

这些SDK可以帮助软件产品(APP)与用户,运营,社区,研发等多方建立“链接”。如,帮助用户登陆和支付,进入社区,方便运营团队收集用户数据,研发也可以获得APP运行的日志和终端Crash信息等等。

 

虚幻引擎接接SDK 特点

 

  1. 涉及两套开发语言

Unreal Engine 虚幻引擎 接入第三方SDK

虚幻引擎开发的APP, 产品的业务逻辑大多以Blueprint 蓝图书写,而C++语言 主要用于代码量大的,对效率有高要求,跟硬件打交道的场合。

Unreal Engine 虚幻引擎 接入第三方SDK

接SDK大多使用C++ 语言,这个是第三方开发SDK的封装主要语言,也是一些底层设备,比如VR设备通信和控制的基础语言。

UE两套语言要整合到发布的目标平台(IOS,ANDROID,VR,XBOX),目标平台可能又有几套开发语言,比如OBJECT C, JAVA 等。对研发人员有一定的要求。

 

  1. Plugin 插件体系

 

Unreal Engine 虚幻引擎 接入第三方SDK

 

虚幻引擎为了可以向各个目标平台整合他们的第三方SDK,它定义了插件体系,相当于模块化的动态插接方式,让开发人员以插件的形式统一处理各目标平台的接入需求。

 

  1. APL 自动化集成语言

 

Unreal Engine 虚幻引擎 接入第三方SDK

 

APL语言(可以直译为插件语言),它使用类XML易语言来编写和描述。它是虚幻引擎在插件体系的基础上,开发一门集成语言,通过APL语言提高整合的的效率,让开发人员可以调整目标平台的参数,书写平台语言代码,调度追加语言库不同等,提高了可维护性。

 

Unreal Engine 虚幻引擎 接入第三方SDK

诚然,新语言有个学习过程。

 

3.专为UNREAL预先集成的SDK少,整合繁琐

 

大部分SDK因为要适应各种目标平台和语言,所以为每一个目标平台研发引擎都去书写一套SDK的封装,需要大量的人力,他们往往只提供更底层的原始库。

Unreal Engine 虚幻引擎 接入第三方SDK

好一些的SDK会提供流行的开发引擎的封装,如UNITY3D ,COCOS,UWP 等等。

但是如果Unreal Engine 引擎开发人员直接使用这些库进行SDK集成会花费更多的时间。

 

 

虚幻引擎接SDK一般步骤

  

下载第三方的 Native C++ SDK 或专为虚幻引擎封装的SDK

    Unreal Engine 虚幻引擎 接入第三方SDK

导入插件

在项目工程目录创建 Plugins 目录,将第三方为UnrealEngine 编写的sdk 解压后放到工程的Plugins目录里面。

启动工程进行编译

 

 

修改APL 做平台描述调整

 

Unreal Engine 虚幻引擎 接入第三方SDK

 

应用层修改

  

 

出包调试

Unreal Engine 虚幻引擎 接入第三方SDK

 

虚幻引擎接入 微信SDK

   

到微信的开发后台,提供APP的bundleID 和必要信息,审核后得到微信的APPID

    Unreal Engine 虚幻引擎 接入第三方SDK

到微信的 开发者后台 下载最新的 微信SDK, 微信SDK就没有为UNREAL ENGINE 专门写SDK

 

制作整合微信的UNREAL ENGINE 插件

 

这一部分工作量较大,我们会在后期分享里另开篇幅介绍。这里假定开发人员使用了一个被第三方封装好的SDK.

 

修改APL 做平台描述调整

Unreal Engine 虚幻引擎 接入第三方SDK

应用层修改

Unreal Engine 虚幻引擎 接入第三方SDK

出包调试

Unreal Engine 虚幻引擎 接入第三方SDK

 

Unreal Engine 虚幻引擎 接入第三方SDK

调试和一些提升效率的技巧

 

跟SDK相关的调试一般并不能够在PC的原工程上直接调试,需要有设备接入,手机,VR设备,硬件等。

我们拿手机设备来说,一般会有两个目标平台,IOS, ANDROID平台。

如果要带硬件调试,必须生成到目标平台的工程,如XCODE工程,ANDROID GRADLE工程。

Unreal Engine 开发人员需要联机调试,需要特定的目录,打开和导入相应的工程文件。

比如Android平台如下:

Unreal Engine 虚幻引擎 接入第三方SDK

IOS 平台则为:

Unreal Engine 虚幻引擎 接入第三方SDK

而在UnrealEngine 编辑下直接打开目标平台的工程文件是不能与设备进行联机调试的。

 

 

原创文章,转载请注明出处