Управление камерой на сенсорном экране при помощи Unity Input System
HTML-код
- Опубликовано: 1 июн 2024
- Понравилось видео? Поддержи Лавку Разработчика!
www.donationalerts.com/r/game...
boosty.to/gamedevlavka
paypal.me/gamedevlavka
Целых 27 минут в подробностях рассказываю о том, как при помощи тачскрина, настроенного через Unity Input System сделать управление камерой, ни или иначе: повороты камерой. Так много, потому что есть целых три этапа в видео:
1. Повороты камерой при помощи тачскрина, настроенного через Unity Input System
2. Ограничение поворота камеры по вертикали
3. Ограничение срабатывания поворотов камеры определенной зоной
В общем да, как всегда уютно, тепло, и очень понятно!
Отсылки:
t.me/gamedevlavka - телеграм канал Лавки Разработчика
t.me/gamedevtavern - ламповый чат
/ discord - дискорд
gamedevlavka - вконтактик
dzen.ru/gamedevlavka - Яндекс Дзен
__________
0:00 Вступление
1:25 Сетап сцены
2:56 ч.1.1: Настраиваем маппинг инпута
5:26 ч.1.2: Пишем считывание Touchscreen инпута
8:58 ч.1.3: Пишем главный инпут менеджер
13:03 ч.1.4: Пишем обработчик инпута (крутилку камеры)
18:46 ч.2: Добавляем ограничение по вертикали
20:20 ч.3: Добавляем ограничительную зону
Боже, если бы видео вышло 3 месяца назад, это спасло бы неделю моей жизни)
Сорян, у меня пинг большой (
обби чтоль делал?)
Спасибо тебе, добрый человек. Эту опцию я искала неделю
Спасибо большое, это прямо сейчас спасло меня. А то я сделал всё на костылях. Работает, но код убогий и ограничений нет.
Большое спасибо за ваши уроки!😊
Спасибо за вашу работу, очень полезно!)
Было бы очень круто, если сделаете видос где вы разберете по пунктам что нужно знать современному junior unity разработчику, и как расти дальше 💥💥💥
Спасибо!)
Спасибо большое! То что нужно было. Сделал, все получилось, еще и начал чуть-чуть разбираться в новой инпут системе, еще и пример хорошего кода :)
Ну теперь надо бы передвижения сделать для Шутера от Первого Лица с помощью Тачей в NewInputSystem...
Круто, вот где ты раньше был?!!! 👍
При таком подходе придется еще в OnTouchPressStarted проверить, что нажали на объект с указанным RectTransform, а не на UI кнопку. И, вроде мышь и тач не нужно умножать на deltaTime. А так норм )
Ждем как привязать мышку) Для условных Я.Игр, вообще топчик будет иметь кроссплатформенность. А так больше спасибо за урок!!!
@gamedevlavka, у меня вопрос ты знаешь как пофиксить фризы(периодически не фиксируется удерживание кнопок, например wasd) в new Input System, у меня долгове время нанный пакет работал исправно, но сейчас что в версии 1.7.0 для (2022.3.10f1), так и в 1.5.1 для(2021.3.23f1)
18:03 Откуда вы взяли InputManager, чтобы перетащить? Не пойму
Вообще супер, но теперь думаю, как объединить это с сенсорным джостиком, ибо тачи от него в инпут для поворота приходят
В принципе эту систему можно использовать для свайпов?
Спасибо за видео! Вопрос один появился - а как сделать чтобы свайп возвращал не float в Vector2, а подобие нажатия Input.GetAxisRaw "-1" или "1" по осям. Причем только 1 раз за свайп.
Давай сформулируем запрос, то есть нужно поймать свайп, при этом нужно понимать, в какую стоорону был свайп: вверх, вниз, влево или вправо, так?
Нифига себе быстро как откликнулся))) В целом да так. С одним дополнением диагональные свайпы не выдавали 2 координаты, 1 координаты достаточно или X или Y. У себя я костыльно решил задачу, но там и джойстик самописный.@@gamedevlavka
@@igort1642 ну так получается координаты вообще не нужны, верно? Enum вполне подойдёт для твоей задачи? 4 направления свайпа
Подойдет, если обработать float-ы и сравнения сделать. Единственное останется дополнительно отсеять только первый foat, в момент конца свайпа, а это замедлит отзывчивость. Все же, спасибо за направление в котором копать@@gamedevlavka
Да действительно хорошее видео, но если есть сенсорный джойстик для перемещения игрока, при одновременном нажатии на него и этой области для вращения, само вращение камеры перестает работать.
Как называется редактор из видео?
Rider
Почему так мало скриптов? Сделал бы шесть, восемь? Чего мелочиться то?
Не нравится много скриптов? Давай поговорим об этом
Лучше еще использовать не камеру а cinemachine virtual camera
Это уже "обвесы" камеры, другая тема. Не всегда она лучше, но можно, да
я часов 6 потратил на изучение различной документации, но так и не понял весь код, например что такое callback, зачем сюда было приплетать асинхронное программирование, да и код нормально не работает, он проверяет находится ли touch в определённой части экрана экрана и если находится то разрешает двигать камерой ВСЕГДА и пох@р после этого находится ли в этой части экрана touch в следующий раз, ну и как бонус это управление не работает вместе с джойстиком ибо он отлавливает только один touch.
итог: ждём полное мобильное управление через новую инпут систему, желательно без вещей которые можно узнать только при 7 летнем опыте разработке
а сегодня с рашки можно продлить оплату аппл аккаунта? т,е если оплатить с другой карты - то не будет траблов?)
С иностранной карты, вероятно, можно
@@gamedevlavka я не знал что у теа группа ватокатов поддерживающих войну!!! атписка - досвидули))
какой же кошмар. избыточный класс, который нужен просто чтобы удлиннить цепочку вызовов. много лишнего кода. как например целый отдельный метод для создания избыточного класса. догадался отписывать события, вау. но это отписывание от событий избыточного класса, а не от событий импут мапа. а там они останутся подписаны, таки да. а значит нам нужно ещё и писать избыточный деструктор для отписки. в соседнем видео так вообще подписка через анонимный метод. ну шоб быстрее, а то видео длинное получится.
...
автор должно быть пытается в архитектуру, но при этом он не проектировал сложных систем, и не понимает какой кошмар его ожидает если вот так бездумно выносить всё в "отдельные сущности", которые не являются ими на самом деле, а просто тропинкой в обход.
приаттач debugger, поставь в юнити debug mode, поставь break point где-нибудь в скрипте который вызывается как можно раньше, подключи, запусти, и попробуй последовательно по каждому шагу пройтись и посмотреть что делает код. тебя ждёт УВЛЕКАТЕЛЬНЕЙШЕЕ приключение.
про performance (не художественный) я тут даже не заикаюсь, "мы же новички"...