Управление камерой на сенсорном экране при помощи 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: Добавляем ограничительную зону

Комментарии • 35

  • @nepochat
    @nepochat 7 месяцев назад +6

    Боже, если бы видео вышло 3 месяца назад, это спасло бы неделю моей жизни)

    • @gamedevlavka
      @gamedevlavka  7 месяцев назад +1

      Сорян, у меня пинг большой (

    • @maksimsazanovich6087
      @maksimsazanovich6087 7 месяцев назад

      обби чтоль делал?)

  • @Renegade7691
    @Renegade7691 4 месяца назад +1

    Спасибо тебе, добрый человек. Эту опцию я искала неделю

  • @Sheffrus
    @Sheffrus 7 месяцев назад +3

    Спасибо большое, это прямо сейчас спасло меня. А то я сделал всё на костылях. Работает, но код убогий и ограничений нет.

  • @Veles017
    @Veles017 7 месяцев назад +1

    Большое спасибо за ваши уроки!😊

  • @user-fp2bj5uk7h
    @user-fp2bj5uk7h 7 месяцев назад +2

    Спасибо за вашу работу, очень полезно!)
    Было бы очень круто, если сделаете видос где вы разберете по пунктам что нужно знать современному junior unity разработчику, и как расти дальше 💥💥💥
    Спасибо!)

  • @SARDARru
    @SARDARru 7 месяцев назад +1

    Спасибо большое! То что нужно было. Сделал, все получилось, еще и начал чуть-чуть разбираться в новой инпут системе, еще и пример хорошего кода :)

  • @nightkot4917
    @nightkot4917 7 месяцев назад +1

    Ну теперь надо бы передвижения сделать для Шутера от Первого Лица с помощью Тачей в NewInputSystem...

  • @Oleg_Bessonov
    @Oleg_Bessonov 7 месяцев назад +1

    Круто, вот где ты раньше был?!!! 👍

  • @Bald_Panther
    @Bald_Panther 7 месяцев назад +1

    При таком подходе придется еще в OnTouchPressStarted проверить, что нажали на объект с указанным RectTransform, а не на UI кнопку. И, вроде мышь и тач не нужно умножать на deltaTime. А так норм )

  • @user-hy3hr5kg5g
    @user-hy3hr5kg5g 7 месяцев назад

    Ждем как привязать мышку) Для условных Я.Игр, вообще топчик будет иметь кроссплатформенность. А так больше спасибо за урок!!!

  • @pers3548
    @pers3548 7 месяцев назад

    @gamedevlavka, у меня вопрос ты знаешь как пофиксить фризы(периодически не фиксируется удерживание кнопок, например wasd) в new Input System, у меня долгове время нанный пакет работал исправно, но сейчас что в версии 1.7.0 для (2022.3.10f1), так и в 1.5.1 для(2021.3.23f1)

  • @green_letsplay
    @green_letsplay Месяц назад

    18:03 Откуда вы взяли InputManager, чтобы перетащить? Не пойму

  • @unreidunity2737
    @unreidunity2737 7 месяцев назад +1

    Вообще супер, но теперь думаю, как объединить это с сенсорным джостиком, ибо тачи от него в инпут для поворота приходят

  • @user-cg3tl7wm2l
    @user-cg3tl7wm2l 7 месяцев назад

    В принципе эту систему можно использовать для свайпов?

  • @igort1642
    @igort1642 7 месяцев назад +2

    Спасибо за видео! Вопрос один появился - а как сделать чтобы свайп возвращал не float в Vector2, а подобие нажатия Input.GetAxisRaw "-1" или "1" по осям. Причем только 1 раз за свайп.

    • @gamedevlavka
      @gamedevlavka  7 месяцев назад +1

      Давай сформулируем запрос, то есть нужно поймать свайп, при этом нужно понимать, в какую стоорону был свайп: вверх, вниз, влево или вправо, так?

    • @igort1642
      @igort1642 7 месяцев назад

      Нифига себе быстро как откликнулся))) В целом да так. С одним дополнением диагональные свайпы не выдавали 2 координаты, 1 координаты достаточно или X или Y. У себя я костыльно решил задачу, но там и джойстик самописный.@@gamedevlavka

    • @gamedevlavka
      @gamedevlavka  7 месяцев назад +1

      @@igort1642 ну так получается координаты вообще не нужны, верно? Enum вполне подойдёт для твоей задачи? 4 направления свайпа

    • @igort1642
      @igort1642 7 месяцев назад

      Подойдет, если обработать float-ы и сравнения сделать. Единственное останется дополнительно отсеять только первый foat, в момент конца свайпа, а это замедлит отзывчивость. Все же, спасибо за направление в котором копать@@gamedevlavka

  • @user-fh7ie5jp3c
    @user-fh7ie5jp3c 3 месяца назад

    Да действительно хорошее видео, но если есть сенсорный джойстик для перемещения игрока, при одновременном нажатии на него и этой области для вращения, само вращение камеры перестает работать.

  • @momentX_
    @momentX_ 25 дней назад

    Как называется редактор из видео?

  • @user-bw3cw8bl4l
    @user-bw3cw8bl4l 7 месяцев назад

    Почему так мало скриптов? Сделал бы шесть, восемь? Чего мелочиться то?

    • @gamedevlavka
      @gamedevlavka  7 месяцев назад +1

      Не нравится много скриптов? Давай поговорим об этом

  • @kitgunmi9631
    @kitgunmi9631 7 месяцев назад +1

    Лучше еще использовать не камеру а cinemachine virtual camera

    • @gamedevlavka
      @gamedevlavka  7 месяцев назад +1

      Это уже "обвесы" камеры, другая тема. Не всегда она лучше, но можно, да

  • @user-sh3oy4zf8m
    @user-sh3oy4zf8m 13 дней назад

    я часов 6 потратил на изучение различной документации, но так и не понял весь код, например что такое callback, зачем сюда было приплетать асинхронное программирование, да и код нормально не работает, он проверяет находится ли touch в определённой части экрана экрана и если находится то разрешает двигать камерой ВСЕГДА и пох@р после этого находится ли в этой части экрана touch в следующий раз, ну и как бонус это управление не работает вместе с джойстиком ибо он отлавливает только один touch.
    итог: ждём полное мобильное управление через новую инпут систему, желательно без вещей которые можно узнать только при 7 летнем опыте разработке

  • @ElmoLovesYou2
    @ElmoLovesYou2 7 месяцев назад

    а сегодня с рашки можно продлить оплату аппл аккаунта? т,е если оплатить с другой карты - то не будет траблов?)

    • @gamedevlavka
      @gamedevlavka  7 месяцев назад

      С иностранной карты, вероятно, можно

    • @ElmoLovesYou2
      @ElmoLovesYou2 7 месяцев назад

      @@gamedevlavka я не знал что у теа группа ватокатов поддерживающих войну!!! атписка - досвидули))

  • @BlaCKM00n333
    @BlaCKM00n333 Месяц назад

    какой же кошмар. избыточный класс, который нужен просто чтобы удлиннить цепочку вызовов. много лишнего кода. как например целый отдельный метод для создания избыточного класса. догадался отписывать события, вау. но это отписывание от событий избыточного класса, а не от событий импут мапа. а там они останутся подписаны, таки да. а значит нам нужно ещё и писать избыточный деструктор для отписки. в соседнем видео так вообще подписка через анонимный метод. ну шоб быстрее, а то видео длинное получится.
    ...
    автор должно быть пытается в архитектуру, но при этом он не проектировал сложных систем, и не понимает какой кошмар его ожидает если вот так бездумно выносить всё в "отдельные сущности", которые не являются ими на самом деле, а просто тропинкой в обход.
    приаттач debugger, поставь в юнити debug mode, поставь break point где-нибудь в скрипте который вызывается как можно раньше, подключи, запусти, и попробуй последовательно по каждому шагу пройтись и посмотреть что делает код. тебя ждёт УВЛЕКАТЕЛЬНЕЙШЕЕ приключение.
    про performance (не художественный) я тут даже не заикаюсь, "мы же новички"...