Всё про корутины в Unity 3D

Всё про корутины в Unity 3D



Вся основная информация о корутинах в Unity 3D в одном видео. Что такое корутины, что писать после yield return, как пользоваться Start Coroutine и Stop Coroutine, для чего их можно применять, и прочие тонкости связанные с корутинами в Юнити

Patreon канала –
Наш Discord –

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

Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео

50 thoughts on “Р’СЃС‘ РїСЂРѕ корутины РІ Unity 3D

  1. Коррутина скорее хавает метод как экшн Рё инвокает его, РёРіРЅРѕСЂРёСЂСѓСЏ существование самого компонента, что странно – РЅРѕ работает

  2. Забыл рассказать РїСЂРѕ использование РІ корутинах ключевого слова break 😉

  3. Спасибо огромное)
    Из ролика понял, что можно запускать асинхронные задачи из корутин, что расширяет их область применения, очень даже. По-больше бы таких роликов на русском ютубе, и жизнь стала бы легче.

  4. В чём преимущество использования корутины для MoveForward, например, по сравнению с размещением его в Апдейте?

  5. Но ведь так и не объяснено, что это такое. Это функция? Это класс? Это птица? Это самолёт?

  6. А как остановить корутину я так и не понял. Мне надо, чтобв она повторялась только секунд 10

  7. Как же я уважаю профи, которые вот так все просто и спокойно объясняют, а не покидывают в вопрошающих снобскими какашками. Гхм, простите, накопилось, видимо. Автор, ты крут.

  8. Р° Сѓ меня почему-то StopCoroutine(corName()) – РЅРµ работает. попробовал создать экземпляр, СЃ трудом корутина запустилась, РЅРѕ РІСЃРµ равно метод остановки РЅРµ работает, спасает только стополлкорутинс :"(

  9. Приветствую друзья, может кто подскажет можно ли в рамках одного скрипта запустить респаун двух объектов, в разных точках и с разной задержкой респауна? если можно то как?

  10. что делать? выдаёт ошибку – AssetsScenesscriptscourutine.cs(19,61): error CS0117: 'Quaternion' does not contain a definition for 'indentity'

    (я совсем новичок в этом)

  11. Спасибо, Р·Р° видео, РЅРѕ Сѓ меня РІРѕРїСЂРѕСЃ. Можно ли записать РІ куратину РІРѕС‚ это –
    Int a = 1, b = 1;
    a + b;
    ?

  12. Ожидание до нового фрейма помогло разбить генерацию чанков на мелкие задачи и пофиксить просадки фпс при подгрузке чанков (когда все выполнялось за 1 фрейм).

  13. Хорошее видео. Отличная идея сделать отдельный класс с простыми корутинами на движение и прочее.

  14. 9:05 РЅСѓ… РЅРµ сказал Р±С‹… РёРЅРѕРіРґР° вместо ифов проверки более полезна или для убирания сообщения ошибки, если РѕРЅР° РЅРµ критична для тестирования, РЅРѕ мешает отслеживать что-то реально критичное РІРІРёРґСѓ спама РІ лог

  15. Случайно увидел это видео, в общем для новичков полезно. Но далеко не ВСЁ о корутинах!!!
    Автор, зря вы про то что try/catch ВЕСЬ ГЕЙМДЕВ не использует, это далеко не так.

    Про try/catch в корутинах важно было сказать что нельзя делать так:
    private IEnumerator MyCoroutine()
    {
    try
    {
    yield return null; <- или yield return чего бы то ни было
    }
    catch (Exception e)
    {
    Debug.LogException(e);
    }
    }

  16. Я в юнити не шарю, и у меня вопрос больше к разрабам юнити.
    Почему сделали это через yield, а не через async-await? Сделали бы что-то типа async Coroutine Coroutine() { await AnoterCoroutine();}

  17. Ещё одна "фича" корутин в том что они классы и yield return new создаёт множество объектов которые сборщик мусора потом должен собрать. Поэтому желательно особенно в циклах сначала создавать один илд инструкцию и каждый раз возвращать один и тот же экземпляр инструкции.

  18. 12:30 Вот только корутину нельзя остановить с помощью StopCoroutine если она запустилась прямой ссылкой.

  19. Знаю РїСЂРѕ РЅРёС… СЃ начала обучения, РЅРѕ РЅРё разу РЅРµ СЃРјРѕРі запустить. РўРѕ РѕРґРЅР°, то другая проблема. Сейчас это "РќРµ удается преобразовать РёР· …IEnumerable РІ string". И делай что хочешь. Превожу РІ стринг, так корутина даже РЅРµ стартует

  20. Шикарно. Лучшее объяснение РёР· всех виданных как РЅР° СЂСѓСЃСЃРєРѕРј, так Рё РЅР° английском ( 🙂 скорость РЅР° пределе восприятия, информация очень плотно временами хочется поставить WaitForSecond (1.f);

  21. Просто РѕРіРѕРЅСЊ! РџРѕР№РґСѓ гляну что там еще РЅР° канале интересненького 😀

  22. Так в чем преимущество этого метода, я не понял, если честно. К примеру, я могу написать всю логику в методе Update с счетчиком времени и всё.
    Почему такую логику(со счетчиками) стоит выносить именно в корутины? просто для удобства и чтобы не заводить переменные для таймеров?

  23. Основа корутинов – средство генерации анонимных итераторов в C# при помощи инструкции yield. Можно легко написать собственную реализацию корутинов при помощи этого языкового средства. Грустно, что подобный механизм не добавляют в Java – это ведь сильно расширяет возможности языка.

  24. Очень много полезной информации в одном коротком видео. Спасибо!

  25. Я правильно понимаю, что это почти тоже самое, что генераторы или async/await в javascript? А то я про эти корутины слышал только из Kotlin

  26. Часто использую вместо анимации, чтобы не добавлять аниматор везде где придется.

  27. Объясни пожалуйста, что такое корутина "под капотом" как они связаны между собой и почему остановка корутины осуществляется, в том числе, через "break".

  28. 10:00 Флажок на на компоненте(скрипте) в инспекторе, не отключает выполнение корутин: https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
    Note: There is a checkbox for enabling or disabling MonoBehaviour in the Unity Editor. It disables functions when unticked. If none of these functions are present in the script, the Unity Editor does not display the checkbox. The functions are:

    Start()
    ; Update() ; FixedUpdate() ; LateUpdate() ; OnGUI() ; OnDisable() ; OnEnable() .

  29. Оч годный контент, спасибо тебе огромное!
    Есть в планах выпустить что-нибудь про свет в 3д?)

Leave a Reply

Your email address will not be published.