影创SDK☀️讲讲SDK如何适配不同型号的设备控制器

Posted 橙子SKODE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了影创SDK☀️讲讲SDK如何适配不同型号的设备控制器相关的知识,希望对你有一定的参考价值。

哈喽大家好,你的橙哥突然出现~

本系列博客地址:传送门




一、目前SDK适配的设备

SDK中集成了几种类型的游戏控制器,如:

  • 3Dof手柄:K02、K07手柄
  • 6Dof手柄:K102、K11手柄

以下图片,依次为上述四种设备。

那我们应该如何让影创SDK,来适配我们的项目呢?

那么下面,我们先来讲第一个:如何让SDK支持不同的游戏控制器(即手柄)


二、不同游戏控制器型号的开关

Assets 中搜索:SDKConfiguration
如下四项,便是不同型号设备控制器的开关(1表示开,0表示关)

  • ActiveBT3Dof:K02、K07手柄
  • ActiveKS:打开它,其他K系列手柄才会起作用,不然即使其他K手柄设为1,也不会起作用
  • KSModeSet3Dof:内测的一款K101手柄
  • UseK102Model:K102手柄

有小老弟问了:橙哥,全部打开会不会冲突报错啊?

Answer:不会的,默认全部打开,这样连上来了任意手柄,都能使用。

那橙哥,SDK输入方式有优先级么?

Answer:游戏控制器 > 手势 > 头显
即:连上手柄,头显和手势交互会被关闭;连上手势,头显会关掉。
它们是互斥存在的。



三、如何在Unity中模拟你的手柄,进行交互

接下来我们学习下,如何在unity中,显示出你的手柄模型,
并进行一个交互。

1、项目基础配置

完成如下基础的操作:

  • 删除Main Camera
  • 添加SDKSystem

再创建一个Cube,作为我们接下来交互地测试对象:



2、使用K11手柄进行模拟

在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部分,我们可以去官网进行完整的查看。(传送门


好啦,通过上述操作,我们便完成了SDK适配我们的设备的操作
大家还有什么问题,欢迎在下方留言!



如果你有 技术的问题 项目开发

都可以加我的vx(skode250)

和我聊一聊你的故事🧡

以上是关于影创SDK☀️讲讲SDK如何适配不同型号的设备控制器的主要内容,如果未能解决你的问题,请参考以下文章

影创SDK☀️创建第一个手势交互的例子

VR/MR ✙ 深入浅出⚡️ | 影创VR/MR 介绍

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接

PicoVR Unity SDK⭐️常用API接口函数一览

智能生活 App SDK 如何实现设备控制

如何使用 iOS 6 sdk 为 iPhone 4s 或 iPhone 4 制作视图控制器?