Представляємо пакет системи введення
Середовище перевірки
- Вікна
-
- вікна 11
- Редактор єдності
-
- 2020.3.25f1
Про пакет системи введення
У перші дні існування Unity ми використовували Input Manager як механізм отримання вхідних даних від користувачів. Однак в середовищі диверсифікації ігрових платформ менеджер введення застарів. Додано новий механізм управління введенням даних користувачем: Input Systemu Manager.
Станом на 2022 рік доступні як новий «Пакет системи введення», так і «Менеджер введення» для сумісності. Якщо у вас старий проект, ви можете використовувати «Менеджер введення» як є, Я думаю, що він перейде на новий "пакет вхідних систем" в майбутньому, так і в новому проекті Використовуйте пакет системи введення.
У цьому розділі описано, як його настроїти.
Встановлення пакетів системи введення
Починаючи з Unity Editor 2020.3.25f1, пакети системи введення керуються як пакети, які спочатку не встановлені. Щоб інсталювати пакет:
Після створення вашого проекту та запуску редактора Unity виберіть у меню Window > Package Manager.
Коли з'явиться екран Менеджер пакетів, виберіть "Реєстр єдності" в пакеті.
Якщо ви перегортаєте список вниз зліва, там є "Система введення", тому виділіть його і натисніть кнопку "Встановити" справа внизу.
При установці він буде відображатися як встановлений, тому закрийте діалогове вікно.
Якщо після встановлення пакета відображається наступне діалогове вікно, натисніть кнопку "Так", щоб автоматично налаштувати наступний "Активувати пакет системи введення". У цьому випадку редактор Unity перезапуститься.
This project is using the new input system package but the native platform backends for the new input system are not enabled in the player settngs. This means that no input from native devices will come through.
Do you want to enable the backends? Doing so *RESTART* the editor and will *DISABLE* the old UnityEngine.Input APIs.
Активуйте пакет вхідної системи
Оскільки я щойно встановив пакет, на даний момент у мене активний застарілий менеджер введення. Переключіть це на пакет системи введення.
Виберіть у меню пункт Змінити параметри проекту >.
Коли відкриється діалогове вікно Параметри проекту, виберіть Програвач у меню ліворуч.
На вкладці, розташованій нижче, виберіть ПК, Mac.... Виберіть вкладку Налаштування та розгорніть Додаткові налаштування в групі внизу.
Якщо в якійсь мірі прокрутити вниз, то в категорії "Налаштування" ви виявите пункт під назвою "Обробка введення в експлуатації", де можна вибрати пункт "Пакет системи введення (новий)". Активувати можна і те, і інше поки що, але це збиває з пантелику, тому в разі нового проекту краще використовувати тільки пакет системи введення.
Після внесення змін з'явиться наступне діалогове вікно, тому натисніть «Застосувати», щоб перезапустити редактор Unity.
Все, ви закінчили!
Про проблему використання простору імен "UnityEngine.InputSystem" при введенні коду, що призводить до помилки
На даний момент я не вводив код, тому це не буде помилкою,
Може з'явитися повідомлення про те, що простір імен не існує при спробі його використання при UnityEngine.InputSystem
введенні коду (наприклад, Visual Studio).
Наприклад, якщо перед установкою «Пакета системи введення» створити скрипт.
Це пояснюється тим, що проект UnityEngine.InputSystem
не має посилання на .
Щоб вирішити цю проблему, виконайте такі дії:
Виберіть у меню пункт «Редагувати > параметри».
Виберіть «Зовнішні інструменти» в меню ліворуч і натисніть кнопку «Відновити файли проекту».
Роблячи це, Visual Studio UnityEngine.InputSystem
доповнює посилання.
Крім того, код не містить помилок.
Змініть прийняття введення користувачем в інтерфейсі користувача на пакет системи введення
Це поле не є актуальним, якщо ви не використовуєте інтерфейс Unity, наприклад, поля введення або спадні меню, і його слід ігнорувати.
Коли ви розміщуєте поле вводу, розкривне меню тощо у поданні, автоматично створюється полотно та туди розміщується об'єкт інтерфейсу користувача. При цьому створюється об'єкт під назвою "EventSystem". Це об'єкт, який керує тим, що відбувається, коли в інтерфейсі користувача виконується деяке введення.
Ця EventSystem спочатку працює зі старішим менеджером вводу. Якщо включений тільки пакет системи введення, інтерфейс користувача працювати не буде як є, тому потрібно перейти на пакет системи введення.
Щоб внести зміни, спочатку виберіть EventSystem.
Потім попередження відображається в «Автономному модулі введення» інспектора.
Натисніть кнопку Замінити на InputSystemUIInputModule, щоб замінити автономний модуль вводу на модуль вводу інтерфейсу вводу.
Інтерфейс користувача вашої гри тепер має правильно приймати вхідні дані.