diff --git a/DESIGNERS_SETUP.md b/DESIGNERS_SETUP.md index 7bee8c2..78edc03 100644 --- a/DESIGNERS_SETUP.md +++ b/DESIGNERS_SETUP.md @@ -1,59 +1,82 @@ # Инструкция по подготовке проекта для дизайнеров -В этом руководстве описаны шаги, необходимые для того, чтобы настроить рабочее окружение, скачать проект и начать работу без конфликтов с кодом. +В этом руководстве подробно описаны шаги, необходимые для настройки рабочего окружения, установки зависимостей, скачивания проекта и организации совместной работы с использованием Git-клиента **SourceGit**. --- ## Шаг 1. Установка Git и Git LFS -Для работы с проектом вам понадобится система контроля версий Git с поддержкой больших файлов (LFS). +Для работы с файлами проекта (включая тяжелые текстуры и PSD-спрайты) вам понадобится система контроля версий Git с поддержкой технологии LFS (Large File Storage). 1. **Скачайте и установите Git:** - - Перейдите на сайт [git-scm.com](https://git-scm.com/) и скачайте версию для вашей ОС (Windows/macOS). - - При установке оставляйте все настройки по умолчанию. -2. **Скачайте удобный Git-клиент (GUI):** - - Работать через консоль не нужно. Рекомендуем скачать один из удобных визуальных клиентов: - - **Fork** (рекомендуется, очень быстрый): [git-fork.com](https://git-fork.com/) - - **GitHub Desktop** (самый простой): [desktop.github.com](https://desktop.github.com/) - - **SourceTree**: [sourcetreeapp.com](https://www.sourcetreeapp.com/) -3. **Инициализация Git LFS:** - - После установки Git откройте терминал (или Git Bash) и выполните один раз команду: + - Перейдите на официальный сайт [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. Установка Unity Hub и Unity Editor +## Шаг 2. Установка GUI-клиента SourceGit -Проект разработан на конкретной версии Unity, и открывать его нужно строго в ней. +Чтобы не работать через командную строку, мы используем бесплатный Git-клиент с открытым исходным кодом **SourceGit**. Он очень быстрый, удобный и поддерживает работу с ветками и блокировками файлов из коробки. -1. **Скачайте Unity Hub:** - - Перейдите на [unity.com/download](https://unity.com/download) и установите Unity Hub. - - Войдите под своей учетной записью Unity. +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 сам предложит её установить при первой попытке открыть проект. Также вы можете найти её в архиве версий Unity или во вкладке **Installs -> Install Editor** в Unity Hub. + - Версия нашего проекта: **`6000.3.16f1`** (Unity 6). + - **Как установить:** В Unity Hub перейдите в раздел **Installs**, нажмите **Install Editor**, выберите вкладку **Archive** (или найдите эту версию в поиске) и установите её. + - **Важно:** При выборе модулей во время установки (Add modules) обязательно выберите **Windows Build Support** (или поддержку той платформы, на которой вы работаете), чтобы проект мог компилироваться локально. --- -## Шаг 3. Клонирование репозитория и первый запуск +## Шаг 4. Клонирование репозитория и первый запуск -1. Скопируйте ссылку на репозиторий в Gitea. -2. В вашем Git-клиенте выберите **Clone** (Клонировать) и укажите ссылку. -3. Дождитесь завершения скачивания. Из-за наличия графических LFS-файлов это может занять некоторое время. -4. Откройте **Unity Hub**, нажмите кнопку **Add** -> **Add project from disk** и выберите папку со сканным проектом. -5. Запустите проект. При первом открытии Unity сама импортирует все зависимости и создаст необходимые кэш-файлы (это может занять 5-15 минут). +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 минут в зависимости от мощности ПК). --- -## Шаг 4. Настройка слияния файлов (UnityYAMLMerge) +## Шаг 5. Настройка слияния файлов (UnityYAMLMerge) -Чтобы Git автоматически решал конфликты в сценах и префабах, настройте инструмент умного слияния: +Поскольку сцены и префабы Unity представляют собой текстовые файлы YAML, Git может автоматически решать конфликты при слиянии веток, если подключить официальную утилиту слияния от Unity. -1. В папке с проектом откройте скрытую папку `.git` (если вы её не видите, включите «Показ скрытых элементов» в проводнике). -2. Откройте файл `config` в текстовом редакторе (например, Блокноте). -3. Вставьте в самый конец файла следующий блок, указав правильный путь к установленной Unity на вашем компьютере: +1. Откройте папку с проектом. Включите отображение скрытых папок в вашей операционной системе и перейдите в скрытую папку `.git`. +2. Найдите файл `config` и откройте его в любом текстовом редакторе (например, VS Code, Notepad++ или Блокнот). +3. Добавьте в самый конец файла конфигурацию драйвера слияния (путь к редактору Unity может отличаться, если вы установили его в другое место): ```ini [merge "unityyamlmerge"] @@ -64,17 +87,24 @@ --- -## Шаг 5. Работа с ветками и блокировками файлов (LFS Locks) +## Шаг 6. Работа с ветками и блокировками файлов (LFS Locks) -### Как начать работу: -1. В Git-клиенте переключитесь на свою ветку (например, `designer/graphics-1` или `designer/anim`). -2. Сделайте `Pull` (Получить изменения), чтобы убедиться, что у вас последняя версия. +Сцены (`.unity`), префабы (`.prefab`) и контроллеры анимации (`.controller`) нельзя изменять одновременно нескольким людям. Чтобы защитить файлы от перезаписи, используйте систему блокировок в SourceGit. -### Если нужно изменить общую сцену или префаб (например, `Player.prefab`): -1. **Заблокируйте файл:** в Git-клиенте нажмите правой кнопкой мыши на файл префаба/сцены и выберите **LFS -> Lock** (или в консоли: `git lfs lock путь_к_файлу`). -2. Откройте Unity и спокойно вносите изменения. -3. Закоммитьте изменения и отправьте (`Push`) их в свою ветку. -4. **Разблокируйте файл:** нажмите правой кнопкой мыши на файл и выберите **LFS -> Unlock** (`git lfs unlock путь_к_файлу`). +### 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! Это убережет проект от поломок, а вас — от необходимости переделывать работу заново.