Please be aware that the Asset Server is now a legacy product. We recommend using Plastic SCM or Perforce for version control in your Unity project.
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’а в команде из нескольких человек, в целом, хорошая практика обновлять (Update) все изменённые ассеты с сервера в процессе работы и коммитить (Commit) ваши изменения под конец рабочего дня, или когда вы завершили свою работу. Вам также следует коммитить изменения при достижении определённого прогресса в работе над чем-то, даже если это произойдёт в середине дня. Рекомендуется часто и регулярно коммитить на сервер свои изменения.
Server View это окно сервера ресурсов, к которому вы подключены. Вы можете открыть это окно, выбрав в меню Window->Version Control.
Server View разбит на вкладки: Overview, Update, и Commit. Overview покажет любые отличия между вашим локальным проектом и последней версией на сервере. Здесь можно быстро закоммитить локальные изменения или скачать последние обновления. Update покажет последние изменения на сервере и позволит их скачать в ваш локальный проект. Commit позволяет создать Changeset и закоммитить его на сервер для того, чтобы его могли скачать остальные.
Прежде чем вы сможете использовать сервер ресурсов, к нему нужно подключиться. Для этого, нажмите кнопку Connection, что приведет вас к экрану соединения:
Здесь вам нужно заполнить следующее:
Клик по Show projects покажет все доступные проекты в Asset Server. Вы можете выбрать проект, к которому вы желаете подключиться, нажатием кнопки Connect. Учтите, что имя пользователя и пароль для работы с Asset Server вам следует получить у системного администратора. Ваш системный администратор создал аккаунты при установке Asset Server.
Чтобы скачать все обновления с сервера, выберите вкладку Update во вкладке Overview и вы увидите список последних закоммиченных наборов изменений. Выбрав один из них, вы сможете увидеть что изменилось в проекте, а также, сообщение коммита. Кликните Update и вы начнёте скачивать все наборы изменений.
Когда вы что-то изменили в вашем локальном проекте и желаете сохранить эти изменения на сервер, используйте верхнюю вкладку Commit.
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.
В нём вам сообщат про все имеющиеся конфликты и предоставят несколько опций для разрешения каждого из них. Для каждого из конфликтов вы можете выбрать 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.
Здесь вы можете увидеть номер версии и добавленные комментарии у каждой из версий ассета или проекта. Это одна из причин, по которой полезно оставлять осмысленные и развёрнутые комментарии при коммите изменений. Выберите любой ассет для просмотра его истории или весь проект (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.
Разверните элемент Deleted Assets, найдите и выберите ассеты из списка и нажмите Recover. Выбранные ассеты будут скачаны и заново добавлены в локальный проект. Если папка, в которой находился ассет в момент удаления, всё ещё существует, ассет будет восстановлен в ней, иначе он будет добавлен в корень папки Assets локального проекта.
Это подборка лучших методик работы и решений распространённых проблем, которая поможет вам в использовании Asset Server:
psql -U unitysrv -d template1 -c“alter role admin with password ‘MYPASSWORD’”
ProgramFiles\Unity\AssetServer\log
/Library/UnityAssetServer/log
Теперь вы должны быть вооружены нужными знаниями для того, чтобы начать эффективно работать с Asset Server. Пробуйте, и не забывайте хорошие основы рабочего процесса. Часто коммитьте изменения и не бойтесь что-либо потерять.