# Инструкция по подготовке проекта для дизайнеров В этом руководстве подробно описаны шаги, необходимые для настройки рабочего окружения, установки зависимостей, скачивания проекта и организации совместной работы с использованием Git-клиента **SourceGit**. --- ## Шаг 1. Установка Git и Git LFS Для работы с файлами проекта (включая тяжелые текстуры и PSD-спрайты) вам понадобится система контроля версий Git с поддержкой технологии LFS (Large File Storage). 1. **Скачайте и установите Git:** - Перейдите на официальный сайт [git-scm.com](https://git-scm.com/) и скачайте дистрибутив для вашей операционной системы (Windows или macOS). - При установке рекомендуется оставлять все настройки по умолчанию. Убедитесь, что галочка **Git LFS (Large File Storage)** активна во время выбора компонентов. 2. **Инициализируйте Git LFS на вашем компьютере:** - После завершения установки откройте консоль (в Windows — нажмите `Win + R`, введите `cmd` и нажмите Enter; либо найдите и запустите программу **Git Bash**). - Выполните команду: ```bash git lfs install ``` - Должно появиться сообщение: `Git LFS initialized.` Это означает, что теперь большие файлы будут скачиваться корректно в виде реальных ассетов, а не текстовых ссылок. 3. **Убедитесь, что всё работает:** - Проверьте версию Git LFS командой: ```bash git lfs --version ``` --- ## Шаг 2. Установка GUI-клиента SourceGit Чтобы не работать через командную строку, мы используем бесплатный Git-клиент с открытым исходным кодом **SourceGit**. Он очень быстрый, удобный и поддерживает работу с ветками и блокировками файлов из коробки. 1. **Скачайте SourceGit:** - Перейдите на сайт проекта [sourcegit.dev](https://sourcegit.dev/) или скачайте последнюю версию напрямую со страницы релизов на GitHub: [github.com/sourcegit-scm/sourcegit/releases](https://github.com/sourcegit-scm/sourcegit/releases). 2. **Установите и запустите программу.** 3. В настройках SourceGit (Preferences) укажите путь к установленному `git.exe` (обычно программа находит его автоматически) и ваши данные пользователя (Имя и Email), которые вы используете для коммитов. --- ## Шаг 3. Установка Unity Hub и Unity Editor Наш проект работает на конкретной версии Unity, и все зависимости пакетов привязаны к ней. 1. **Скачайте и установите Unity Hub:** - Зайдите на сайт [unity.com/download](https://unity.com/download) и загрузите Unity Hub. - Запустите его и авторизуйтесь под своей учетной записью Unity (или создайте её, если у вас её ещё нет). 2. **Установите нужную версию редактора Unity:** - Версия нашего проекта: **`6000.3.16f1`** (Unity 6). - **Как установить:** В Unity Hub перейдите в раздел **Installs**, нажмите **Install Editor**, выберите вкладку **Archive** (или найдите эту версию в поиске) и установите её. - **Важно:** При выборе модулей во время установки (Add modules) обязательно выберите **Windows Build Support** (или поддержку той платформы, на которой вы работаете), чтобы проект мог компилироваться локально. --- ## Шаг 4. Клонирование репозитория и первый запуск 1. **Получите ссылку на репозиторий:** - Зайдите в веб-интерфейс нашей Gitea и скопируйте HTTPS-ссылку на репозиторий проекта. 2. **Клонируйте проект через SourceGit:** - В SourceGit нажмите кнопку **Clone** (или `Ctrl + N` -> Clone). - В поле **Remote URL** вставьте скопированную ссылку на Gitea. - В поле **Local Path** укажите пустую папку на вашем быстром диске (рекомендуется SSD), куда будет скачан проект. - Нажмите **Clone**. При запросе логина и пароля введите свои учетные данные от Gitea. - *Обратите внимание:* Из-за скачивания графических ассетов (LFS) первый клон может занять длительное время. 3. **Импорт зависимостей Unity:** - Откройте **Unity Hub**. - Нажмите кнопку **Add** -> **Add project from disk** и укажите папку, в которую вы клонировали проект через SourceGit. - Нажмите на проект в списке, чтобы запустить его. - При первом запуске Unity обнаружит файл `Packages/manifest.json` и автоматически скачает все необходимые зависимости проекта (TextMeshPro, 2D Animation, Universal RP, тайлсеты и др.) из реестра пакетов Unity. - Дождитесь окончания импорта ассетов и генерации библиотеки (это может занять от 5 до 15 минут в зависимости от мощности ПК). --- ## Шаг 5. Настройка слияния файлов (UnityYAMLMerge) Поскольку сцены и префабы Unity представляют собой текстовые файлы YAML, Git может автоматически решать конфликты при слиянии веток, если подключить официальную утилиту слияния от Unity. 1. Откройте папку с проектом. Включите отображение скрытых папок в вашей операционной системе и перейдите в скрытую папку `.git`. 2. Найдите файл `config` и откройте его в любом текстовом редакторе (например, VS Code, Notepad++ или Блокнот). 3. Добавьте в самый конец файла конфигурацию драйвера слияния (путь к редактору Unity может отличаться, если вы установили его в другое место): ```ini [merge "unityyamlmerge"] name = Unity SmartMerge driver = 'C:/Program Files/Unity/Hub/Editor/6000.3.16f1/Editor/Data/Tools/UnityYAMLMerge.exe' merge -p "$BASE" "$LOCAL" "$REMOTE" "$MERGED" trustExitCode = true ``` --- ## Шаг 6. Работа с ветками и блокировками файлов (LFS Locks) Сцены (`.unity`), префабы (`.prefab`) и контроллеры анимации (`.controller`) нельзя изменять одновременно нескольким людям. Чтобы защитить файлы от перезаписи, используйте систему блокировок в SourceGit. ### 1. Начало работы * Перед тем как начать вносить изменения, в SourceGit переключитесь на вашу персональную ветку (например, `designer/graphics-1`, `designer/graphics-2` или `designer/anim`). * Обязательно сделайте **Pull** (Стянуть), чтобы получить самые свежие изменения от команды. ### 2. Блокировка файла (Lock) * Если вы планируете редактировать существующую сцену или префаб (например, `Assets/Resources/Prefabs/Player.prefab`): 1. В SourceGit найдите этот файл в репозитории. 2. Нажмите на него правой кнопкой мыши и выберите **LFS -> Lock** (Заблокировать). 3. Теперь файл закреплен за вами. Никто другой не сможет отправить изменения этого файла на сервер, пока блокировка активна. ### 3. Завершение работы (Unlock) * Внесите изменения в Unity, сохраните сцену/префаб. * В SourceGit сделайте коммит и отправьте изменения на сервер (**Push**). * После успешной отправки нажмите правой кнопкой мыши на файл и выберите **LFS -> Unlock** (Разблокировать), чтобы вернуть файл в общий доступ для коллег. > [!WARNING] > Никогда не редактируйте общие сцены и префабы без предварительного LFS Lock! Это убережет проект от поломок, а вас — от необходимости переделывать работу заново.