
SDK中集成了几种类型的游戏控制器,如:
以下图片,依次为上述四种设备。




那我们应该如何让影创SDK,来适配我们的项目呢?
那么下面,我们先来讲第一个:如何让SDK支持不同的游戏控制器(即手柄)
Assets 中搜索:SDKConfiguration 如下四项,便是不同型号设备控制器的开关(1表示开,0表示关)

有小老弟问了:橙哥,全部打开会不会冲突报错啊? Answer:不会的,默认全部打开,这样连上来了任意手柄,都能使用。
那橙哥,SDK输入方式有优先级么? Answer:游戏控制器 > 手势 > 头显 即:连上手柄,头显和手势交互会被关闭;连上手势,头显会关掉。 它们是互斥存在的。
接下来我们学习下,如何在unity中,显示出你的手柄模型, 并进行一个交互。
完成如下基础的操作:
再创建一个Cube,作为我们接下来交互地测试对象:

在Unity中,默认是手势交互的,场景中会显示一只手。 下面,我们用K11手柄举例,来在Unity中进行测试。
1、打开手柄模拟开关 激活 InputDeviceKS 物体 《InputDeviceKS》脚本的 SimulateInEditor 属性。 注意:在游戏未运行状态下激活,在运行时激活无效。

2、设置使用K11手柄 其实在SDK中,并没有暴露给开发者设置模拟手柄的接口, 橙子查阅代码发现,我们可以通过更改代码的形式,去使用其他手柄。
找到 GSXRPluginWin 脚本,我们看到:
public override int GSXR_Get_ControllerList(int lr) { return (int)KSID.K102; }SDK默认赋值K102手柄,我们只需要在这改成对应的手柄就好了:
public override int GSXR_Get_ControllerList(int lr) { return (int)KSID.K11; }上面我们完成了在编辑器中适配我们的设备, 想让SDK完全适配我们的设备,那还需要代码去适配。
因为不同的手柄设备,按键不一样,功能不一样,那么在编写代码时,主意调用正确的API就好了
SDK API部分,我们可以去官网进行完整的查看。(传送门)