Конечно инетерсно это видео. У тебя самый прикольный канал среди русскоязычных юнити девелоперов. Жаль только видео давно не выходят.
@delalen80124 жыл бұрын
Заебись!) Продолжай)
@NoldoWalker4 жыл бұрын
Спасибо за такую информацию, в связке (юнити + паттерны) я такого не находил. Очень полезно.
@gaitavr19924 жыл бұрын
Приятно удивлен, что тема вызывает интерес у разработчиков
@sigvist62283 жыл бұрын
@@gaitavr1992 да просто хочется научиться писать красивый код, который можно будет в будущем поддерживать)
@vladfinni67972 жыл бұрын
Очень хотелось бы больше материалов по ECS ( От Entitas или Юнитишный) как никак, но юнитеки видят в этом будущее, да и у компаний спрос растет.
@neverworld88153 жыл бұрын
Касательно вопроса из видео, мне посоветовали всегда использовать паттерны, их по сути не нужно писать совсем с нуля, но они могут быть лучше чем стандартные методы Unity
@IvanKriuchkov4 жыл бұрын
Шикарные видосы! Но слишком плотно наваливаешь) можешь делать на один уровень подробнее?
@gaitavr19924 жыл бұрын
Сложно соблюсти баланс между длиной видео и понятностью материала. Если есть вопросы - спрашивай
@Nightmareinfos3 жыл бұрын
@@gaitavr1992 дело в том, что несмотря на то, что видео короткое, я трачу на него раз в 5 больше времени, т.к. приходится останавливать и самому вникать в написанный код. Зачастую десятиминутное видео изучается около часа.
@gaitavr19923 жыл бұрын
А кто-то справляется за раз, ему ускорять видео или мотать нужно в таком случае?
@Nightmareinfos3 жыл бұрын
@@gaitavr1992 ну зачастую вы показываете сразу 3 класса на одном экране, которые наследуют друг-друга и при этом объясняете как оно все работает. Я думаю, мало кто сможет сразу прочитать весь код и вникнуть в суть за такое короткое время. Возможно, некоторые просто вообще не вникают в код, а просто слушают как оно на словах работает, тогда им нормально.
@ruslan_yefimov3 жыл бұрын
@@Nightmareinfos Это ведь канал о unity, а не изучении Шарпа) Непонятно - ставишь на паузу и разбираешься. Весь код же на экране
@yagdra3 жыл бұрын
UniRx наше всё! Очень интересна тема жонглирования потоками в UniRx
@gaitavr19923 жыл бұрын
Там нет потоков
@yagdra3 жыл бұрын
@@gaitavr1992 Ага, я понимаю, не так выразился - подписками.
@seldemirov4 жыл бұрын
Ваш канал просто находкаю. За тему паттернов отдельное спасибо! Не знаю думали вы об этом или нет, но было бы здорово иметь под каждым видио сылку на репотозиторий с материалами урока.
@gaitavr19924 жыл бұрын
Спасибо, у меня почти под каждым видео репозиторий. Исключение теоретические видосы)
@seldemirov4 жыл бұрын
@@gaitavr1992 Ну тогда вообще все идеально! ) Еще раз спасибо за канал и работу!
@ericetto10893 жыл бұрын
Использую UniRx и Zenject, хочу еще наконец-то разобраться в UniTask
@PavelStr-x5w2 жыл бұрын
комментарий в поддержку )
@sweeepeeeeng2 жыл бұрын
А есть ли смысл в дтошке использовать свойство с публичным get и set?
@nikita82913 жыл бұрын
Спасибо за видос!) Макс, на 2:07 ты вызываешь деструктор, получается сборщик мусора добавит этот объект в очередь на удаление и выполнит отписку? Просто не понятно с активными ссылками, вроде же GC такие объекты игнорит
@gaitavr19923 жыл бұрын
Это я протупил и оставил, оно не нужно
@nezdanchickkun Жыл бұрын
Вот бы угадать требования по аналитике
@olexkov46437 ай бұрын
Делал что то подобное...как по мне очень удобно.
@ncinsli2 жыл бұрын
Пытался в UniRX, не очень получилось. Хотелось бы видео о нем)
@egyplant3 жыл бұрын
Чотко, мне понравилось)
@cheerkin3 жыл бұрын
Лайк за делегат комбайн! Я думаю, 99% юнити-разработчиков и слов-то таких не знают)
@RoGa7663 жыл бұрын
Добрый день, вопрос как быть с очередностью подписок на каком-то ивенте? Пример: персонаж получает урон, подписано 2 ивента 1 хочет убрать 10 от входного урона, а второй 20%. Из бизнес требований ясно, что сначала должны вычитаться проценты, а только потом целые части. Как решаются такие проблемы? Заранее спасибо
@gaitavr19923 жыл бұрын
Добрый. Порядок подписки определяет порядок обработки, но это ненадёжно. Нужен посредник, который обработает урон и нанесет результат
@yummybunny73513 жыл бұрын
Спасибо за видео. Подскажите, что за синтаксис на 2:05 на строке 20: ~Player(){... - будто конструктор. Что за тильда? Вызывается при уничтожении объекта?
@gaitavr19923 жыл бұрын
Да, это деструктор
@ЄвгенБезкровний-р3п2 жыл бұрын
деструктор
@AleksYurchenko2 жыл бұрын
А вообще нужен ли Update? Я только изучаю Unity, тренируюсь и проверяю разные идеи и практически забыл, что есть Update. Всё делаю в сопрограммах.
@romansharpe11313 жыл бұрын
Максим, а расскажи про классы с окончанием Provider. В этом видео они упоминаются часто. Это паттерн какой то или ты просто от себя так именуешь?
@gaitavr19923 жыл бұрын
Это не паттерн, просто суффикс, который очерчивает суть класса
@BorisAverin Жыл бұрын
Спасибо
@argotroll88113 жыл бұрын
Добрый день, вопрос применим ли этот паттерн к следующему поведению. Персонаж взаимодействует с обьектами, либо передвигается по navmesh. Если нажать на обьект песонаж должен подойти к нему и толкьо после этого повзаимодействовать с ним. Обычно это дело делают через проверку дистанции до обьекта, но выглядит это давольно тапорно. Либо как это реализуется без патернов?
@gaitavr19923 жыл бұрын
Стейт машина подойдет
@АлександрМальков-щ8л4 жыл бұрын
Очень хотелось бы услышать видео о UniRx, желательно в связке с Zenject
@gaitavr19924 жыл бұрын
Да, до этих тулзов я тоже доберусь, там одним видео не отделаться
@ДелайДобро-в9ж3 жыл бұрын
Я вообще начинающий. Смотрю и ничего не понимаю. И это отличный повод разобраться.
@igorshlyakov93212 жыл бұрын
тоже самое, настолько круто, что я не понимаю ничего)))
@ve1c0m3 жыл бұрын
Хотелось бы про связку UniRx, UniTask и Zenject послушать
@gaitavr19923 жыл бұрын
Unitask это часть UniRX, а Zenject это совсем другая история. Недавно на канале вышел ролик про async await чисто C#, это даст понимание примерное об UniRX, а Zenject я через несколько месяцев прикручу к tower defense
@malvislightfadynightgames29253 жыл бұрын
Я не понимаю откуда ты взял IClickHandler, где ты его описал?
@malvislightfadynightgames29253 жыл бұрын
Но насколько я понял в этом интерфейсе один метод, который ты вызываешь
@harmfulCat3 жыл бұрын
Отличное видео. Но надо посидеть, разобраться в каждом скрине и начинает доходить. Хотя в начале заходишь, думаешь такой: "О Обсервер за 6 мин, огонь, ща" Но в реальности зависаешь на паузе на часик другой.
@Im-not-meat3 жыл бұрын
Ничего не понял но было очень интересно, лайк.
@sigvist62283 жыл бұрын
Спасибо за то, что ты есть. Ты делаешь очень хороший и качественный контент для программистов!)
@ericetto10893 жыл бұрын
Наконец-то видео по паттернам в Unity, Хоспаде, храни Максима
@Niko_Zen3 жыл бұрын
Спасибо !!! коротко и информативно
@angelldark64262 жыл бұрын
Це дуже цікаво хотілось би більше інформації і прикладов в коді
@romansalnikov50793 жыл бұрын
Безусловно очень полезно, но капец сложно 😅
@TeaCakeGames4 жыл бұрын
4:00 жиза 100%, когда игра готова, а из последних сил еще надо прикручивать аналитику то хардкодом ляп ляп в методах, которые делают что-то интересное через статик аналитик класс)
@ve1c0m3 жыл бұрын
Я в таких случаях делаю медиатор, который реагирует на какое-то событие с данными, при срабатывании события медиатор берёт эти данные и отправляет в аналитику. Но я тоже грешу и иногда прям в коде хреначу))
@ЛиндаПочепинская-з2л4 жыл бұрын
Полезно! Спасибо!❤️
@Timoteeeei4 жыл бұрын
Полезно! Спасибо за инфу!
@Андрей-в7и6ь3 жыл бұрын
Ты крут! Но это пока не мой уровень, загляну через пару лет, может что-то понятно станет)) А пока подпишусь на будущее.
@sh1nler2433 жыл бұрын
Вначале я посмотрел - не понял. Решил поискать инфу у других, вроде как нашел - (kzbin.info/www/bejne/mYm4YqV7ibCgaJY) - понял Во второй раз посмотрел - кое как, если честно. Тяжело было понять кто там наблюдатель, кто наблюдаемый, где агрегатор и т.д. В конце более менее уже было похоже, то что я где-то в другом месте увидел. "Голова уже кружится, пора отдыхать видимо". Можно вопрос? Везде пишут, то что паттерны не нужно на право и на лево впихивать. Для чего как вы думаете больше всего подходит паттерн наблюдатель?
@gaitavr19923 жыл бұрын
Наблюдатель это, наверное, самый употребляемый паттерн, так как инструмент в языке уже готовый(события). Поэтому и применяется везде, где обработчики действия могут меняться и не известны отправителю. Это ослабляет связь(особенно важно при использовании событий на низком уровне, а подписывается высокоуровневый)
@neverworld88153 жыл бұрын
Ты случае не работал в Blizzard ?
@gaitavr19923 жыл бұрын
Хех, если бы) это моя любимая компания по части игр
@vladfoton3 жыл бұрын
Хотелось бы более разжевано...так сказать, для совсем маленьких)
@gaitavr19923 жыл бұрын
Совсем маленьким паттерны еще не нужны) Нужен рабочий, простой код и понимание используемого инструментария (если брать этот ролик, то понимать отличие делегата от события)
@nightkotnightkot99973 жыл бұрын
Что то я не до конца понял... В UserRegistrationInfo то что? В 5.55
@gaitavr19923 жыл бұрын
Это обычный класс, там нечего показывать
@vladyan013 жыл бұрын
Как понять паттерн? Типа шаблон или что?
@gaitavr19923 жыл бұрын
Да
@mirNpeace3 жыл бұрын
Видео просто бомба) Спасибо за старания)
@AleksYurchenko2 жыл бұрын
Коммент просто накрученный треш.
@redice8928 Жыл бұрын
нет вообще не догадался, даже мысли такой не было
@Gsp_NoIce3 жыл бұрын
Давно уже на Rx. Касаемо Unity: UniRx, а когда вижу методы Update в чужом коде, то становится не по себе.
@gaitavr19923 жыл бұрын
Не нужно от update отказываться. Unirx генерит много мусора
@Gsp_NoIce3 жыл бұрын
@@gaitavr1992 Так же как и linq, во всем нужна своя мера, но я вот пришел к тому что мне не нужен update в 95% случаев. ну и я имел опыт что update`ы "жрут" намного больше чем мусор от unirx - между двух зол выбирай меньшее
@Personal_Evoluti_On3 жыл бұрын
От души, Благодарю!
@mastervolodsobeck51763 жыл бұрын
Зачет, благодарю бро!
@sdfdfs4 жыл бұрын
Макс го видео по AI в Unity!
@gaitavr19924 жыл бұрын
О, это как-нибудь потом) Наверное буду делать такое в TowerDefense
@АлександрПолянский-у8х3 жыл бұрын
колбэк зло, await рулит)
@slavalopalo1284 жыл бұрын
EventHolder уже сильно похож на на другой шаблон
@gaitavr19924 жыл бұрын
В первом или втором случае?
@slavalopalo1284 жыл бұрын
@@gaitavr1992 5:30 - больше похоже на посредника
@gaitavr19924 жыл бұрын
Ну да, связка получилась
@WeslomPo4 жыл бұрын
2:50 Говоришь "Слабая связанность" - и тут же делаешь жоскую ссылку на статический класс, вместо нормального получения зависимости через конструктор и подписки на событие у этой реализации >__
@gaitavr19924 жыл бұрын
Со статическим классом связанность жесткая, а между конфиг провайдером и остальными частями системы слабая. Когда у вас в проекте будет необходимость пробросить в несколько конструкторов вглубь какую-либо систему - я бы на это посмотрел. Ну или в крайнем случае использовать DI контейнер
@WeslomPo4 жыл бұрын
@@gaitavr1992 а кто в наше время в здравом уме работет без DI на сложных проектах? В любом случае, код с конструктором проще поддерживать, чем код в котором куча статических классов с состоянием. Потому как понятно какие у класса зависимости и их можно подменить во врем тестирования (при условии использования интерфейсов).
@gaitavr19924 жыл бұрын
Сразу 2 пункта: DI тяжелый, для многих проектов это критично, проходили. DI - расслабляет разработчика планировать свою архитектуру, бахнул INJECT и готово, вы когда-нибудь строили дерево зависимостей в таких проектах, я видел тысячи узлов, которые невероятно сложно менять. EventHolder это один из классических способов внедрения посредников в работу, есть возражения?
@WeslomPo4 жыл бұрын
@@gaitavr1992 EventHolder - это типичная шина событий из времён AS3 - AddEventListener и прочее безобразие, столько этого мусора перековырял в проектах того времени не перечесть - подисаться подписался - а отписаться забыл - приплыли, потеря памяти, плавающие ошибки. А на счёт бахнуть Inject - я вот ща в проекте на 165000 строк запустил поиск - 2 применения (компонент локализации и система окон - для резолва панелей) - все остальные зависимости передаются через конструктор - в среднем не больше 5 зависимостей (локализация и аналитика не в счёт). Зависит от того как вы выстроите в своей команде подход к разработке, проверке кода и прочему - следуешь простым правилам и код не становится совсем уж плохим.
@gaitavr19924 жыл бұрын
Если бы все эти правила были просты, то тех долг никогда не возникал бы
@davidsedrakyan3 жыл бұрын
такой годный контент и очень мало просмотров((
@Veyron1042 жыл бұрын
нашёл баг: я смотрел, но у меня всплыла подсказка)
@Eduard0213-x7p3 жыл бұрын
+
@ОлексійВискворкін4 жыл бұрын
Я думал я прям совсем говнокодер,а оказывается что я "наблюдатель"=)
@gaitavr19924 жыл бұрын
В рамках этого канала продолжайте оставаться)
@Tumanop3 жыл бұрын
Вроде тема хорошая и текст неплохой, но этот говор или акцент… пи***ц бесит что тошнить начинает после 5 минут просмотра
@gaitavr19923 жыл бұрын
Не смотри, мне не сильно интересен подобный фидбек