Мне необходимо загружать в сцене различные префабы в зависимости от рандома и сохранения. Нагуглить получилось только Resources.Load, но натыкался на намеки, что его лучше не использовать. И если все же использовать его, то в каком месте и будет ли тогда корректно отображаться процесс загрузки сцены?
Kit Scribe, ну у меня подозрение, что если пихнуть Resources.Load в awake, то это как то неправильно и загрузка будет отображаться некорректно)
А как сделать по нормальному, что то не пойму.
Идея в том, что на сцене будет уровень, и он будет формироваться по разному в зависимости от условий, и чтобы лишнего не грузить (текстур, звуков) надо бы как то это разделить.
Советую использовать Instantiate. Это намного лучше, чем работа с динамическими ресурсами.
Далее предлагаю использовать бандлы.
Ну и загрузка ресурсов напрямую уже как крайний метод.
Для Instantiate уже требуется загруженный объект. Я так планировал облегчить сцену для того чтобы не грузить все возможные префабы.
Вообще Instantiate и планировалось дальше использовать.
Griboks, Instantiate создает новый объект на основе уже загруженного (в сцену), а я бы не хотел грузить в сцену все.
И я что то не пойму, что вы базой называете?
AndrDev,
1. вы запускаете игру
2. в память загружается база ассетов
3. открывается сцена
4. на сцене (в памяти) создаются игровые объекты из базы ассетов (экземпляры классов)
5. вы начинаете играть на сцене с этими объектами
Instantiate позволяет не загружать все объекты на сцену из п.4, а делать это динамически.
Asset bundles позволяют разбить базу из п.2 и загружать её по частям.
Resource folder позволяет открывать произвольные файлы и добавлять их в базу, а затем создавать из них объекты.