Unity input manager как настроить

Традиционный игровой ввод

Unity поддерживает ввод с клавиатуры, джойстика и гейпада.

Виртуальные оси и кнопки могут быть созданны в Input Manager , и конечные пользователи смогут настраивать ввод с клавиатуры на экране конфигурационного диалогового окна.

Вы можете настроить джойстики, геймпады, клавиатуру и мышь, затем обращаться к ним через один простой скриптовый интерфейс.

Virtual Axes

Из скриптов все виртуальные оси доступны по их именам.

Каждый проект при создании содержит следующие оси ввода по умолчанию:

  • Horizontal и Vertical привязаны к w, a, s, d и клавишам направления.
  • Fire1 , Fire2 , Fire3 привязаны к клавишам Control, Option (Alt) и Command соответственно.
  • Mouse X и Mouse Y привязаны к перемещениям мыши.
  • Window Shake X и Window Shake Y привязаны к перемещению окна.

Добавление новых осей ввода

Если вы желаете добавить новые виртуальные оси, перейдите в меню Edit->Project Settings->Input . Здесь вы можете также изменить настройки каждой оси.

Вы привязываете каждую ось к двум кнопкам на джойстике, мыши или клавиатуре.

Свойство: Функция:
Name Имя, используемое для проверки этой оси из скрипта.
Descriptive Name Имя положительного значения, отображаемое на вкладке Input диалогового окна Configuration в автономных сборках.
Descriptive Negative Name Имя отрицательного значения, отображаемое на вкладке Input диалогового окна Configuration в автономных сборках.
Negative Button Кнопка, используемая для смещения значения оси в отрицательном направлении.
Positive Button Кнопка, используемая для смещения значения оси в положительном направлении.
Alt Negative Button Альтернативная кнопка, используемая для смещения значения оси в отрицательном направлении.
Alt Positive Button Альтернативная кнопка, используемая для смещения значения оси в положительном направлении.
Gravity Скорость в единицах в секунду, с которой ось возвращается в нейтральное положения, когда кнопки не нажаты.
Dead Размер аналоговой мертвой зоны. Все значения аналоговых устройств, попадающие в этот диапазон, считаются нейтральными.
Sensitivity Скорость в единицах в секунду, с которой ось движется к заданному значению. Только для цифровых устройств.
Snap Если включено, значение оси будет сбрасываться в ноль при нажатии кнопки в противоположном направлении.
Invert Если включено, Negative Buttons будут выдавать положительные значения, и наоборот.
Type Тип ввода, который будет управлять осью.
Axis Ось подключенного устройства, которая будет управлять этой осью.
Joy Num Подключенный джойстик, который будет управлять этой осью.

Используйте эти параметры для точной настройки внешнего вида ввода. Также, все они задокументированы во всплывающих подсказках в редакторе.

Использование осей ввода из скриптов

Вы можете запросить текущее состояние из скрипта так:

Это в случае ввода с джойстика и клавиатуры.

Однако изменения осей Mouse и Window Shake показывают, насколько мышь или окно сдвинулись по сравнению с последним кадром. Это значит, что они могут быть больше, чем 1 или меньше, чем –1, когда пользователь быстро двигает мышь.

Можно создавать несколько осей с одним именем. При получении ввода, будет возвращаться ось с наибольшим абсолютным значением. Это позволяет назначить больше одного устройства ввода на одно имя оси. Например, создайте одну ось для ввода с клавиатура и одну ось для ввода с джойстика с одинаковым именем. Если пользователь использует джойстик, ввод будет идти с джойстика, иначе ввод будет идти с клавиатуры. Таким образом, вам не нужно учитывать откуда приходит ввод при написании скриптов.

Названия кнопок

Чтобы назначить кнопку оси, вам необходимо ввести имя кнопки в свойстве Positive Button или Negative Button в окне Inspector .

Keys (Клавиши)

Названия кнопок следуют этому соглашению:

  • Обычные клавиши“: ”a“, ”b“, ”c» …
  • Цифровые клавиши: “1”, “2”, “3”, …
  • Клавиши стрелок: “up”, “down”, “left”, “right”
  • Клавиши цифровой клавиатуры: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]”
  • Клавиши модификаторов: “right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”, “right cmd”, “left cmd”
  • Клавиши мыши: “mouse 0”, “mouse 1”, “mouse 2”, …
  • Кнопки джойстика (от любого джойстика): “joystick button 0”, “joystick button 1”, “joystick button 2”, …
  • Кнопки джойстика (от заданного джойстика): “joystick 1 button 0”, “joystick 1 button 1”, “joystick 2 button 0”, …
  • Специальные клавиши: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down”
  • Функциональные клавиши: “f1”, “f2”, “f3”, …

Названия, используемые для определения кнопок одни и те же при написании скриптов и в окне Inspector.

Ось может иметь значение от –1 до 1. На нейтральное положение указывает 0. Note also that the keys are accessible using the KeyCode enum parameter.

Источник

Unity input manager как настроить

Use the Input settings (top menu: Edit > Project Settings, then select the Input category) to define the input axes and game actions for your Project.

Input settings

To add more input axes, increase the value in the Size property.

Each input axis provides the following list of properties:

Свойство: Функция:
Имя Enter the string that refers to the axis in the game launcher and through scripting.
Descriptive Name Enter a detailed definition of the Positive Button function that appears in the game launcher.
Descriptive Negative Name Enter a detailed definition of the Negative Button function that appears in the game launcher.
Negative Button Enter the name of the button that sends a negative value to the axis.
Positive Button Enter the name of the button that sends a positive value to the axis.
Alt Negative Button Enter the name of the secondary button that sends a negative value to the axis.
Alt Positive Button Enter the name of the secondary button that sends a positive value to the axis.
Gravity Set how fast the input re-centers. This property applies only when the Type is key / mouse button.
Dead Any positive or negative values that are less than this number register as zero. Useful for joysticks.
Sensitivity For keyboard input, a larger value results in faster response time. A lower value is smoother. For the mouse delta, this value scales the actual mouse delta.
Snap Enable this option to immediately reset the axis value to zero after it receives opposite inputs. This property applies only when the Type is key / mouse button.
Invert Enable this option to make the positive buttons send negative values to the axis, and vice versa.
Тип Choose what kind of input this axis can expect.
Key / Mouse Button Any kind of button.
Mouse Movement Mouse delta and scrollwheels.
Window Movement User shakes the window.
Joystick Axis Analog joystick axes.
Axis Choose the axis of input from the device (joystick, mouse, gamepad, etc.). Defaults to the X-axis.
Joy Num Choose which joystick should be used. Defaults to retrieving the input from all joysticks.
Note: This is only used for input axes and not buttons.

Using axes during Game Play

All the axes that you set up in the Input settings serve two purposes:

  • They allow you to reference your inputs by axis name in scripting.
  • They allow the players of your game to customize the controls to their liking.

The game launcher presents all defined axes, where it displays the name, detailed description, and default buttons for each. From here, they can change any of the buttons defined in the axes. Therefore, it is best to write your scripts making use of axes instead of individual buttons, as the player may want to customize the buttons for your game.

The game launcher’s Input settings are displayed when your game runs

Источник

Input Manager

The Input Manager is where you define all the different input axes and game actions for your project.

Input Manager

To see the Input Manager choose: Edit->Project Settings->Input.

Свойства

Свойство: Функция:
Axes Contains all the defined input axes for the current project: Size is the number of different input axes in this project, Element 0, 1, … are the particular axes to modify.
Name Название оси в лаунчере игры (game launcher) и скриптах.
Descriptive Name A detailed definition of the Positive Button function that is displayed in the game launcher.
Descriptive Negative Name A detailed definition of the Negative Button function that is displayed in the game launcher.
Negative Button Кнопка, которая будет отражать отрицательные значения на оси.
Positive Button Кнопка, которая будет отражать положительные значения на оси.
Alt Negative Button Дополнительная кнопка, которая будет отражать отрицательные значения на оси.
Alt Positive Button Дополнительная кнопка, которая будет отражать положительные значения на оси.
Gravity How fast will the input recenter. Only used when the Type is key / mouse button.
Dead Любое положительное или отрицательное значение, по модулю меньшее заданного числа, будет зафиксировано как нуль. Полезно для джойстиков.
Sensitivity В случае ввода с клавиатуры, большее значение (на оси) будет соответствовать более быстрой реакции. Меньшее значение будет соответствовать более сглаженному. В случае мышки, значение будет увеличивать фактическое смещение мышки.
Snap If enabled, the axis value will be immediately reset to zero after it receives opposite inputs. Only used when the Type is key / mouse button.
Invert Если включено, то инвертирует ось ввода.
Type Use Key / Mouse Button for any kind of buttons, Mouse Movement for mouse delta and scrollwheels, Joystick Axis for analog joystick axes and Window Movement for when the user shakes the window.
Axis Ось ввода с устройств (джойстик, мышка, геймпад и др.).
Joy Num Какой джойстик используется. По умолчанию считывание производится со всех джойстиков. Используйте это только в случае считывания с осей и не используйте для кнопок.

Детали

Все оси, которые вы настроили в Input Manager служат двум целям:

  • При скриптовании это позволит вам считывать значения с оси, посредством её имени
  • Это позволит игрокам вашей игры настроить управление на свой вкус

Все определенные оси будут представлены игроку в лаунчере игры, где игрок сможет увидеть имена осей, детальное описание осей и кнопки по умолчанию. Здесь игроки имеют возможность изменить любые кнопки, определенные на осях. Следовательно, лучше всего писать скрипты с использованием осей вместо отдельных кнопок, которые игрок может переназначить в вашей игре.

Окно ввода лаунчера игры отображается при запуске вашей игры

Источник

Читайте также:  Минимальный размер алиментов если не работаешь
Оцените статью