ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก

Оптимизация игры на Unity. Object Pooling

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ส.ค. 2024

ความคิดเห็น • 44

  • @NightTrainCode
    @NightTrainCode  2 ปีที่แล้ว +1

    Актуальную версию пула можно всегда найти на GitHub, так как я периодически выкладываю обновления 😎
    • 🖤 NightPool на GitHub: github.com/MeeXaSiK/NightPool
    + Всегда есть обновлённая документация на GitHub, если что-то не совпадает с роликом)

  • @super207room
    @super207room ปีที่แล้ว +1

    Да ты зайка, я месяц думал, как это оптимизировать❤

    • @NightTrainCode
      @NightTrainCode  ปีที่แล้ว +1

      Ахах, спасибо)
      У меня скоро обнова пула выйдет, подробности в телеге

  • @lepota5050
    @lepota5050 2 ปีที่แล้ว

    Супер, спасибо большое твои это струя , особенно самый первый я угарал долго, ну супер.

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

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

  • @grandsunhar
    @grandsunhar 2 ปีที่แล้ว

    Супер

  • @unitynub5390
    @unitynub5390 2 ปีที่แล้ว +2

    Не пойму что не так делаю... Заменяю в скрипте "Instantiate" на "NightPool.Spawn" и мне "NightPool" сразу подчеркивает красным и выдает ошибку: "Имя "NightPool" не существует в текущем контексте". Может нужно что-то добавить в скрипт? Я новичок в коде... Автор, помогите пожалуйста. P.S. - И папки Plugins у меня в архиве нету.

    • @rybinded
      @rybinded 2 ปีที่แล้ว +1

      Вверху вашего скрипта нужно добавить строчку: using NTC.Global.Pool;

  • @ThePirateHistory
    @ThePirateHistory 2 ปีที่แล้ว +3

    3 месяца это как срок, и единственное к чему я притронулся за это время это годот, и игру по тутору)

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Я был "заточён" в камере разработки мобильных игр, программирования на ECS и получения большого опыта ;)
      Как-то смотрел обзор Годота, не знаю насколько тема перспективная. В общем, Unity не изменяю с 2012 😎

    • @ThePirateHistory
      @ThePirateHistory 2 ปีที่แล้ว +3

      @@NightTrainCode сомневаюсь что в годоте есть перспективы такие как в юните' да и в юнити быстрее и проще вещи делать' плюс огромное количество готовых решений

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +1

      @@ThePirateHistory И не поспоришь, огромное комьюнити и ассет стор тащит)

  • @rybinded
    @rybinded 2 ปีที่แล้ว +1

    Автор, спасибо за вашу работу! Подскажите, почему объекты из пула не всегда "деспавнятся"? Сделал пул объектов для Particle Sistem при попадании пули в землю, эффект уничтожается через секунду. Запускаю игру в Юнити, открываю список (как у вас на видео 02:54), в иерархии и наблюдаю такую картину: первый выстрел - префаб засветился и потух (деспавнится), второй выстрел - префаб засветился и не тухнет (не деспавнится). Ну, и так пока все 10 шт не остаются активными. На сцене видно, что объект не удалился, а остается в игре хоть его и не видно так как анимация частиц разовая. Подскажите, на что нужно обратить внимание? Буду очень благодарен.

    • @rybinded
      @rybinded 2 ปีที่แล้ว +2

      Разобрался))) Повесил "деспавнер" на объект. Спасибо тебе за работу!

  • @elvinbayramov7389
    @elvinbayramov7389 11 หลายเดือนก่อน

    А где достать Night Cache? Использую старую систему MonoCache, но в гитхабе другой нет

  • @danil_zz
    @danil_zz 2 ปีที่แล้ว +2

    Понравилась стилизация локации. Насколько понял, это low poly без текстур? Можно подробнее, где это и как создаётся? Для мобил самая тема

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +1

      Это в ассет сторе покупается 😅

    • @danil_zz
      @danil_zz 2 ปีที่แล้ว

      @@NightTrainCode можете порекомендовать, что за ассеты?

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +2

      @@danil_zz В основном всё покупаю от Synty Studios

    • @DimokFa
      @DimokFa 10 หลายเดือนก่อน

      Скорее всего вертексы раскрашивали. С Вертекс колор даже UV не используется.

  • @user-fu4rf6zm8m
    @user-fu4rf6zm8m 11 หลายเดือนก่อน

    @NightTrainCode, нужна помощь, как в NightPool Активировать и деактивировать именно тот объект, который находится в NightPoolENtry, я пишу все так, как ты говоришь в видео, но он создает новые префабы на сцене, а те которые кешируются на сцене просто лежат деактивные

    • @NightTrainCode
      @NightTrainCode  11 หลายเดือนก่อน

      Он создает пулы и кэширует туда объекты. Через NightPool.Spawn

  • @orcan377
    @orcan377 2 ปีที่แล้ว

    а почему из Zenjectа не сделал Фабрик-пул??

  • @stasonick
    @stasonick 2 ปีที่แล้ว +1

    Можно пример с кэшированием. Не понял как это делать в коде (

    • @_Otets_
      @_Otets_ ปีที่แล้ว

      Так на протяжении всего видео и показывают кеширование объектов. Кеширование - это сохранение объекта для его переиспользования при повторном запросе.

  • @panama2553
    @panama2553 5 หลายเดือนก่อน

    Где можно посмотреть ваши игры ?

    • @NightTrainCode
      @NightTrainCode  5 หลายเดือนก่อน

      Ссылки на проекты, в разработке которых я принимал участие, есть в моём GitHub профиле

  • @nikolaiii3
    @nikolaiii3 10 หลายเดือนก่อน

    Игруля клон Серьезного Сэма.

    • @NightTrainCode
      @NightTrainCode  10 หลายเดือนก่อน +1

      А почему не клон Painkiller или Will Rock?)

    • @nikolaiii3
      @nikolaiii3 10 หลายเดือนก่อน

      @@NightTrainCode Наверное вот почему не Уил Рок - "GameSpot criticized the game for being a mindless knockoff of Serious Sam in a more negative review." А Painkiller всё же совсем не такой.

    • @nikolaiii3
      @nikolaiii3 10 หลายเดือนก่อน

      @@NightTrainCode Не могу вспомнить точно в какой части, но не только локация очень похожа. Но и поведение врагов.

  • @gamingpro3324
    @gamingpro3324 2 ปีที่แล้ว +1

    привет,можеш помочь,кароче, игра у меня на пк выдает 100 фпс(оптимизировал игру смотря на ваше видео) но когда запускаю на телефоне выдает 20-30 фпс, ладно подумал я, убрал все дома,поля,деревья и тд, все равно 20-35 фпс, шо делать

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Привет!
      1) Посмотри все остальные ролики, за исключением видео про Light Probes, не так важно в этом случае
      2) Если ты использовал Night Pool, то, возможно, закэшировал слишком много объектов для телефона и нужно уменьшить Size. Как игра работает без пула?
      3) Поставь тип всех источников освещения на Baked, вместо Realtime или Mixed и запеки освещение, возможно где-то рилтаймовые тени жрут ресурсы
      4) Везде ли всё прожат Static на статичных объектах?
      5) Если используешь URP, то включён ли SRP Batcher и Dynamic Batching в SRP

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +1

      @Oleksandr Olshynskyi В основном на программистов гонят, когда дело в кривых модельках)

    • @danil_zz
      @danil_zz 2 ปีที่แล้ว +1

      А это не удивительно. На мобилах fps специально ограничен половиной частоты экрана (30 против 60Гц) ввиду того, что батарею экономить надо, а 24Гц это с эпохи кинематографа считается непрерывным для глаз, т.е. 30 это самое то. У тебя и на пустой сцене тоже 30fps будет выдавать. Не парься насчёт 30, но подумай насчёт 20. Во-первых, поставь разрешение в 2 раза меньше от текущего (смартфоны сейчас ставят разрешение чуть не FullHD минимум, что и компы то иногда не тянут, а ты поставь 960*540). Во-вторых, отключи Post Effects, в третьих, ставь URP где даптированные шейдеры под мобилу и не только они. А далее, только Profiler с подсоединением девайса покажет где у тебя дыры.

  • @user-sg2dh8rt4l
    @user-sg2dh8rt4l 2 ปีที่แล้ว +2

    У листа же есть цикл ForEach, который быстрее for и foreach

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Быстрее, чем foreach точно, с for там примерно одинаково

    • @user-sg2dh8rt4l
      @user-sg2dh8rt4l 2 ปีที่แล้ว

      @@NightTrainCode th-cam.com/video/8yATAWTa7_I/w-d-xo.html
      3:26

  • @newGames_0
    @newGames_0 2 ปีที่แล้ว

    Унылый геймплей. Думаю стоит добавить больше побочных механик, чтоб разбавить скуку от убийства мобов. Я видел, что некоторым вполне норм днями мобов ложить.. однако так лично я не могу.
    Может игра вообще не об этом, но было бы лично мне интереснее если бы была какая-то необходимость в оставлении мобов в живых.
    Сделать головоломки, но это уже приевшаяся темя... хотя по настоящему сложных не хватает. Только бы вот иметь возможность пройти дальше без решения таких задач.
    Вот бы иметь возможность с мобами сделать что-то помимо убийства. В скайриме можно смешивать ингредиенты, чтобы узнать их свойства в зелья. Вот бы что-то подобное можно было делать и проверять на мобах.
    Двигать предметы иногда весело, как и убивать ими.
    Можно и стелса, но это же как я вижу нечто подвижное.
    По лору сделать противникам некий роевой интеллект.
    Я могу так ооооочень долго, но думаю ты понял. Тебе ещё работать и работать, чтобы такое качали и играли по своему желанию большинство.

  • @ilyaplekhanov2373
    @ilyaplekhanov2373 2 ปีที่แล้ว

    Почему все ru блогеры юнити читают английские слова не по правилам всегда?)

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Ват а ю токин эбаут?)

    • @ilyaplekhanov2373
      @ilyaplekhanov2373 2 ปีที่แล้ว

      @@NightTrainCode геймАбджект и еще что то было такое)

  • @alex_konor2197
    @alex_konor2197 ปีที่แล้ว

    У тебя получается ограниченное количество мобов одного типа на сцене может присутствовать? Я так полагаю да, ты же тупо объекты перемещаешь и включаешь. Значит это костыль.

    • @NightTrainCode
      @NightTrainCode  ปีที่แล้ว +1

      Паттерн Object Pool загугли и не неси чушь