Pull to refresh

Изучение структуры папок проекта в Unity — системы контроля версий

Reading time 4 min
Views 30K
Добрый вечер хабрчане, решил перевести один единственный урок из раздела Архитектура — MASTERING UNITY PROJECT FOLDER STRUCTURE — VERSION CONTROL SYSTEMS на официальном сайте Unity. В самом конце статья немного модифицирована, была изменена настройка проекта VCS (Version Control System).

P.S для тех кто только знакомится с Unity3d и предпочитает видеоуроки советую ознакомится с официальными видеоуроками для новичка на русском языке.

В этом уроке я хочу пролить немного света на:
— Структуру папок проекта в Unity.
— Какие папки и файлы необходимы для систем контроля версий (VCS).


Давайте создадим новый проект в Unity под названием «testproject», и импортируем пакет «Standard Assets (Mobile)», создадим новый сценарий Test.cs, присоединим его к камере и проверим нашу структуру папок.

image

Вы увидите, что есть довольно много файлов и папок, хорошие новости в том, что только две папки должны находиться под контролем: Assets и ProjectSettings. Другие папки генерируются на основе этих двух папок.

Вот краткий обзор всех файлов и папок.

Assembly-CSharp-vs.csproj и Assembly-CSharp.csproj – Visual Studio (с окончанием — vs на конце файлов) и MonoDevelop файлы проекта созданные для ваших C# скриптов.

Assembly-UnityScript-vs.unityproj и Assembly-UnityScript.unityproj – те же файлы проекта, но для скриптов JavaScript.

testproject.sln и TestProject-csharp.sln — файлы проектов для интегрированных средств разработки (IDE), первая включает в себя проект с языками — C #, JavaScript и Boo, в то время как второй файл — только для проекта с языком C # и предназначен для открытия в Visual Studio, потому что VS «не знает» скрипты JavaScript и Boo проекта.

testproject.userprefs и TestProject-csharp.userprefs — конфигурационные файлы, где MonoDevelop сохраняет текущие файлы, точки восстановления, время и т.д.

ПРИМЕЧАНИЕ: Все файлы перечисленные выше, за исключением всех файлов .userprefs , которые повторно создаются каждый раз при выборе Assets -> Sync MonoDevelop Project в меню редактора Unity (Синхронизация проекта).

СОВЕТ: После синхронизации проекта в MonoDevelop, тогда откроется testproject.sln со всеми файлами проекта, но если у вас нет кода JavaScript, то в проекте вы можете открыть TestProject-csharp.sln, который иметь в два раза меньше файлов проекта и никаких ошибок связанных с JS.

структура папок проекта в Unity:

image

Assets — папка, в которой хранятся все игровые ресурсы, в том числе скрипты, текстуры, звуки и т.д. Определенно это самая важная папка в вашем проекте.

ProjectSettings — в этой папке хранятся все настройки проекта Unity, такие как физика, теги, игровые настройки и т.д. Другими словами все, настройки которые вы сделали в меню Edit → Project Settings переходит в эту папку.

image

Library – локальный кэш для импортируемых Assets, при использовании внешней системы контроля версий (VCS) эта папка должна быть исключена из списка VCS.

OBJ и Temp — папки для временных файлов, создаваемых во время сборки проекта, OBJ используется MonoDevelop, Temp используется Unity.

Вот краткое руководство для Unity 4.x установка:

Для начала предположим, что у нас есть репозиторий от Subversion по адресу svn://my.svn.server.com/ и мы хотим создать проект по адресу svn://my.svn.server.com/MyUnityProject. Тогда следуйте данным шагам, чтобы сделать начальный импорт в систему:

Создайте новый проект в Unity и назовите его InitialUnityProject. Вы можете добавить сюда любые исходные ассеты или сделать это позже.
  • Включите Visible Meta files в меню Edit->Project Settings->Editor
  • Закройте Unity (чтобы убедиться, что все файлы точно сохранились).
  • Удалите каталог Library внутри директории с вашим проектом.
  • Импортируйте папку с вашим проектов в Subversion. Если вы используете командную строку клиента, это делается примерно так, из папки, где ваш начальный проект размещён:
    в случае успеха, теперь проект должен быть импортирован в Subversion, и вы можете удалить каталог InitialUnityProject, если хотите.
  • Проверьте проект в Subversion SVN по адресу svn://my.svn.server.com/MyUnityProject. И проверьте, что бы папки Assets и ProjectSettings были версифицированы.
  • Откройте проект в Unity, запустив его зажав Option или левый Alt. Открытие проекта пересоздаст папку Library, указанную в шаге 4.
  • Опционально: Установите фильтр игнорирования для неверсифицированой папки Library: svn propedit svn:ignore MyUnityProject/ Subversion будет открыт в текстовом редакторе. Добавив каталог Library.
  • Наконец примените изменения. Теперь проект должен быть настроен и готов: SVN CI -m «Окончательный импорт проекта» MyUnityProject


Подробная инструкция взята с этой страницы

Теперь вы готовы использовать свою любимую систему управления версиями (VCS). Не забудьте добавить все папки в список игнорируемых, кроме Assets и ProjectSettings папок.

Вопрос №1


Вот есть у меня две папки, которые я скачал с чужого репозитория. Как мне теперь восстановить весь проект? Создать пустой и поместить папки туда или есть более прямой способ?

Ответ:


1 Вариант. Создать пустой проект и переместить туда папки.
2 Вариант. Вы должны были создать проект перед тем как закачивать с репозитория. Для этого настройки пустого проекта и представлены в статье. А уж что вы потом будете делать с этим пустым проектом (синхронизировать с каким то репозиториям, или создавать с нуля свой проект и закачивать на репозиторий. Дело ваше как говорится)
Tags:
Hubs:
+6
Comments 23
Comments Comments 23

Articles