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

Ғылым және технология

Достаточно давно 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/...

Пікірлер: 26

  • @bcebolodletov7759
    @bcebolodletov77592 жыл бұрын

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

  • @derikfant831

    @derikfant831

    2 ай бұрын

    Спасибо

  • @themachine9329
    @themachine932910 ай бұрын

    Вы как-то вскользь упомянули про гибкость, но на самом деле это очень важный момент, я так понял ECS позволяет вообще забыть (ну или сильно облегчить) про внедрение новых фич в свою архитектуру. Как обычно происходит: приходит новая фича от геймдизанера, для которой которую очень трудно впихнуть в существующую архитектуру ( или по времязатратно), поэтому при создании архитектуры ты вынужден заглядывать в будущее, чтобы оставить возможности для всякого, или плакать потом кровавыми слезами и перекраивать текущую архитектуру. В ECS тебе всего этого не надо: ты просто делаешь игру, вводишь фичи, комбинируешь их, всё без оглядки на архитектуру, потому что в ECS ввести новую фичу и при этом не сломав то что написано - супер легко, это прям киллер фича этой парадигмы я считаю и вторая по важности после производительности. Подробнее об этом рассказывает kzread.info/dash/bejne/Zqd40KR8mMm8YNI.html (время 22:30 если вдруг ссылка со временем не открылась как положено) Насчёт минуса ESC: kzread.info/dash/bejne/ip2Itc6mppS-kbw.html "время на разработку больше потому что кода который надо писать - больше", такой себе аргумент, например ява намного многословнее питона, но почему то корпоративный сектор выбирает именно её - потому что надёжность важнее и легкость дальнейшей поддержки проще, так и тут, всегда чем то приходится жертвовать. Насчёт сложности дебага и взаимодействия между MonoBehaviour и ECS : считаю самым проблемными минусами. Хотел бы спросить, а если делать проект с нуля сразу на ECS, стоят ли преимущества выделки? Ну т.е. насколько меньше проблем когда ты не внедряешь ECS в текущий проект, а с нуля пишешь сразу используя эту парадигму? Хочу сказать спасибо за такой качественный вебинар, приятно удивлён и даже подпишусь пожалуй.

  • @VADIM-SOLOV
    @VADIM-SOLOV Жыл бұрын

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

  • @SowilTM
    @SowilTM2 жыл бұрын

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

  • @astrofox7532
    @astrofox753210 ай бұрын

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

  • @xxxxxx5237
    @xxxxxx52372 жыл бұрын

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

  • @brainwashing5576
    @brainwashing55762 жыл бұрын

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

  • @mr_ivanushka4287
    @mr_ivanushka428723 күн бұрын

    Возник вопрос про распределение логики и данных: рассмотрим пример - компонент здоровья персонажа. Где писать проверку валидности изменения состояния (новое здоровье ниже нуля или выше максимального): в системах или компоненте?

  • @vasilialeksandrov6670

    @vasilialeksandrov6670

    19 күн бұрын

    в системе делать проверку потому что в компонентах лежат только данные, а проверка валидности это логика

  • @user-lc6yf8rz6k
    @user-lc6yf8rz6k Жыл бұрын

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

  • @adrew4
    @adrew46 ай бұрын

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

  • @rdragon587
    @rdragon5872 жыл бұрын

    cool)

  • @Fenix72rus
    @Fenix72rus2 жыл бұрын

    Начало с 2:20

  • @nightkot4917
    @nightkot49177 ай бұрын

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

  • @OOOJohnJ
    @OOOJohnJ11 ай бұрын

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

  • @nightkot4917
    @nightkot49177 ай бұрын

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

  • @danil_zz
    @danil_zz2 жыл бұрын

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

  • @Pravda-bw3tj
    @Pravda-bw3tj Жыл бұрын

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

  • @user-gm8sk4ub2u
    @user-gm8sk4ub2u4 ай бұрын

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

  • @neverworld8815
    @neverworld88152 жыл бұрын

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

  • @RedBallOfLove

    @RedBallOfLove

    7 ай бұрын

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

  • @NikitaLukianov

    @NikitaLukianov

    9 күн бұрын

    @@RedBallOfLove стоило стрим посмотреть перед тем как в комменты идти, в теме видео речь не про паттерн, а про одну конкретную реализацию - Unity ECS

  • @klimklymenko3585
    @klimklymenko358510 ай бұрын

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

  • @user-ed4pt6sv2e
    @user-ed4pt6sv2e6 ай бұрын

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

  • @lei-at

    @lei-at

    4 ай бұрын

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

Келесі