Новый Input System в Unity. С чем его едят?
Vložit
- čas přidán 27. 08. 2024
- Разобрали новиночку Unity которая скоро станет стандартной практикой. Узнай о ней одни из первых!
На микрофоне Алексей Хохряков - преподаватель программ по C# и Unity.
БОРИС (Бесплатное Обучение Разработке Игр) - ijunior.ru/bori...
Обучение с нуля с гарантией трудоустройства - ijunior.ru/unit...
ШКОЛА ПРОГРАММИРОВАНИЯ ЯЮНИОР - holymon...
ЧАТ В ТЕЛЕГЕ - t.me/csharp_fa...
А вы уже знаете что курс по Unity пополнился главой по AR разработке?
Гляньте программу курса у на сайте
Обучение с нуля с гарантией трудоустройства - ijunior.ru/unity-start?
Спасибо большое что объяснил как вернуться на старую версию!
Юнитеки сделали систему без апдейта где в контексте по вызову можно получить инпут, если указать в ассете
ЯЮниор: нам НУЖЕН апдейт!
дадада, я тож заметил, автор по сути за уши притянул новую систему инпута, сломал ей ногу своим костылем и выдал его ей же
@@uralfansoft подскажите, пж, как вообще без апдейта реализуется управление? Всё силюсь понять, а в каждом видео на ЮТубе только и делают, что пихают вызов условного Move() в Update
@@gured_sampo а ты знаешь что такое событие? Как его запрогать на .Net(без unity)? Паттерн наблюдатель? Если ты впервые слышишь эти слова то иди и изучай, а если ты это все знаешь то на ютубе уже не так сложно найти людей которые шарят как правильно сделать управление, та же лавка разработчика.
Видео уже 3 года, не уверен что ответят но все же: Где меняется чувствительность в этой системе ввода? Это старые поля в Input Manager: Sinsitivity, Gravity.
Делаю крен самолета и хочется контролировать геймпадом скорость поворотов и т.д. Условно вверх вниз значение от -1 до 1 проходит за 1 миллисекунду, а в право/лево за 2.
Якщо не помиляюсь то це можна зробити так Edit -> Project Settings -> Input System Package, і там буде кнопка Create settings asset, начебто там можна налаштувати геймпад
Хороший урок)
О привет)
Надо было добавить: "С новой системой у Вас отвалится UI, но это уже сами решайте". P.S. на Event System кидайте компонент "InputSystemUIInputModule"
стоит ли упоминать то что фиксится одним нажатием кнопки и предусмотрено юнити? Сейчас у них даже есть кнопка "обновить старый компонент". Реальные проблемы - это то что требует дней исправлений и переписываний, а не то что фиксится одним нажатием кнопки
Интересный перевод получился )
Спасибо за подробное видео. Всё работает.
Просто без шанса всё по полочкам раскидал. Очень информативно! Топ 😎
Почему подписка на performed через context, а не напрямую через метод?
Очень интересно, жду новых видосиков.
Спасибо тебе, добрый человек.
а можно музыку на заставке еще громче сделать?
Чувак! Красава! Реально годный урок! Спасибо!
Отличное видео, все понятно, спасибо!
А почему минусы данной системы не рассказал? :)
А как сделать кастомные конфиги? Что если пользователь захочет поменять настройки управления ?
Спасибо, очень полезное видео
Объясните, это система сильно увеличивает производительность? Не проще ли сделать свою событийную систему нажатий?
Вот-вот. Я как раз смотрю как прикрутить новую систему к своей событийной ...
Я не вникал в новую систему еще, но что если я захочу внутри приложения изменять хот кеи как в любых нормальных играх, это предусмотрено?
Помоги пожалуйста. У меня такая ситуация. Когда я пишу без unityengine.inputsistem то у меня не отображается playerinput, но когда я добавляю unityengine.inputsystem, то playerinput отображается, но enable и disable не отображаются!
Уже пару недель думал посмотреть что же это за новая система ввода, но был занят проектом, как тут ютуб подкидывает такое хорошее видео, спасибо автору)
P.S Мне по душе использовать первый вариант, так и класс не будет предоставлять лишнего и в инспекторе чистота)
Когда я пишу: private PlayerInput _input; он не видит PlayerInput скрипт, PlayerInput не выделяется березовым
та же херня... что делать?
а как работать с ней для мобильных телефонов ? точнее управление движением персонажа через виртуальные кнопки? а то я сделал, а он не работает с телефона, но работает в юнити только.
сяп, хороший тутор)
Мне одному показалось что старая система осей и прописанных в скрипте кнопок попроще будет? Либо это сырая разработка чего то большего на будущее, либо я чего то не понял. Чем оно лучше то?
тем что можно каждый кадр не отслеживать нажатия от пользователя, а подписываться на события системы. Открой пару курсов по шарпу - изучи что такое события. Исключая апдейт из проекта мы повышаем фпс. Автор просто закостылил эту систему своим апдейтом полностью убив её преимущество.
Спасибо)
Вопрос, а позиция мыши также добавляется? Нашел координаты X и Y
у меня на 14:51 в 15 строке ошибка вылезает 'PlayerInput' does not contain a definition of 'Player'. Все using те же. И в OnEnable\Disable нет Enable\Disable, а есть OnEnabled и .enable. В Player Settings стоит новая система. Не понимаю как исправить. Версия Unity 2019.3.7f1 Памагииите!
Тоже столкнулся , у него похоже просто обзор старый
Некропост, но возможно кому-то поможет. У _input должен быть класс не UnityEngine.PlayerInput, а тот, который мы генерируем. В видео имена классов (PlayerInput) одинаковые, отличие в пространстве имён
Никак не найду информацию по проверке на зажатии дополнительных клавиш, скажем Shift для другой скорости передвижения, чтобы проверить, если зажато, то одна скорость, иначе основная. В старой системе мы так и проверяли это, а как здесь?
Разобрался?
Хотя забей, я е"ал эту систему, старая лучше
Ну подумайте хоть чуточку, прежде чем задавать вопросы. У тебя есть событие и метод для события, что ещё нужно? Банально создай флаг isSprinting, меняй его на противоположное значение при вызове события. Дальше уж думаю всё понятно что с этим делать.
Слушайте, а как отследить с этой системой начало движения? Для аниматора, в старой при нажатии кнопки было и ты туда же крутил булл аниматора, а сейчас как?
разобрался?
Не совсем понял про что ты, но банально проверяя равняется ли входные данные пустыми, либо float 0 или нулевой вектор, смотря что тебе нужно. Если в предыдущий раз были пустые данные, а в этом - нет, значит это начало. Также можно назначить новые бинды на кнопки передвижения, и считывать не оси, а нажатия.
Лучше поздно, чем никогда.
Не понял что за метод move?
Стоит вообще обновлять?
перемещение по оси Y нет
Как по мне, тулза больше для дизайнеров. По сути, лучше уже самому сделать инпут модуль через паттерн стратегию для всех нужных платформ.
или Control Freak 2 купить за 10 баксов
И устройств? И причем тут дизайнеры? Это довольно прорывная система контроля на Scriptable Objects. Или Scriptable Objects тоже для дизайнеров? Старая система всегда была исковерканной, каким бы паттерном ее не раскручивали и причиняла массу головной боли.
Максим, а не подскажите, пожалуйста, каким образом в old input system можно определить с какого устройства производится ввод (gamepad, mouse, keyboard)?
Я Godo'тер. Что я тут делаю?
Кто нибудь натыкался на проблему - инпуты просто не появляются?
Я наткнулся. Не решил пока
Мало кто берется рассказать про шейдеры, а вы не в их числе?
Это чуть ли не новый язык программирования)
А можно как то без кода? Вот как раньше было: создал проект добавил ассет Character кидаешь перфаб FirstPersonCharacter на объект и всё(не забывая удалить дефолтно созданную камеру main). все кнопки работают, капсуль бегает прыгает. я так понял в старой версии тоже код нужно было использовать?
@Alexander Olshynskyi чууувааак, подскажу тебе - мооожнааа! есть много визуальных "ассетов" типа блюпринта в анрил инжин ток по проще (:
Огонь залепил)))) "я так понял в старой версии тоже код нужно было использовать?"
Я лично считаю что кодом как то лучше(проще), через код больше контроля, да и отлаживать проще по мне, P. S. это моё личное мнение.
кИбоард, не кЕйбоард (((
а так вообще топ, спасибо )
Спасибо за русскоязычное видео, но огорчает невнятная подача материала с постоянным переписыванием кода как будто автор не знает материала и придумывает налету. Если ваш курс по Unity подается так-же, то там врядли можно чему-нибудь научиться
ты как будто в школе объясняешь первокласникам как читать буковки блять
1
Называйте вещи своими именами. Эта система кроме кроссплатформенности не дает никаких улучшений. То есть если вы делали игру на одну платформу то это вам вообще ничего не даст. Как по мне это просто очередная чепуха для консолей.
даёт, она позволяет отказаться от обработки значений в апдейте, что увеличивает фпс и снижает количество работы программистов раз в 10, а если до вас это не доходит то идите и изучайте что такое ивенты в шарпе
@@uralfansoftА что собственно изменится от того что обработка будет в системе ивентов а не в апдейте? По вашему система ивентов не кушает ресурсы? Это прямо как энергия из ничего. Что ивент по вашему не отслеживается каждый кадр? В лучшем случае оно работает как один большой апдейт.
@@user-iq7pe6sy4y по-моему не отслеживается, но для ответа на этот вопрос нужно лезть в исходники Unity, я не знаю где их взять поэтому предпочту поверить её разработчикам на слово
@@uralfansoft А откуда у вас такая инфа? Мне самому интересно стало. Это разработчики заявили?
@@uralfansoft ну что не отслежживается?
Блин!!!! С такими та темпами программисти скоро вобще не понадабяться и всё будет решаться одним компонентом))))))))
ЗВУЧИТ СТРАШНО.....
скорее наоборот))) эта система требует от прогера знаний ивентов, а прошлая не требовала, ей могли пользоваться все школьники изучившие методы. А теперь делегаты знать нужно)))
Для простой игры - эта система сложнее предыдущей. И это не считая того, что работает вообще не интуитивно и по своему желанию - хочет работает хочет не работает. А вот если вместе использовать XR, Cinemacine и New Inp;ut System то мозговынос обеспечен. Вроде бы это официальные Юнитевские куски движка, но они отказываются вместе нормально работать.