Одновременно можно нажимать только 4 кнопки, поэтому игроки не могут иногда двигаться
Каждый игрок имеет свои собственные элементы управления
я меняю стрелку вверх и другие для каждого игрока --- v
InputsV-VV
public string UpArrow;
public string DownArrow;
public string LeftArrow;
public string RightArrow;
if(Input.GetButton(UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetButton(DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetButton(LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if(Input.GetButton(RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
Ответы:
Клавиатуры имеют аппаратные ограничения на количество клавиш, которые можно нажимать и распознавать одновременно.
Ваш код здесь не проблема, скорее всего, дизайн клавиатуры.
источник
Клавиатуры имеют матрицу клавиш, в которой кнопки расположены примерно в квадратную форму, причем каждая из клавиш привязана к одному ряду и одному столбцу. Клавиатура активирует каждую строку, а затем читает столбцы. Если вы набросаете это, то увидите, что некоторые комбинации кнопок должны активировать «фантомные» клавиши. Вы можете исправить это с помощью одного диода на кнопку (что является существенной стоимостью для клавиатуры) и иметь полную опрокидывание . Чтобы избежать фантомов, клавиатура без полного ролловера будет игнорировать неоднозначные комбинации клавиш.
Клавиши-модификаторы всегда спроектированы таким образом, чтобы их можно было закрепить.
Когда на клавиатуре есть набор клавиш для отчета, она должна упаковать его в отчет HID USB, который содержит один байт, который является битовой маской модификаторов, и 6 байтов для других кодов сканирования. Таким образом, даже при полном пролонгации вы вряд ли увидите более 8 модификаторов и 6 скан-кодов одновременно.
(отчет о клавиатуре также имеет один байт, который всегда равен 0, что составляет 8 байтов)
источник