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

守給你的承諾、 提交于 2020-10-02 09:41:47

 

前言

 

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

 

SDK意义

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

 

 

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

 

虚幻引擎接接SDK 特点

 

  1. 涉及两套开发语言

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

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

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

 

  1. Plugin 插件体系

 

 

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

 

  1. 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 编辑下直接打开目标平台的工程文件是不能与设备进行联机调试的。

 

 

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

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!