使用新的Unity输入系统处理多个游戏手柄

时间:2019-10-08 19:25:22

标签: c# unity3d input gamepad

基本上,我想在我的游戏中使用 2个GamePad控制器和新的单位输入系统。我正在使用 Unity2019-2.5f1 。我正在使用提供的最后一个输入管理器(要安装的特定软件包,不是默认软件包)

问题是,当我通过编辑器进行“输入操作” 映射时,我没有任何地方可以指定我需要将一个Controller绑定到一个Action Map 。因此,最后,当我插入控制器并使用它时,基本上可以控制2个播放器

我已经尝试复制Input Actions映射的任何层次结构 看看Unity是否自行处理它(我会感到惊讶,但正如您所看到的并非如此)。

也研磨Google&Youtube 来查找某些东西,但是我发现的每个文档都没有专门谈论2 GamePad 或正在使用旧输入系统(带有字符串的那个)。

//Each of those Variable are two different InputAction maps.

Controls controls = new Controls();
CharacterSelection controls2 = new CharacterSelection();

//The move action is already bind to a joystick and works well when i only have to handle one player.

controls.Page1.Move.performed += ctx => print("First GamePad");
controls2.Page1.Move.performed += ctx => print("Second GamePad");

当我移动操纵杆时:

First GamePad

Second GamePad

已打印

0 个答案:

没有答案