Ось работает правильно, но в Android Build нет кнопки

Я создаю мобильную игру VR, и я управляю этой игрой с помощью контроллера PS3. Контроллер очень хорошо работает в редакторе Unity со всеми кнопками и осями. А когда подключаю контроллер к телефону android, все кнопки работают и ось тоже. Проблема в том, что когда я создаю игру в Android, кнопки работы только оси не работают. Хотя я много раз менял настройки диспетчера ввода, это тоже ничего не дало. И сделал несколько вещей вроде:

  1. Эта строка кода получает значение оси:

    float steering = CrossPlatformInputManager.GetAxis("Horizontal");
    
  2. Итак, я попытался получить значение от кнопки и сделать виртуальную кнопку с именем "joystickButton2" вот так:

    bool speed = CrossPlatformInputManager.GetButton("joystickButton2"); 
    

    это тоже не работает.

  3. Заменяю класс CrossPlatformInputManager на обычный Input класс и он аналогичен классу CrossPlatformInputManager.

    bool speed = Input.GetButton("joystickButton2");
    
  4. Я пытался получить ключ самостоятельно с помощью функции GetKey, например:

        bool speed = Input.GetKey (KeyCode.joystickbutton2);
    

    Ничего не произошло. Я пробовал много вещей и несколько вещей, но все равно работала только ось, а кнопки - нет.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
186
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Думаю, я нашел решение. Проблема заключалась в том, что Android считывает входные данные с контроллера PS3 непостоянным образом, как и кнопка X на joystickButton14, поэтому я сделал простой цикл для всех кнопок и отобразил результат в самой игре на Android, а когда я подключаю контроллер, так что Я точно знаю, какой у joystickButton номер.

public Text ButtonNumber;
void Update (){
  for (int i = 0 ; i =< 100 ; i++ ){
    string JoyStick = "joystickButton"+ i.ToString();
    if (input.GetKey(KeyCode.JoyStick)){
      ButtonNubmber.text = i.ToString();
}}}

Надеюсь, это кому-то поможет.

Другие вопросы по теме