Глобальная логика оружия в Unity / смена оружия

Поделиться
HTML-код
  • Опубликовано: 15 сен 2024
  • В этом видео, я покажу как реализовать логику смены оружия при помощи клавиш и колеса мыши в Unity.
    / graphicaldesignua - мой патреон для поддержки)
    unity.com/ru - ссылка на Unity

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

  • @user-lm7xn7re4w
    @user-lm7xn7re4w 5 лет назад +12

    Самый лучший канал по unity 2d)

  • @creativgames6566
    @creativgames6566 3 года назад +3

    Спасибо!
    Спустя долгое время, твои уроки помогли разобраться с многими вопросами!

  • @bogdan9423
    @bogdan9423 Год назад +1

    Очень хорошее подробное объяснение, спасибо 👍

  • @karpa2895
    @karpa2895 5 лет назад +1

    Спасибо, за классный урок, Александр.Вы лучшие!

  • @nepochat
    @nepochat 5 лет назад +4

    Спасибо за видео. Жду следующее.

  • @ZiburaCLUB
    @ZiburaCLUB 5 лет назад +8

    Молодец, прекрасно объясняешь. Но там где кнопки прописывал к оружию, было много if хотя можно было заменить на else if.

    • @graphicaldesign2776
      @graphicaldesign2776  5 лет назад +3

      Думаю да) спасибо) Будем по ходу дела поправлять

  • @Dunai_Perjaslawsky
    @Dunai_Perjaslawsky 5 лет назад +2

    Ты лучший! Лайк не глядя!

  • @dzmitrykarpovich1861
    @dzmitrykarpovich1861 2 года назад

    Спасибо, очень помог!)

  • @hasanboyhakimov9144
    @hasanboyhakimov9144 Год назад

    Спасибо 👍 👍 👍 👍 👍 👍 👍 👍

  • @xaosteam
    @xaosteam 10 месяцев назад

    а разве цикл foreach не перебирает данные маcсива?Можете объяснить?

  • @IvannZ_Ru
    @IvannZ_Ru 2 года назад

    Хорошее видео, но ОЧЕНЬ мало коментов.

  • @devome4825
    @devome4825 5 лет назад +1

    Ты крут)\

  • @tommyoff666
    @tommyoff666 5 лет назад +2

    ХОРОШИЕ УРОКИ , ПОЧЕМУ ТАК МАЛО ПРОСМОТРОВ ? (

  • @nezdanchickkun
    @nezdanchickkun 2 года назад

    4:30 вместо if можно в метод передать i == weaponSwitch

  • @thevit1672
    @thevit1672 5 лет назад

    Лучший

  • @alekseykustov9574
    @alekseykustov9574 2 года назад

    Отличные уроки! Все что я повторял все получилось , я в восторге! Но и есть конечно вопрос) как при смене оружия стрельбу то менять ну типа лазер на пули и наоборот , нужен какрой то селектор?

    • @EnterProbel
      @EnterProbel 4 месяца назад

      Для каждого отдельные скрипты

  • @neverworld8815
    @neverworld8815 2 года назад

    Целесообразнее использовать паттерны, с возможностью смены поведения

  • @zirexplay
    @zirexplay 3 года назад

    Invalid expression term '>' что делать? Всё написал как на видео.

  • @user-rh5sw7ts4j
    @user-rh5sw7ts4j 4 года назад +1

    А как сделать то же самое, но для телефона?

  • @-LyckWare
    @-LyckWare Год назад

    А как подключить анимации когда оружее персонаж достаёт?

  • @monsterclash6790
    @monsterclash6790 4 года назад

    А можешь сделать видео про совмещение подбора оружия и этого переключения?! Потому что хотелось бы подбирать, бросать и переключать оружие. Это очень интересная тема, по-моему. Так к куче полезной информации на твоём канале добавится ещё один информативный ролик. Буду безумно благодарен!) Ответь пожалуйста!

  • @MXPMaster
    @MXPMaster 4 года назад

    Так стоп!(4:10)Мы компонент Transform используем как игровой объект?Это как?!

    • @veetalyah8152
      @veetalyah8152 3 года назад

      для этого специально дописывают gameObject

  • @hummylisii8237
    @hummylisii8237 4 года назад

    А если сделать переключение через UI кнопки то вместо GetKey просто дать ссылку на кнопку ,верно??

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Верно, запускать просто как метод.

    • @Edwardddddddddddddddd
      @Edwardddddddddddddddd 3 года назад

      Где взять ссылку на кнопку??

    • @drshtopor1084
      @drshtopor1084 3 года назад

      @@Edwardddddddddddddddd создаешь public void и в нем пишешь все кроме input, также этот void потом не надо дублировать и менять, создаешь кнопку, перетаскиваешь в нее weaponholder и привязываешь void, который ты только что прописал, изи

  • @Dunai_Perjaslawsky
    @Dunai_Perjaslawsky 5 лет назад

    А как быть если оружия в игре очень много? Все ведь не привяжешь к персонажу.. Нужно просто в weaponholder трансформить префаб оружия? И как, например, из инвентаря вооружиться? Очень бы хотелось эти темы рассмотреть!

    • @graphicaldesign2776
      @graphicaldesign2776  5 лет назад +1

      Так, много вопросов в одном сообщении, поэтому отвечаю на все, по порядку)
      - Например?
      - Почему?
      - Поменять один префаб на другой? Нуууу, возможно, как один из вариантов. Думаю вообще это можно реализовать наверное десятком разных способов.
      - Активировать оружие из инвентаря)
      - Очень хотелось бы. Но эта тема наверное ближе к слову "инвентарь", чем к слову "оружие".

    • @Dunai_Perjaslawsky
      @Dunai_Perjaslawsky 5 лет назад

      ​@@graphicaldesign2776 Оу! Спасибо что отвечаешь подписчикам!!!Очень ценно)
      Много оружия, например десятки. Все ведь не прикрепишь в скелет. Не удобно. Гораздо удобней сделать в скелете пустой випонхолдер с пивотом в кисти, и во всех префабах оружия сделать пивот в районе рукоятки. А дальше при коллизии с игроком оружия лежащего на земле уничтожать его на земле и появлять у игрока в инвентаре или руках, если они пусты.
      Спасибо еще раз за урок!

    • @graphicaldesign2776
      @graphicaldesign2776  5 лет назад

      Мне даже интересно узнать пример шутера, в котором без инвентаря есть десятки видов оружия)

    • @Dunai_Perjaslawsky
      @Dunai_Perjaslawsky 5 лет назад

      @@graphicaldesign2776 ну почему без инвентаря, с ним конечно. Например Старбаунд. Там десятки видов оружия и вряд ли оно привязано к скелету. Оно скорее всего просто инстансится в позиции при бодборе)

    • @graphicaldesign2776
      @graphicaldesign2776  5 лет назад

      Но эти видео не направлены на работу с инвентарем. Это логика оружия, а не взаимодействие с предметами. И Starbound это не шутер) А песочница.

  • @ИльяБорисов-ы2ч
    @ИльяБорисов-ы2ч 4 года назад

    А в 3Д Будет работать?

  • @Mr-lo5tp
    @Mr-lo5tp 4 года назад

    привет а как это зделать у персонажа все эти вещи ну оружие а так спасибо за урок! всё норм!

    • @graphicaldesign2776
      @graphicaldesign2776  4 года назад

      Привязать все к плеер контролеру

  • @lloyd7270
    @lloyd7270 2 года назад +1

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class WeaponSwitch : MonoBehaviour
    {
    public int weaponSwitch = 0;
    // Start is called before the first frame update
    void Start()
    {
    SelectWeapon();
    }
    // Update is called once per frame
    void Update()
    {
    int currentWeapon = weaponSwitch;
    if (Input.GetAxis("Mouse ScrollWheel") > 0f)
    {
    if (weaponSwitch >= transform.childCount - 1)
    {
    weaponSwitch = 0;
    }
    else
    {
    weaponSwitch++;
    }
    }
    if (Input.GetAxis("Mouse ScrollWheel") < 0f)
    {
    if (weaponSwitch = 2)
    {
    weaponSwitch = 1;
    }
    if (Input.GetKeyDown(KeyCode.Alpha3) && transform.childCount >= 3)
    {
    weaponSwitch = 2;
    }
    if (currentWeapon != weaponSwitch)
    {
    SelectWeapon();
    }
    }
    void SelectWeapon()
    {
    int i = 0;
    foreach (Transform weapon in transform)
    {
    if (i == weaponSwitch)
    weapon.gameObject.SetActive(true);
    else
    weapon.gameObject.SetActive(false);
    i++;
    }
    }
    }