Перенос проектов со старых версий
Перенос проектов с 0.13.х на 0.16.х и младше
Экспорт проектов
Данная статья поможет вам в процессе переноса проектов с более старой версии на новую. При переходе с версии 13.х на 16.х, у пользователя может возникнуть ряд внештатных ситуаций, избежать которые поможет эта инструкция:
- Перед установкой новой версии Varwin (16.x), желательно экспортировать необходимые проекты, чтобы иметь под рукой сохраненную рабочую копию
- После установки новой версии Varwin, запускаем его и переходим в список проектов
Если установка новой версии Varwin происходила без очистки данных, то в списке находим необходимый проект, или же импортируем его из созданного нами ранее бэкапа
Конвертация логики
Далее необходимо, чтобы Varwin сконвертировал логику, которая была реализована в 13 версии под новую версию платформы. Для этого необходимо для каждой сцены произвести следующие действия:
- Переходим в проект, открываем редактор логики одной из сцен
- Производим любые манипуляции на рабочей области редактора логики, например подвинем какой – либо блок – наша задача сделать кнопку «Применить» активной
- Нажимаем на кнопку «Применить», тем самым запуская процесс конвертации логики
Обновление объектов
Далее необходимо обновить объекты до последней версии – в них были исправлены ошибки, улучшена производительность и добавлен новый функционал
- Для этого переходим в редактор сцены
- В окне редактора, в верхней панели инструментов, находим кнопку запуска виджета версионирования объектов и нажимаем на нее
- Открывается окно версионирования объектов. Мы можем обновить как единично выбранные объекты, так и все сразу. В нашем случае рекомендуется обновить все объекты сразу, нажав на соответствующую кнопку. Изначально в списке будут только встроенные в платформу объекты. Если в проекте используются и «сторонние» объекты, сделанные с помощью Varwin SDK, рекомендуется их пересобрать в Unity и загрузить в платформу, об этом будет ниже
- Обновления объектов вступят в силу только после перезапуска сцены, поэтому необходимо закрыть виджет версионирования, нажав на крестик
- Далее нажать на кнопку «Ок» в появившемся окне
- Далее необходимо перезапустить редактор сцены, чтобы изменения вступили в силу. Для этого закроем окно редактора
Исправление логики объектов
Снова перейдем в редактор логики сцены, в которой мы обновили объекты. После обновления объектов, некоторые их блоки пометятся удаленными, а некоторые как устаревшие:
Устаревшие блоки будут продолжать работать, но правильная их работа не может быть гарантирована. Следующий этап переноса проектов – подмена удаленных и, при желании или необходимости – устаревших блоков. Для этого необходимо в списке блоков объекта найти аналогичный блок и заменить им старый. На примере объекта «Текст»:
- Находим аналогичный блок
- Перетаскиваем его в нужное место и конфигурируем, как старый
- Удаляем старый блок
- Аналогичные операции проделываем до тех пор, пока в редакторе логики не останется ни одного блока, помеченного удаленным. Для сохранения прогресса подмены блоков, можно воспользоваться функцией принудительного сохранения – она позволяет сохранить состояние логики в неработоспособном состоянии, чтобы продолжить работу с ней в будущем
- Для этого нажимаем кнопку «Применить»
Если в редакторе логики остаются удаленные блоки, рабочая область сфокусируется на таком блоке, а кнопка «Применить» изменится в «Применить принудительно»
После нажатия на кнопку «Применить принудительно», текущее состояние логики сохранится и можно будет продолжить работу с ней в будущем
Как только все блоки в редакторе логики будут восстановлены, кнопка «Применить» более не изменяется в кнопку «Применить принудительно», проект можно считать перенесенным
Рекомендуется также сверится с документацией, описывающей обновленное поведение блоков в рабочем пространстве редактора логики, чтобы, возможно, скорректировать некоторые моменты Вашей логики
- Необходимо установить LTS – версию Unity 2021 (2021.3.0 LTS) и создать новый Unity проект на этой версии
Необходимо собрать ресурсы и исходники Ваших объектов
Если используется репозиторий для хранения ресурсов, шаги ниже можно пропустить
- Открываем проект на Unity 2018, в котором находятся необходимые для пересборки объекты
- Переходим в окно «Project» и в пустом месте нажимаем правой кнопкой мыши, выбираем пункт «Export package…»
- В открывшемся окне помечаем галочками те папки и ресурсы, которые необходимо перенести
Необходимо снять галочки с папок «Plugins» (если в проекте используются какие – то плагины, помимо тех, что на скриншоте, то необходимо выделить только их), «SteamVR_Input», «Varwin» – это ресурсы Varwin SDK 0.13.х, они нам не понадобятся - Нажимаем кнопку «Export» и экспортируем пакет в удобное место
- Открываем проект, созданный на Unity 2021 и устанавливаем Varwin SDK для 0.16.x, следуя инструкции по установке SDK и подсказкам во всплывающих окнах
- После установки SDK импортируем пакет с исходниками объектов и ресурсов, который был экспортирован из Unity 2018 (или скачиваем ресурсы объектов и сцен с репозитория) в проект
- После импорта в консоли могут быть ошибки, связанные с изменениями API Unity, их нужно разрешать согласно документации Unity
- После успешного импорта и при отсутствии ошибок в консоли можно собирать объекты. Делается это тем же способом, что и ранее. При сборке объектов появилось окно, куда можно вписать какие изменения были проведены в сравнении с предыдущей сборкой, просто какую – то информацию или же оставить поле пустым
Далее нажимаем кнопку «Build» и происходит процедура сборки - После сборки всех необходимых объектов и загрузки их в Varwin, необходимо обновить эти объекты в сценах, где он используется. Процесс обновления аналогичен описанному выше процессу для встроенных объектов
Перенос проектов с 0.16.х на 17.x.x
Экспорт проектов
Экспорт проектов с 0.16.x на 17.x.x версию происходит с помощью обычного импорта - экспорта проекта из одной версии платформы в другую. Это достаточно простой процесс, но повторить его будет не лишним, итак:
Откройте платформу 0.16.x версии. В списке проектов выберите необходимый и справа, напротив выбранного проекта, в действиях с проектом выберите "Экспорт проекта целиком"
- Дождитесь экспорта проекта. Закройте Varwin 0.16.x и откройте Varwin 17.x.x
Откройте папку, с проектом который импортировали ранее
По умолчанию, проекты экспортируются в директорию
C:\Users\``USER``\Документы
где ``USER`` - имя вашего профиля на ПК
Перетащите проект в окно Varwin 17.x.x
- Дождитесь окончания импорта проекта
Обновление объектов
Далее необходимо обновить объекты до последней версии – в них были исправлены ошибки, улучшена производительность и добавлен новый функционал
- Для этого переходим в редактор сцены
- В окне редактора, в верхней панели инструментов, находим кнопку запуска виджета версионирования объектов и нажимаем на нее
- Открывается окно версионирования объектов. Мы можем обновить как единично выбранные объекты, так и все сразу. В нашем случае рекомендуется обновить все объекты сразу, нажав на соответствующую кнопку. Изначально в списке будут только встроенные в платформу объекты. Если в проекте используются и «сторонние» объекты, сделанные с помощью Varwin SDK, рекомендуется их пересобрать в Unity и загрузить в платформу, об этом будет ниже
- Обновления объектов вступят в силу только после перезапуска сцены, поэтому необходимо закрыть виджет версионирования, нажав на крестик
- Далее нажать на кнопку «Ок» в появившемся окне
- Далее необходимо перезапустить редактор сцены, чтобы изменения вступили в силу. Для этого закроем окно редактора
- Перейдите в редактор логики Blockly и пересохраните логику