C# 从操纵杆轴获取值时出现问题

C# 从操纵杆轴获取值时出现问题,c#,unity3d,input,joystick,C#,Unity3d,Input,Joystick,我使用的是标准的Unity输入管理器,而不是新的输入系统 我正在将一个操纵杆控制器连接到我的应用程序,但它不是标准的Xbox/PSx类型的控制器-它是一个用于模型飞机的(塔拉尼斯)无线电控制发射机。它们非常“软”,也就是说,根据变送器类型,它们支持多个通道,并且您可以将任何物理开关/电位计/操纵杆映射到变送器内的任何通道。通常,前四个通道映射到油门、偏航、俯仰和横滚的斗杆,您可以根据需要映射额外通道。我有两个额外的开关映射到通道5和通道6,双向,所以它们输出的通道值在最大正和最大负之间变化(控制

我使用的是标准的Unity输入管理器,而不是新的输入系统

我正在将一个操纵杆控制器连接到我的应用程序,但它不是标准的Xbox/PSx类型的控制器-它是一个用于模型飞机的(塔拉尼斯)无线电控制发射机。它们非常“软”,也就是说,根据变送器类型,它们支持多个通道,并且您可以将任何物理开关/电位计/操纵杆映射到变送器内的任何通道。通常,前四个通道映射到油门、偏航、俯仰和横滚的斗杆,您可以根据需要映射额外通道。我有两个额外的开关映射到通道5和通道6,双向,所以它们输出的通道值在最大正和最大负之间变化(控制棒显然根据位置给出不同的值)

发射机有一个USB输出,可以像PC游戏控制器一样工作,它确实有——所有六个通道都统一到达

不过,还有另一种(无线)方式:发射机传输到RC型接收机/飞行控制器,该接收机/飞行控制器有一个USB端口,然后与发射机一样连接到PC,不需要发射机到PC的USB电缆,仅此而已。接收器连接到运行软件BetaLight的飞行控制器,该软件支持PC USB链路。所有这些都与直接USB连接一样工作——除了额外的通道

在Unity中,我试图找出额外频道的位置。在BetaLight中,有一种可能性是,只有基本的四个被处理,我还不知道,我正试图从统一的角度进行调查

在Unity中,我已经将所有28个物理操纵杆轴(在Input Manager中显示的所有轴)映射到28个虚拟轴,称为JoyAxis1到JoyAxis28。我使用
Input.getAxisRaw(“”)读取这些文件
适用于基本的四个通道,其他两个通道在使用USB链路时工作正常,但在通过BetaLight时,其他两个通道工作正常

我注意到列表中接下来的两个虚拟轴(逻辑上我希望我的两个额外轴出现)都被固定在值“1”处,而工作轴都报告为-1到+1,完全未使用的轴报告为0。让我觉得这些轴上发生了什么,但不是正确的事情


经过长时间的描述之后,我的问题是:可赋值轴1到28是不是在Unity可以读取的方面?这些频道会以我还没有读过的其他形式出现吗?辅助问题是,我能从输入硬件得到真实的原始值吗(硬件当然不会产生-1到+1的浮点值,更可能是0到1023的整数,或者-128到+127的整数,或者类似的值,所以有输入处理在进行,我宁愿自己去做。

查看这个网站:谢谢,我对openTx相当熟悉。也许我没有说清楚,但我的问题是是否有输入e Unity可以看到的其他物理通道,我没有映射。我已经映射了基本的18个通道(H、V、fire1/2/3等),再加上另外28个操纵杆通道。