Danro/DESIGNERS_SETUP.md
Danil Iarosh ce73a351ee
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Update DESIGNERS_SETUP.md for SourceGit and dependencies
- Все упоминания сторонних GUI-клиентов заменены на SourceGit.
- Добавлена подробная пошаговая инструкция по проверке и инициализации Git LFS.
- Добавлена инструкция по первому импорту и скачиванию пакетов зависимостей Unity.
2026-07-17 09:45:39 +03:00

111 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструкция по подготовке проекта для дизайнеров
В этом руководстве подробно описаны шаги, необходимые для настройки рабочего окружения, установки зависимостей, скачивания проекта и организации совместной работы с использованием 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! Это убережет проект от поломок, а вас — от необходимости переделывать работу заново.