public float GetAxis()
{
if (inputDevice == InputDevice.MouseKeyboard)
{
return Input.GetAxis(this.buttonName);
}
}
Этот код отлично работает на моем компьютере с Windows 7 x64. Настройки ввода моего проекта порядковые:
Настройки ввода:
Но я посмотрел несколько видео на YouTube, где люди играют в мою игру. И они не могут использовать мышь в этом. Похоже, Input.GetAxis("Mouse X")
и Input.GetAxis("Mouse Y")
не возвращают правильные значения для них, и они не могут управлять камерой в игре.
Другие входные данные работают нормально для них.
Моя версия Unity 5.6.0f3
, и я не могу перейти на актуальную версию, потому что код игры слишком сложный.
Как устранить неполадки и исправить это? Я не собирал для других платформ, кроме Windows x86 и x64.
Входной объект построен:
public GenericInput rotateCameraXInput = new GenericInput("Mouse X", "RightAnalogHorizontal");
Чтобы прочитать движение дельта мыши, я запускаю этот метод в LateUpdate ():
protected virtual void CameraInput()
{
if (tpCamera == null || cc.lockCamera)
return;
var Y = rotateCameraYInput.GetAxis();
var X = rotateCameraXInput.GetAxis();
}