Version: 2017.3
Universal Windows 10 Applications: Getting Started
Настройка Asset Server

Asset Server (Только Pro)

WARNING: LEGACY DOCUMENTATION
Note that that from 2017.1 the Asset Server a deprecated product. We recommend using Plastic SCM or Perforce for version control in your Unity project. 2017–06–30

Обзор Unity Asset Server

PlasticSCM PerForce

Unity Asset Server это система контроля версий и ресурсов, с графическим интерфейсом, интегрированная в Unity. Она предназначена для использования членами команды, которые работают над проектом на разных компьютерах, как в одном офисе, так и удаленно. Asset Server хорошо оптимизирован для обработки больших бинарных ресурсов, чтобы справляться с крупными много-гигабайтными проектами. При загрузке ресурсов, настройки импорта (Import Settings), и другие мета-данные каждого ресурса, также загружаются на сервер. Переименование и перемещение файлов лежит в основе системы, и хорошо поддерживается.

Он доступен только для Unity Pro. Для приобретения Unity Pro, пожалуйста, посетите магазин Unity на http://unity3d.com/store

Note that Asset Server is a legacy product and is no longer maintained.

Впервые пользуетесь системой контроля версий?

Если вы никогда ранее не использовали контроль версий, то работа с любой из систем контроля версий может показаться немного недружелюбной. Контроль версий сохраняет всю коллекцию всех ваших ассетов - меши, текстуры, материалы, скрипты, и все остальное в базу данных на некотором подобии сервера. Этим сервером может быть ваш домашний компьютер, тот самый, который вы используете для запуска Unity. Это может быть другой компьютер в локальной сети. Это может быть удалённая машина, размещенная в другой части мира. Это может быть даже виртуальная машина. Есть много вариантов, но расположение сервера вообще не имеет значения. Важно то, что вы можете получить доступ к нему по сети, и что он хранит ваши игровые данные.

В некотором смысле, Asset Server работает как резервная копия папки вашего проекта. Вы не напрямую управляете содержимым Asset Server во время работы с проектом. Вы вносите изменения в свой проект локально, затем, когда вы закончите, вы коммитите изменения (Commit Changes) в проекте на сервер. Это делает идентичными ваш локальный проект и проект на Asset Server.

Теперь, когда ваши коллеги разработчики внесли изменения, проект на Asset Server идентичен с их проектом, но не с вашим. Для синхронизации локального проекта вы должны обновить его с сервера (Update from Server). Теперь любые изменения, которые сделали члены вашей команды, будут загружены с сервера в локальный проект.

Это основы рабочего процесса в использовании Asset Server. В дополнение к базовой функциональности, Asset Server позволяет откатывать ресурсы к предыдущим версиям, предоставляет детальное сравнение файлов, слияние двух разных скриптов, разрешение конфликтов, а также восстановление удаленных ресурсов.

Настройка Asset Server

Установка Asset Server производится один раз для сервера, а настройка клиента производится для каждого пользователя. Вы можете узнать о том, как это сделать на странице Настройка Asset Server.

В остальной части этого руководства объясняется как развернуть, администрировать, и регулярно использовать Asset Server.

Ежедневное использование Asset Server

В этом разделе описываются обычные задачи, рабочий процесс и оптимальные методы использования сервера ресурсов изо дня в день.

Начало работы

Это лучший способ присоединиться к команде, у которой уже накоплено много изменений по проекту в Asset Server.

  1. Создайте новый пустой проект без импортированных пакетов Перейдите в меню Edit->Project Settings->Editor и выберите Asset Server как режим контроля версий
  2. В главном меню выберите Window->Version Control Кликните на кнопку Connection
  3. Введите имя пользователя и пароль (предоставленный вашим администратором Asset Server) Кликните Show Projects и выберите нужный проект
  4. Click Connect
  5. Click the Update tab
  6. Нажмите на кнопку Update
  7. Если происходит конфликт, отмените все локальные изменения
  8. Дождитесь завершения обновления
  9. Вы готовы продолжать

Основы рабочего процесса

При использовании Asset Server’а в команде из нескольких человек, в целом, хорошая практика обновлять (Update) все изменённые ассеты с сервера в процессе работы и коммитить (Commit) ваши изменения под конец рабочего дня, или когда вы завершили свою работу. Вам также следует коммитить изменения при достижении определённого прогресса в работе над чем-то, даже если это произойдёт в середине дня. Рекомендуется часто и регулярно коммитить на сервер свои изменения.

Понимание Server View

Server View это окно сервера ресурсов, к которому вы подключены. Вы можете открыть это окно, выбрав в меню Window->Version Control.

The Overview tab
The Overview tab

Server View разбит на вкладки: Overview, Update, и Commit. Overview покажет любые отличия между вашим локальным проектом и последней версией на сервере. Здесь можно быстро закоммитить локальные изменения или скачать последние обновления. Update покажет последние изменения на сервере и позволит их скачать в ваш локальный проект. Commit позволяет создать Changeset и закоммитить его на сервер для того, чтобы его могли скачать остальные.

Соединение с сервером

Прежде чем вы сможете использовать сервер ресурсов, к нему нужно подключиться. Для этого, нажмите кнопку Connection, что приведет вас к экрану соединения:

The Asset Server connection screen
The Asset Server connection screen

Здесь вам нужно заполнить следующее:

  1. Адрес сервера
  2. Имя Пользователя
  3. Пароль

Клик по Show projects покажет все доступные проекты в Asset Server. Вы можете выбрать проект, к которому вы желаете подключиться, нажатием кнопки Connect. Учтите, что имя пользователя и пароль для работы с Asset Server вам следует получить у системного администратора. Ваш системный администратор создал аккаунты при установке Asset Server.

Обновление с сервера

Чтобы скачать все обновления с сервера, выберите вкладку Update во вкладке Overview и вы увидите список последних закоммиченных наборов изменений. Выбрав один из них, вы сможете увидеть что изменилось в проекте, а также, сообщение коммита. Кликните Update и вы начнёте скачивать все наборы изменений.

The Update Tab
The Update Tab

Коммит изменений на сервер

Когда вы что-то изменили в вашем локальном проекте и желаете сохранить эти изменения на сервер, используйте верхнюю вкладку Commit.

The Commit tab
The Commit tab

Now you will be able to see all the local changes made to the project since your last update, and will be able to select which changes you wish to upload to the server. You can add changes to the changeset either by manually dragging them into the changeset field, or by using the buttons placed below the commit message field. Remember to type in a commit message which will help you when you compare versions or revert to an earlier version later on, both of which are discussed below.

Разрешение конфликтов

Работа нескольких людей над одним набором данных неизбежно приведёт к конфликтам. Запомните, что при этом не нужно паниковать! Если возникнет конфликт, при обновлении проекта отобразится диалог Conflict Resolution.

The Conflict Resolution screen
The Conflict Resolution screen

В нём вам сообщат про все имеющиеся конфликты и предоставят несколько опций для разрешения каждого из них. Для каждого из конфликтов вы можете выбрать Skip Asset (не скачивать этот ассет с сервера), Discard My Changes (полностью перезаписать вашу локальную версию ассета) или Ignore Server Changes (игнорировать изменения на сервере и позволить перезаписать серверные изменения вашими локальными при следующем коммите). Кроме того, вы можете выбрать Merge для текстовых ассетов, таких как скрипты, чтобы произвести слияние серверной и локальной версий.

Важно: если вы выберите отмену локальных изменений (Discard My Changes), ассет обновится на последнюю версию с сервера (т.е., будут включены изменения внесённые другими пользователями за время вашей работы). Если вы желаете вернуть ассет к состоянию, которое у него было на момент начала работы над ним, вам следует откатить ассет до определённой версии, которую вы ранее коммитили на сервер (см. раздел Просмотр истории ревизий и откат ассетов ниже).

Если конфликт произошёл во время коммита локальных изменений, Unity откажется коммитить ваши изменения и сообщит вам о существовании конфликта. Для разрешения конфликтов выберите Update. Ваши локальные изменения не будут автоматически перезаписаны. На этом этапе вы увидите диалог Conflict Resolution и сможете руководствоваться приведёнными выше инструкциями.

Просмотр истории ревизий и откат ассетов

The Asset Server retains all uploaded versions of an asset in its database, so you can revert your local version to an earlier version at any time. You can either select to restore the entire project or single files. To revert to an older version of an asset or a project, select the Overview tab then click Show History listed under Asset Server Actions. You will now see a list of all commits and be able to select and restore any file or all project to an older version.

The History dialog
The History dialog

Здесь вы можете увидеть номер версии и добавленные комментарии у каждой из версий ассета или проекта. Это одна из причин, по которой полезно оставлять осмысленные и развёрнутые комментарии при коммите изменений. Выберите любой ассет для просмотра его истории или весь проект (Entire Project) для всех изменений в проекте. Найдите нужную вам ревизию. Вы можете выбрать либо всю ревизию, либо отдельный ассет в ревизии. Затем нажмите на Download Selected File для замены вашего локального ассета копией из выбранной ревизии. Кнопка Revert All Project откатит весь проект к выбранной ревизии.

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

Если вы просто желаете отменить изменения в локальной копии, нет необходимость откатываться. Вы можете отказаться от этих локальных изменений нажав Discard Changes в главном окне Asset Server. В ваш локальный проект тут же будет скачана последняя версия с сервера.

Сравнение версий ассетов

If you’re curious to see the differences between two particular versions you can explicitly compare them. To do this, open History window, select revision and asset you want to compare and press Compare to Local Version. If you need to compare two different revisions of an asset - right click on it, in the context menu select Compare to Another Revision then find revision you want to compare to and select it.

Важно: эта функция требует наличия установленной одной из поддерживаемых diff/merge утилит:

Восстановление удалённых ассетов

Удаление локального ассета и коммит этого удаления на сервер на самом деле не удалит этот ассет навсегда. Точно так же, как можно восстановить любую предыдущую версию ассета, удалённый ассет можно восстановить через окно History из вкладки Overview.

The History dialog
The History dialog

Разверните элемент Deleted Assets, найдите и выберите ассеты из списка и нажмите Recover. Выбранные ассеты будут скачаны и заново добавлены в локальный проект. Если папка, в которой находился ассет в момент удаления, всё ещё существует, ассет будет восстановлен в ней, иначе он будет добавлен в корень папки Assets локального проекта.

Лучшие методики работы и распространенные проблемы

Это подборка лучших методик работы и решений распространённых проблем, которая поможет вам в использовании Asset Server:

  1. Постоянно делайте резервные копии
    • Maintain a backup of your database. It is very important to do this. In the unfortunate case that you have a hardware problem, a virus, a user error, etc you may loose all of your work. Therefore make sure you have a backup system in place. You can find lots of resources online for setting up backup systems.
  2. Останавливайте сервер перед выключением компьютера
    • This can prevent “fast shutdowns” from being generated in the PostgreSQL (Asset Server) log. If this occurs the Asset Server has to do a recovery due to an improper shut down. This can take a very long time if you have a large project with many commits.
  3. Сброс вашего пароля через консоль
    • You can reset your password directly from a shell, console or command line using the following command:

    psql -U unitysrv -d template1 -c“alter role admin with password ‘MYPASSWORD’”

  4. Не удается подключиться к Asset Server
    • The password may have expired. Try resetting your password.
    • Also the username is case sensitive: “Admin” != “admin”. Make sure you are using the correct case.
    • Make sure the server is actually running:
      • On OS X or Linux you can type on the terminal: ps -aux
      • On Windows you can use the Task Manager.
    • Verify that the Asset Server is not running on more than one computer in your Network. You could be connecting to the wrong one.
  5. Asset Server не работает в 64-х битной версии Linux
    • The asset server can run OK on 64-bit Linux machines if you install 32-bit versions of the required packages. You can use “dpkg -i –force-architecture” to do this.
  6. Используйте логи Asset Server для получения более подробной информации
    • Windows:
      • ProgramFiles\Unity\AssetServer\log
    • OS X:
      • /Library/UnityAssetServer/log
  7. “The application failed to initialize properly (0xc0000135)” в Windows XP
    • In this case Service Pack 2 is required, and you should install .NET 2.0.

Изучение Asset Server окончено

Теперь вы должны быть вооружены нужными знаниями для того, чтобы начать эффективно работать с Asset Server. Пробуйте, и не забывайте хорошие основы рабочего процесса. Часто коммитьте изменения и не бойтесь что-либо потерять.




Universal Windows 10 Applications: Getting Started
Настройка Asset Server