MonoBehaviour. И есть такой же, который наследуется от MonoBehaviour и он весит на префабе с такими компонентами как: audiosource, videoplayer и с двумя вложенными дочерними объектами Image. Вопрос: если создать экземпляр первого Person через new и инициализировать его данными и если создать второй префаб Person, с теми компонентами и дочерними элементами на сцене и отлючить его через SetActive(), то сколько памяти потребует каждый Person или во сколько раз будет разница, примерно? А если я создам таких сотни?
Object pooling изобрел снова?
Нет, что это?
Не в том дело. Мне их не нужно спавнить и уничтожать каждый раз. Пользователь может добавлять своих персонажей в игру. Что если их будет сотня, две, три? Мне нужно при запуске их все инициализировать куда-то, с разными данными для разных персов. Юнити не даёт создать MonoBehaviour скрипт через new(), приходится спавнить префаб, чтобы инициализировать в нём данные.
Какие именно данные нужны для создания перса? Это онлайн проект?
Нет, не онлайн. Мобильная игра. В каждом объекте Person, добавленным игроком, нужно инициализировать все поля при загрузке и хранить List<Person> с этими данными, для каждого перса. Суть в том, что экземпляр я не могу создать, без префаба на сцене. А при запросе конкретного перса - найти его в этом списке и заспавнить префаб. Простой список всё же будет меньше памяти кушать, чем 300 отключенных префабов с разными компонентами и дочерними объектами в них.
Звучит как тебе нужна загрузка объектов через адрессаблы
Обсуждают сегодня