Очень хороший вопрос. Почитав здесь немного про ревизии версий при работе с google документами, стало понятно что привязать определенную версию документа к нужной версии программы можно — сохранить метаданные файла, а когда программа будет запрашивать все ревизии файлов найти нужную по метаданным и с ней уже работать. Но заставить работать именно Drive API для .NET на Unity мне не хватило пока нервов.
… где было пять версий сцен для разных разрешений...
Спасибо, нужно взять себе на заметку Ваше решение. В купе с хорошей автоматизацией будет эффективно для поддержки разных устройств.
Unity не позволяет вызвать скрипт перед началом сборки (в Pro, вроде бы, можно).
Насколько я знаю, в Unity API ограниченные возможности по пре/после-процессингу билда. Не очень компетентен я в этой сфере, но что-то можно сделать через BuildPipeline, где можно управлять процессом упаковки.
Интересный подход, я бы о таком даже и не подумал. К сожалению, приходится делать много ненужной механической работы.
Но вот я думал, что замена спрайтов в рантайме это довольно таки дорогая для производительности операция, оказылось, что она проходит без заметных глазу фризов даже на маломощных устройствах, если конечно количество объектов в сцене в пределах разумного.
Мне интересно как реализуется данная фича в 2d Toolkit.
А если брать простые 2д фреймфорки типо CoronaSDK или Cocos, то там спрайты же для разных разрешений грузятся сразу, без поиска и замены, потому что у них все пишется с кода. Такой подход тоже можно реализовать в unity, и я видел решения где-то на форуме официальном, но это не очень удобно для привычного рабочего процесса, т.к. нужно будет все спрайты удалять с объектов перед запуском или вообще создавать объекты с кода в рантайме. Вообщем мне от этого становится страшно:)
Протестировал у себя в игре. После загрузки спрайтов из Resources количество Draw Calls не меняется.
Вот статистика с 2х(hd) текстурами, которые не загружаются из Resources:
А вот 4х(ultra-hd) которые подгружались из Resources
Разное количество сохраненных тестур батчингом показывает, потому что некоторые текстуры и объекты work in progress.
В билде под ios можно убрать компиляцию плагина gpgs
http://forum.unity3d.com/threads/problem-with-game-center-achievements.310817/
Спасибо, нужно взять себе на заметку Ваше решение. В купе с хорошей автоматизацией будет эффективно для поддержки разных устройств.
Насколько я знаю, в Unity API ограниченные возможности по пре/после-процессингу билда. Не очень компетентен я в этой сфере, но что-то можно сделать через BuildPipeline, где можно управлять процессом упаковки.
А еще можно запускать скрипты прямо в редакторе Running Editor Script Code on Launch, ExecuteInEditMode
Неплохое решение.
Кстати, есть еще решение для свапинга атласа спрайтов с помощью NGUI, нашел я его на lynda.com, но я думаю в интернете это где-то гуляет.
Но вот я думал, что замена спрайтов в рантайме это довольно таки дорогая для производительности операция, оказылось, что она проходит без заметных глазу фризов даже на маломощных устройствах, если конечно количество объектов в сцене в пределах разумного.
Мне интересно как реализуется данная фича в 2d Toolkit.
А если брать простые 2д фреймфорки типо CoronaSDK или Cocos, то там спрайты же для разных разрешений грузятся сразу, без поиска и замены, потому что у них все пишется с кода. Такой подход тоже можно реализовать в unity, и я видел решения где-то на форуме официальном, но это не очень удобно для привычного рабочего процесса, т.к. нужно будет все спрайты удалять с объектов перед запуском или вообще создавать объекты с кода в рантайме. Вообщем мне от этого становится страшно:)
Вот статистика с 2х(hd) текстурами, которые не загружаются из Resources:
А вот 4х(ultra-hd) которые подгружались из Resources
Разное количество сохраненных тестур батчингом показывает, потому что некоторые текстуры и объекты work in progress.