Как сделать ЛЮБУЮ СТРЕЛЬБУ в UNITY? На примере РЕАЛЬНЫХ игр

Поділитися
Вставка
  • Опубліковано 4 жов 2024

КОМЕНТАРІ • 97

  • @olegggames6409
    @olegggames6409 2 місяці тому +1

    Спасибо тебе огромное. Нигде не было понятного объяснения, как сделать разброс, а оказывается нужно было всего лишь просуммировать два вектора, а я прибалвлял рандомное значение к каждой оси

    • @NightTrainCode
      @NightTrainCode  2 місяці тому +1

      @@olegggames6409 На здоровье, спасибо за коммент)

  • @oshiro_channel
    @oshiro_channel Рік тому +5

    Это определенно один из лучших и понятных уроков! Как тебе идея сделать полноценный гайд на создание, к примеру, фпс шутера? Это очень поможет новичкам, поскольку у тебя очень хороший код и объяснения!

  • @dimabb4972
    @dimabb4972 Рік тому +10

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

  • @ilyakovin4167
    @ilyakovin4167 Рік тому +3

    Видосик шикарен. не только для стрельбы, но и про приятные фишки. Понравился фокус с Enum

  • @JIN-TECH
    @JIN-TECH Рік тому +4

    Великолепный комплексный урок. Спасибо!

  • @kowaruss
    @kowaruss Рік тому +5

    Очень классно. Продолжай. Ещё много разных тем, которые надо осветить.
    Естественно, ждём урок по новой Input системе

  • @thebad7628
    @thebad7628 Рік тому +6

    Просто лучший 👍

  • @artsurock
    @artsurock Рік тому +3

    Шикарное видео, спасибо за подробный разбор реализации разных типов атак, подчеркнул для себя несколько интересных фишек, которых нигде раньше не встречал )

    • @NightTrainCode
      @NightTrainCode  Рік тому

      На здоровье, я рад, спасибо)

  • @isITMACHINE
    @isITMACHINE Рік тому +3

    Ждем видос про инпут систем, сам пообещал)))

  • @Developer-do2pt
    @Developer-do2pt Рік тому +2

    Очень крутое видео! Сначало подумал что видос будет не качественный, без монтажа. Ну как бы смонтировать видос длинной 40 минут очень не просто. Но нееет! Здесь автор очень постарался, я был удивлен! Редко встретишь качественные уроки. Под этим видео должен быть миллион просмотров (как минимум).

  • @forcesoftheevil9252
    @forcesoftheevil9252 Рік тому +1

    Ого видева вышло. Благодарю, Миш))

  • @andrewbogun5822
    @andrewbogun5822 Рік тому +1

    что скажешь - лучший. Ни больше, ни меньше!

  • @caveman7246
    @caveman7246 Рік тому +1

    Наконец-то это вышло🎉🎉

  • @nepochat
    @nepochat Рік тому +1

    Не зря ждал, спасибо)

  • @Tumanop
    @Tumanop Рік тому +1

    Конечно хотим урок об новой системе, пили быстрее))

  • @evggg
    @evggg 8 місяців тому +1

    Насчет запуска снаряда через forward самой пушки - это не очень удобно. В том плане, что при таком подходе снаряды не всегда летят строго в прицел, потому что пушка смещена относительно центра камеры, еще может быть повернута как нибудь потом, чтоб в камере лучше смотрелась. Можно отдельный трансформ конечно задать для forward, но и он будет давать погрешность в прицеливании на большом расстоянии. Я направление запуска проджектайла тоже через рейкаст делаю. Что-то типа var dir = (hit.Point - spawnPoint.position).normalized. Ну и длину луча в метров 500, чтоб в дальних врагов хорошо попадать.

  • @evdafeevdafever4094
    @evdafeevdafever4094 Рік тому +1

    Мишань, как всегда сочно, вкусно и полезно. Спасибо за контент

  • @MrVoronaExtra
    @MrVoronaExtra Рік тому +1

    Теперь нужен гайд по стреляющим ботам (как в Сталкере)

  • @Erzukov
    @Erzukov Рік тому +1

    Супер! Спасибо за видос!

  • @vladimirkraft4315
    @vladimirkraft4315 Рік тому +1

    Автор, спасибо за выпуск! 👍

  • @3epyc
    @3epyc Рік тому +1

    Качественный контент...

  • @EnotoButerbrodo
    @EnotoButerbrodo Рік тому +3

    Инпут лучше использовать через интерфейс, аля IInputService. Потому-что иначе изменение схемы управления может быть болезненно. Да и код понятней становится. Раз уж zenject используется

    • @NightTrainCode
      @NightTrainCode  Рік тому

      Справедливо. В проекте так и юзаю, а тут смысла нет людей ещё больше грузить

  • @Hellscaner
    @Hellscaner Рік тому +1

    Комментарий, в продвижение канала.

  • @artemkakrutoi
    @artemkakrutoi Рік тому +2

    Хочу видео про новую Input System

  • @niksanhts
    @niksanhts Рік тому +1

    я очень жду, когда у тебя будет очень много подпесчиков

  • @def6141
    @def6141 Рік тому +1

    Обычно ниче не пишу но тут напишу и лайкну ;)

  • @ephitariathegame2brainstud996
    @ephitariathegame2brainstud996 Рік тому +1

    Супер, спасибо.

  • @motoday3580
    @motoday3580 Рік тому +1

    Лучший из лучших !!!!

  • @1lowol1
    @1lowol1 Рік тому +1

    Супер!

  • @ДенисКузнецов-л8ж
    @ДенисКузнецов-л8ж 8 місяців тому

    😃😃 Лучший урок на ютюбе) Но сложно) Я варюсь в Unity чуть больше года и да мне как новичку, подобный код сложно написать самому без подсказок - то есть ты знаешь что такое маски, луч, интерфейс, циклы - пользуешься не раз, но соединить в такую классную систему самому не получается)

  • @EliseyUnity
    @EliseyUnity Рік тому +1

    Спасибо большое.😊

    • @NightTrainCode
      @NightTrainCode  Рік тому

      На здоровье, спасибо за коммент)

  • @maksimchibisov6164
    @maksimchibisov6164 Рік тому +1

    Сделай ролик про новую инпут систему плииииииз !!!! =))))

  • @dogmaruz
    @dogmaruz Рік тому +1

    Сделай урок про New Input System

  • @z4nzimoon
    @z4nzimoon Рік тому +1

    балдеж

  • @mamas111
    @mamas111 5 місяців тому

    Поподробнее бы про кулдаун на атаку

  • @KawaiMarkus
    @KawaiMarkus 10 місяців тому +1

    Йо, жалко что некоторые видосы были скрыты или удалены у тя на канале, например про делегаты или кэширования, не знаю с чем связано, но бро лучше оставляй видосы, ты вносишь очень большой вклад в развитее Unity.
    UPD: я видел пост где ты говорил что есть какие-то ошибки или недочёты, но всё равно было бы классно если бы оставил!

    • @NightTrainCode
      @NightTrainCode  10 місяців тому +1

      Привет, спасибо за коммент)
      Там не только из-за недочётов пришлось скрыть, я всё хотел и хочу перезаписать старые видосы, потому что некоторые вещи немного поменялись, но пока времени вообще нифига нет, сейчас вообще на двух работах пашу)

    • @KawaiMarkus
      @KawaiMarkus 10 місяців тому +1

      @@NightTrainCode Блин я всё равно рад, что ты делаешь для нас! Понимаю что времени мало, главное не забывай отдыхать. Я оч много узнал из твоих видео, хотя вот занимаюсь Unity 2 года и понимаю, что оч много не знаю, так как пользовался всего лишь базой. А теперь хочется продвинуться

    • @NightTrainCode
      @NightTrainCode  10 місяців тому +1

      @@KawaiMarkus На здоровье, а тебе большое спасибо за мотивацию)

  • @holerkey
    @holerkey Місяць тому

    спасибо

  • @DenisFomin
    @DenisFomin Рік тому

    Про дырки от пуль, Decal не рассказал ))) можно ли объять не объятое?
    В остальном отличное видео!

    • @NightTrainCode
      @NightTrainCode  Рік тому

      В последних версиях Unity они есть без HDRP? Та и видео было по большей части про код, а не про визуал)

    • @awmindiegame
      @awmindiegame Рік тому

      ​@@NightTrainCode Уже в URP завезли

  • @Arcurvet
    @Arcurvet Рік тому

    Отличный урок. Жаль, что про лазер не было. Понятно, что это рэйкаст, но как реализовать изогнутый или там отражающийся лазер, не очень понятно

  • @ywi4548
    @ywi4548 Рік тому +1

    Харош

  • @muuulya
    @muuulya Рік тому +1

    Супер! Спасибо.
    Не очень понял почему у enum в примере должны быть обязательно значения 1,2,4,8...

    • @NightTrainCode
      @NightTrainCode  Рік тому

      Спасибо и на здоровье)
      Потому что у тебя может быть много вариантов маски. Если 2 элемента, то две разные комбинации. Если 3 элемента, то это уже 2 в квадрате = 4 разные комбинации и так далее. Информатика

    • @muuulya
      @muuulya Рік тому

      @@NightTrainCodeколичество комбинаций понятно, а вот как из этого следует, что enum не может состоять из 1,2,3,4 мне не понятно. Возможно причина в не понимании какого принципы работы

    • @bonbad612
      @bonbad612 Рік тому

      @@muuulyaтут логика в том что у нас комбинации должны быть уникальными 1,2,3,4 не получится потому что 1+2=3, а 3 уже есть в последовательности 1,2,3,4. Это как двоичная система получается

    • @muuulya
      @muuulya Рік тому

      @@bonbad612 Спасибо за ответ. Попробовал на практике посмотреть значения в дебаге и стало все понятнее 🙂

  • @zik7401
    @zik7401 Рік тому

    Можешь порекомендовать, какой нибудь материал для изучения Unity и C#? (Конечно, не считая себя).

  • @niknikagain
    @niknikagain 15 днів тому

    Реализовывать атаки с задержкой через зашитые в коде задержки - хреновое решение. Гораздо лучше и удобнее добавить ивенты в нужных моментах анимации и уже в обработчиках проверять успешность атаки и наносить урон. Там же задавать и ивент окончания атаки. Это же в некоторых случаях может помочь в реализации куллдауна после атаки (часто его вообще не придется реализовывать).

  • @jonathansantos6026
    @jonathansantos6026 Рік тому

    Или можешь записать видео как ты реализовал контроллер? Я сейчас использовал CharacterController встроенный в юнити, работает как нужно, но хочу написать свой, т. к. буду его масштабировать и изменять по мере роста возможностей... Заранее спасибо)

  • @alexey6649
    @alexey6649 Рік тому

    Ребят,те кто давно работают в юнити,как лучше всего изучить скриптинг в юнити ?в юнити манул есть материал,но хотелось что нибудь по лучше найти

  • @InverseGameLogic
    @InverseGameLogic Рік тому +2

    Отличное видео! Всё разобрано понятным и доступным языком.
    Единственное, что бросилось в глаза - методы TryFindEnemies и TryAttackEnemies на 18:36. Первый метод возвращает bool - тут вопросов нет, а вот второй возвращает void. И тут возникает вопрос, а почему он "TryAttackEnemies", а не просто "AttackEnemies ", приходится лезть в метод и смотреть, что там есть условие для поиска компонентов, которые могут принимать урон. Т.е. фактически это опять же поиск врагов, только с уточнением, что поиск врагов, которые могут принимать урон. Я бы перекомбинировал эту логику, выделив сначала TryFindTargets, вернув список overlap, затем этот список передал бы в TryFindEnemies и там бы уже отсеял, оставив только те цели, которые могут принимать урон, и уже получившийся список можно было бы передать в AttackEnemies.

    • @NightTrainCode
      @NightTrainCode  Рік тому +2

      Спасибо)
      Да, лучше просто переименовать в AttackEnemies. Мне уже лень было в миллионный раз что-то переснимать)

    • @InverseGameLogic
      @InverseGameLogic Рік тому +2

      @@NightTrainCode порой забываешь, сколько работы происходит за кадром.
      Спасибо большое, что делишься опытом, да ещё и в таком качественном формате! Я такого качества на платных курсах не видел, а тут бесплатно - вообще праздник!

    • @NightTrainCode
      @NightTrainCode  Рік тому +1

      @@InverseGameLogic Спасибо большое!) Чётко сказано, за кадром вообще такая задница, чтобы конфетку выпустить...

  • @jonathansantos6026
    @jonathansantos6026 Рік тому

    Здравствуй, хочу реализовать реалистичное поведение персонажа, с учетом костей, с учетом физики... Движение ног влево, вправо, вперед, назад... Приятное поведение модели персонажа, лучше IK и анимации создать в блендере, а потом настраивать в юнити? Или лучше в блендере создать риггинг и через код в юнити создать IK, я видел там по поводу этого есть методы... У одного ютубера видел SHIMORO у него написано через IK... Размышляю по этому поводу, надеюсь у кого-то есть соображение, что лучше и как это реализовать. Было приятно если есть статья или видео на ютуб по этому поводу... Заранее спасибо...

  • @romaiacovlev3364
    @romaiacovlev3364 6 місяців тому

    Живой? Видео 8 месяцев нет

    • @NightTrainCode
      @NightTrainCode  6 місяців тому

      Живой, в телеграме посты почаще)

  • @Tera-h7e
    @Tera-h7e 7 місяців тому +2

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

    • @romaiacovlev3364
      @romaiacovlev3364 5 місяців тому +2

      Код очень простой, ничего сложного

  • @МихаилЛьвов-ь2ч
    @МихаилЛьвов-ь2ч Рік тому +2

    Можно выговаривать английские слова проще, а то жесть слух режет или выговаривать нормально

  • @SergeySvotin
    @SergeySvotin 11 місяців тому

    Наконец-то раскрыта концепция дерьмовой стрельбы в кс, мудаки среди разрабов просто закодили мгновенный урон через рейкаст, хотя правильно было бы рассчитывать физически попадание через прожектайл, учитывая скорость снаряда, расстояние, а соответственно время полета и движение цели. Да, сложно, зато правильно. А так это не шутер, а тир

    • @evggg
      @evggg 8 місяців тому

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

    • @SeverDev
      @SeverDev 4 місяці тому

      Подумаем логично: Что случилось бы с не очень мощными компами, если 10 игроков одновременно пустили бы очередь?

    • @SergeySvotin
      @SergeySvotin 4 місяці тому

      @@SeverDev то же, что происходит с ними сейчас. Потому что грузят комп текстурки, а не математические модели

    • @SeverDev
      @SeverDev 4 місяці тому

      @@SergeySvotin так если ты простчитываешь физическое попадание для каждого из 300 объектов на сцене, их разброс и силу, то твой комп зависнет, так что в большинстве случаев стрельба в онлайн шутерах идёт через рэйкасты

    • @SergeySvotin
      @SergeySvotin 4 місяці тому

      @@SeverDev ты считаешь, что рэйкаст так легко рассчитать? Комп не зависнет, да и 300 снарядов надо еще умудрится в кс прймать, когда там от силы 15 одновременно в перестрелке 2-3 человек

  • @JohnSmith-tk2wp
    @JohnSmith-tk2wp Рік тому

    Почему проджектайл через силу и соответственно через физику ?
    Это нубство портит всё видео.Столько умных слов, пулы и прочее, но продежектайлы через мать её физику как для первоклашек.

    • @NightTrainCode
      @NightTrainCode  Рік тому

      А через что надо сделать и как обрабатывать столкновения своим кодом?

    • @NightTrainCode
      @NightTrainCode  Рік тому

      А для физического снаряда, который от стен отскакивает тоже свою физику без физики писать?
      А потом проверять столкновения со всеми коллайдерами на сцене?

    • @JohnSmith-tk2wp
      @JohnSmith-tk2wp Рік тому

      ​@@NightTrainCode Подумай о том как ты будешь реплицировать физику по сети.
      Определение столкновений, в этом нет симуляции через физические силы. Это только проверка столкновений.
      Отскакивающий от стен снаряд это интересная тема.

    • @NightTrainCode
      @NightTrainCode  Рік тому

      @@JohnSmith-tk2wp В том же Квантуме есть своя физика, свой фреймворк. А здесь видео не про мультиплеер, а про ванильный Юнити

    • @JohnSmith-tk2wp
      @JohnSmith-tk2wp Рік тому

      @@NightTrainCode проджектайлы через физику в таком видео это как бельмо, или специально с каким то умыслом.
      Можно было показать ещё один способ.
      Юнити ванильный.Мультиплеер не означает что мы обязаны использовать какие то левые фреймворки или сервисы, это может быть просто свой сервак написаный на чём угодно, например на с++ в рамках чьей то дипломной работы или типа того.
      Обучение и коммерческое использование движка это немного разные цели.
      К примеру я пишу игру на ЯИ и я хочу что бы там всё быстро работало без лишних нагромождений.У меня проджектили будут без физики, потому что не вижу смысла перегружать ей игру.Эти классы или их логику я смогу позже испоьзовать в других играх или сделать рескин.Они более универсальны, и по этому я могу перенести логику даже на другой движок.