Страница 1 из 1

Вопросы по оптимизации

СообщениеДобавлено: 12 июл 2017, 20:10
Febz
Мобильная игра, в ней есть несколько уровней, отличающихся только значениями переменных в скриптах и типами врагов, остальное идентично. С точки зрения оптимизации и размера apk, что лучше:

- создать несколько .unity-сцен и в каждой вручную настроить параметры и врагов (тогда в сцене будут только нужные вражеские префабы)
- или же объединить сцены в одну, но со скриптом, который, в зависимости от выбранного уровня, сам настраивает параметры и врагов (но тогда в сцене будут висеть неиспользуемые префабы для остальных сцен)

Re: Вопросы по оптимизации

СообщениеДобавлено: 13 июл 2017, 10:28
eonyanov
Думаю, во втором варианте размер апк меньше будет, так как сами файлы сцен какое-то место должны занимать.
С точки зрения оптимизации, без разницы. Тут уже зависит от того, как настроена конкретная сцена(-ы).

По второму варианту не совсем понял, почему на сцене должны висеть неиспользуемые префабы?
Создаешь в управляющем скрипте переменные под все префабы врагов, в редакторе связываешь эти переменные с префабами из проекта (только не со сцены, а именно напрямую из проекта их перетаскиваешь).
Когда игру запускаешь, инстанциируешь объекты только нужных врагов и задаешь им параметры согласно уровню. Для задания настроек врага согласно уровню тебе помогут файлы настроек - ScriptableObject.

Re: Вопросы по оптимизации

СообщениеДобавлено: 13 июл 2017, 10:55
waruiyume
Думаю, во втором варианте размер апк меньше будет, так как сами файлы сцен какое-то место должны занимать.

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

Потому что все ресурсы на которые есть ссылки в сцене загружаются в память.

Febz, делайте как удобней, а оптимизировать начинайте только если появится необходимость.
Если загружать ресурсы через Resorces.Load, они не будут висеть мёртвым грузом, пока не используются, но это дополнительный геморрой.

Re: Вопросы по оптимизации

СообщениеДобавлено: 13 июл 2017, 12:31
Febz
waruiyume
Я так чую, в будущем мне еще предстоит скрупулезное выковыривание каждого лишнего килобайтика из билда, ибо на данный момент создана лишь 1/10 контента, а размер апк уже настораживает.. Пара сотен кб в таком случае не будет лишней, тем более, что подобных сцен планируется 50-80 штук.

Сейчас взял свою игровую сцену (файл .unity весит 210 кб), дублировал её, и добавил в проект. В итоге у полученного apk размер вырос лишь на 20-30 кб..

eonyanov
Спасибо за наводку, про ScriptableObject вообще не знал.

Re: Вопросы по оптимизации

СообщениеДобавлено: 13 июл 2017, 19:12
eonyanov
Еще для уменьшения размера APK в PlayerSettings можно у параметра DeviceFilter оставить только ARMv7. Обладателей девайсов x86 не так много, и ими можно пренебречь =)