Если Unity ECS так хорош, почему его нет в каждом проекте? 🔥

Поділитися
Вставка
  • Опубліковано 11 січ 2022
  • Достаточно давно Unity представила новый стек технологий DOTS. Сердцем стека является Entity Component System. ECS - это data-oriented шаблон проектирования, что имеет множество отличных фич.
    Но почему, учитывая все преимущества и особенности стека (о которых мы расскажем дополнительно), не каждый Unity проект - это набор пакетов DOTS? Именно на этот вопрос мы ответим в нашем бесплатном третьем вебинаре!
    Что мы также обсудим во время вебинара:
    • Что такое стек Unity DOTS? Какие технологии в себя включает?
    • Как работает ECS в Unity?
    • Реальные кейсы использования MonoBehaviour vs ECS
    • Альтернативные ECS-решения для Unity
    • Когда выбрать ECS? Когда MonoBehaviour подход?
    Наш уже традиционный лайв будет полезен всем, кто следит за новыми технологиями Unity и кому интересен практический опыт их использования. Его проведут основатели Stan’s Asssets from KAPPS: Павел Климентенко, Алексей Яременко и Станислав Осипов!
    Ссылка на вебинар будет доступна в день мероприятия на нашем Telegram-канале! Рассказывай о нас друзьям и подписывайся t.me/+zMc-ZfqSN1xkMDhi
    О спикерах:
    Алексей Яременко - сооснователь Stan's Assets from KAPPS, Unity-разработчик с 9-летним опытом. Сотрудничал с компаниями The Tribe Games, Moon Studios (над сиквелом ААА-игры Ori) и другими. Основная специализация: графическое программирование, написание шейдеров.
    Павел Климентенко - сооснователь Stan's Assets from KAPPS, имеет 7 лет опыта в Unity разработке. Сотрудничал с компаниями Moon Studios (над сиквелом ААА-игры Ori), Rogue Sun, Roomful, и т. д. Эксперт в прототипировании, создании инструментов для редактора и оптимизации.
    Станислав Осипов - сооснователь Stan's Assets from KAPPS, senior-девелопер с опытом разработки более 10 лет. Занимал позицию ECS Developer в Unity Technologies работая над такими продуктами как Project Tiny, UI Elements, UI Builder. Его основная экспертиза - работа с архитектурой Unity-приложений.
    Ссылка на презентацию:
    docs.google.com/presentation/...
  • Наука та технологія

КОМЕНТАРІ • 23

  • @bcebolodletov7759
    @bcebolodletov7759 2 роки тому +29

    Начало без воды 10:30

  • @themachine9329
    @themachine9329 9 місяців тому +4

    Вы как-то вскользь упомянули про гибкость, но на самом деле это очень важный момент, я так понял ECS позволяет вообще забыть (ну или сильно облегчить) про внедрение новых фич в свою архитектуру. Как обычно происходит: приходит новая фича от геймдизанера, для которой которую очень трудно впихнуть в существующую архитектуру ( или по времязатратно), поэтому при создании архитектуры ты вынужден заглядывать в будущее, чтобы оставить возможности для всякого, или плакать потом кровавыми слезами и перекраивать текущую архитектуру. В ECS тебе всего этого не надо: ты просто делаешь игру, вводишь фичи, комбинируешь их, всё без оглядки на архитектуру, потому что в ECS ввести новую фичу и при этом не сломав то что написано - супер легко, это прям киллер фича этой парадигмы я считаю и вторая по важности после производительности. Подробнее об этом рассказывает ua-cam.com/video/4sDnBChfV0o/v-deo.html (время 22:30 если вдруг ссылка со временем не открылась как положено)
    Насчёт минуса ESC: ua-cam.com/video/XiTSlmv1XaY/v-deo.html
    "время на разработку больше потому что кода который надо писать - больше", такой себе аргумент, например ява намного многословнее питона, но почему то корпоративный сектор выбирает именно её - потому что надёжность важнее и легкость дальнейшей поддержки проще, так и тут, всегда чем то приходится жертвовать.
    Насчёт сложности дебага и взаимодействия между MonoBehaviour и ECS : считаю самым проблемными минусами.
    Хотел бы спросить, а если делать проект с нуля сразу на ECS, стоят ли преимущества выделки? Ну т.е. насколько меньше проблем когда ты не внедряешь ECS в текущий проект, а с нуля пишешь сразу используя эту парадигму?
    Хочу сказать спасибо за такой качественный вебинар, приятно удивлён и даже подпишусь пожалуй.

  • @SowilTM
    @SowilTM 2 роки тому +2

    Спасибо, парни. Очень информативно и интересно

  • @VADIM-SOLOV
    @VADIM-SOLOV Рік тому +1

    Большое спасибо за видео. Узнал для себя много нового :)

  • @astrofox7532
    @astrofox7532 9 місяців тому

    Спасибо, было интересно и информативно!)

  • @xxxxxx5237
    @xxxxxx5237 2 роки тому +4

    В 38:17 видно что Вы добавили компоненты scale, translation & rotation, и у вас есть localToWorld в матрице которого всё это уже хранится. По идее как-то так можно сделать в системе localToWorld.Value = float4x4.TRS(position, rotation, scale);

  • @brainwashing5576
    @brainwashing5576 2 роки тому

    Спасибо. С удовольствием послушал

  • @adrew4
    @adrew4 5 місяців тому +1

    28:00 лучше наверно сказать, что система встроенной физики Unity использует алгоритмы оптимизации, которые не всегда лаконично могут работать в случае с сетевой частью игры, де факто это так работает из за оптимизации встроенной физики, она не плохая.
    В резюме, мне почему то это видится так, что ECS - промежуточный этап сейчас, для чего то большего. Обьективно строить весь проект на Pure ECS нецелесообразно, тем не менее Jobs в совокупности с данным паттерном отлично прибавляет в performance, из за расположения данных в памяти на кеше процессора, правильной мультипоточности. По сути, используя ECS вы целенаправленно чем то жертвуете, но взамен получаете другие плюшки. И гибридная система сегодня конечно выглядит лучше, чем голый Mono. Но, опять же есть разные варианты оптимизации логики и на Mono, это подходы с чистыми c# скриптами, которые не тянут за собой весь ферймворк, содержат чистую логику с декомпозицией, и так-же органично живут в памяти, с 1 update на всю игру. Если не нужен именно performance, то городить проект на ECS в отрыве от DOTS мне кажется глупо, но да, так все делают, и я не знаю почему.

  • @rdragon587
    @rdragon587 2 роки тому

    cool)

  • @Fenix72rus
    @Fenix72rus 2 роки тому +2

    Начало с 2:20

  • @user-lc6yf8rz6k
    @user-lc6yf8rz6k Рік тому

    Спасибо фрэнды, что джаботаете эту джаботу и форвардите эту пьюрэ информацию фор фри! В русскоязычном интернете это уникал контэнт!

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

    Смотреть можно с 9:50

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

    Зы: Вот Юнитеки, вместо этой непрекращающейся вечной выматывающей погони за UE, что привела к проблемам Джонни Речителло, сделали бы наконец НОРМАЛЬНУЮ многопроцессорность из коробки с поддержкой старого MonoBehavior, чтобы не нужно было этими велосипедами, вроде ECS страдать. Чтобы вот я к примеру писал по старинке код. Обычный старперский ООП код, и не задумывался, как там внутри что то "крутится", и все на смартфонах средней ценовой категории летало...

  • @danilgazizov
    @danilgazizov 2 роки тому +3

    Unity 2021 перестала поддерживать ECS (временно), пришлось качать 2020, и при этом потерять Pooling из 2021. Уже, как минимум, неадекватно.

  • @nightkot4917
    @nightkot4917 6 місяців тому +1

    Потому на каждый "ЧИХ" в игре, включая к примеру кнопку "Выход", писать стуктуру, к ней прописывать отдельно Логику, все это упаковывать в Провайдер, следить за порядком вызова... оййй... Все ЭТО нарастает как снежный ком, на одном объекте целый ворох ЭТОГО ВСЕГО... А если сложная модель поведения персонажей, к примеру, с Полиморфизмом... О, Боже! Это какой то ужас! Да, работает шустро, не отнимешь, НО ЭТО ТАКОЙ ГЕМОРОЙ!!!

  • @Pravda-bw3tj
    @Pravda-bw3tj Рік тому

    про то что они говорят есть в morpeh ecs :D

  • @neverworld8815
    @neverworld8815 2 роки тому

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

    • @RedBallOfLove
      @RedBallOfLove 6 місяців тому +3

      ecs - это архитектурный паттерн. он не может быть сырым. возможно, что вы говорите про библиотеку какую.

  • @user-gm8sk4ub2u
    @user-gm8sk4ub2u 3 місяці тому +1

    На каком языке пытается говорить Алексей?

  • @user-ed4pt6sv2e
    @user-ed4pt6sv2e 5 місяців тому +1

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

    • @lei-at
      @lei-at 3 місяці тому

      Все понятно было рассказано, лишь бы доебатся!

  • @klimklymenko3585
    @klimklymenko3585 9 місяців тому +3

    Пиздатый вебинар с оч полезной инфой не только про ECS, а и про Photon Quantum). Cпасибо и слава Украине!