Вы должны понимать, что сенсорный экран это не одно.Вы можете решить использовать экран, виртуальный джойстик, кнопку или что-то еще.Input.GetAxis и GetAxisRaw просто говорят Unity использовать то, что у вас есть в системных настройках Input по умолчанию, и использовать это в качестве входа.https://docs.unity3d.com/Manual/ConventionalGameInput.html
Так, например, когда вы используете Input.GetAxis («Горизонтальный»), если вы установили в настройках Unity Input W как положительный, а S как отрицательный вход, Unity будет использовать вашу клавиатуру и эквивалентныйдля Input.GetKeyDown и получить значение W при нажатии.Поскольку значение клавиатуры всегда равно 1 или 0, использовать GetAxis или GetAxisRaw будет одинаково (поскольку GetAxisRaw всегда получает 1 или 0, но при использовании клавиатуры вы всегда получаете 1 или 0) ... настоящий джойстик получит значение изОт -1 до 1 с 0 как «не используется джойстик» 1 как максимальное положительное значение и -1 как максимальное отрицательное значение.
Чтобы заменить тип поведения клавиатуры, вы можете, например, создать 2 кнопки с UnityСистема пользовательского интерфейса и, если они нажаты (есть много способов узнать, нажата ли кнопка пользовательского интерфейса, например, метод OnButtonDown), вы установите плавающее значение равным 1f, 0f, если ButtonUp ... таким образом, вы сможетеполучить 0f или 1f, как в системе ввода по умолчанию, вы получите положительное значение 1f от виртуальной кнопки вместо получения положительного значения ввода от кнопки W.
Если вы хотите значение от 0f до 1f (как 0.4) вам понадобится виртуальный джойстик или что-то в этом роде.Вы можете использовать этот короткий учебник, чтобы сделать его: https://youtu.be/uSnZuBhOA2U
Главное, что нужно понять, это то, что вы не можете использовать систему ввода по умолчанию для сенсорного экрана, поэтому вы должны создать эту систему с нуля, тогда вы сможетеиспользуйте его как систему ввода по умолчанию (просто с другим классом, который вам нужно выбрать).