Универсальный пул объектов. Unity

preview_player
Показать описание
#unity #unity3d #юнити

В этом видео я расскажу про пул объектов в юнити на примере создания снарядов башни
Рекомендации по теме
Комментарии
Автор

Красавчик, хорошее объяснение, понятно и не затянуто)) не забрасывай, ждем новых видосиков)

prosource
Автор

Замечания по ReturnAll()

public void ReturnAll() {
while (_activeObjects.Count>0) {
Return(_activeObjects[0]);
}
}
Так не требуется создание массива.
Если будут сущности использующие объекты из пула, но не знающие что был вызван ReturnAll(), то возможно что-то пойдёт не так. Например две разные сущности могут одновременно управлять одним и тем же инстансом это надо учитывать.

timtim
Автор

Реализация топ, видео очень помогло, спасибо)

ieGameDev
Автор

Возможно это банальщина, но можно в конструктопе пула создавать пустой gameobject, который будет родительским для остальных создаваемых. Не то чтобы это критично, но позволяет "свернуть" здоровенный список объектов или хотя бы разбивать по группам

mindego
Автор

Довольно программистский подход к реализации пула. Ещё и зачем-то произошло изобретение велосипеда, вместо использования готовых пулов. Но в целом нормально, это всё-равно вполне здоровая реализация.

michaelfinne
Автор

Спасибо за такой крутой пример пула! Один только вопрос почему используется проверка количества в пуле через свойство Count почему не Any() ? К слову, в своей книге рихтер призывал к Any()

pulsar
Автор

Можете ли вы предоставить полный код, я новичок и не очень хорошо понимаю некоторые части, заранее спасибо.

zubarevvideo
Автор

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

mikel
Автор

Благодарю за подробный гайд, но возникла ошибка: в строке спавнера при прикручивании метода preload юнити выдает ошибку "не удается неявно преобразовать gameobject в класс. 3:00

jzalive
Автор

Объясни плиз зачем было делать GameObjectPool, чем PoolBase не хватает?
И почему ты написал в аргументах функции @object, что это значит

ЧернійГліб
Автор

Почему не пользовать встроенный Unity пул?

sanded
Автор

Все еще не понимаю откуда пошла мода делать в пуле отдельно лист активных айтемов. Можно же буквально к нужному классу прикрутить переменную isActive и в цикле смотреть, есть ли какие-то неактивные предметы в основном списке.

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

Ну и да - чисто ради приличия на словах "это очень сильно оптимизирует игру" можно было бы прикрутить счетчик фпс для обеих случаев.

kriegsmarine
Автор

Что у тебя за железо?
Шустро работает райдер

DenisB-df