diff --git a/Docs/cover.png b/Docs/cover.png new file mode 100644 index 0000000..2222ea2 Binary files /dev/null and b/Docs/cover.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..2a47a0c --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ +# Race Fields + +![Race Fields](Docs/cover.png) + +Race Fields - Unity-проект аркадной гонки в полевом сеттинге. Основная заготовка проекта строится вокруг управляемого багги, камеры третьего лица, заготовок игровых режимов, усилений, оружия, VR/arcade cabinet модулей и структуры для дальнейшего наполнения трассами, префабами и данными. + +## Требования + +- Unity `6000.5.1f1` +- Universal Render Pipeline `17.5.0` +- Input System `1.19.0` +- Unity Test Framework `1.7.0` + +Версия Unity зафиксирована в `ProjectSettings/ProjectVersion.txt`, зависимости - в `Packages/manifest.json`. + +## Быстрый старт + +1. Откройте корень проекта в Unity Hub. +2. Используйте Unity `6000.5.1f1` или совместимую версию Unity 6. +3. Откройте сцену `Assets/_Project/Scenes/Demo Scene.unity`. +4. Запустите Play Mode. + +Базовое управление багги: + +- `W` / `Up Arrow` - газ +- `S` / `Down Arrow` - назад +- `A` / `Left Arrow` - поворот влево +- `D` / `Right Arrow` - поворот вправо +- `Space` - тормоз + +## Основные сцены + +- `Assets/_Project/Scenes/Demo Scene.unity` - рабочая демо-сцена проекта. +- `Assets/Scenes/SampleScene.unity` - стандартная примерная сцена Unity, оставлена отдельно от основной структуры проекта. + +## Структура проекта + +```text +Race_fields/ ++-- Assets/ +| +-- _Project/ # основной код и ресурсы игры +| | +-- Art/ # визуальные ассеты: модели, материалы, текстуры, UI, VFX, terrain +| | +-- Audio/ # музыка, звуковые эффекты и голосовые ассеты +| | +-- Prefabs/ # игровые префабы: техника, камеры, окружение, UI, оружие, VFX +| | +-- Scenes/ # основные сцены проекта +| | +-- ScriptableObjects/ # игровые настройки и данные: режимы, трассы, транспорт, оружие +| | +-- Scripts/ # C#-код проекта +| | +-- Settings/ # настройки Addressables, билда, ввода, физики и рендера +| | +-- Tests/ # EditMode и PlayMode тесты +| | +-- ThirdParty/ # сторонние ассеты, которые относятся к проекту +| +-- 300Mind/ # импортированный 2D Game UI Kit +| +-- Scenes/ # стандартные/вспомогательные сцены Unity +| +-- Settings/ # общие настройки ассетов Unity +| +-- TutorialInfo/ # стандартные tutorial-ассеты Unity +| +-- _Recovery/ # восстановленные/резервные ассеты Unity ++-- Docs/ # изображения и материалы для документации ++-- Packages/ # Unity Package Manager manifest и lock-файлы ++-- ProjectSettings/ # настройки проекта Unity ++-- UserSettings/ # локальные настройки редактора ++-- Logs/ # локальные логи Unity ++-- Library/ # кеш Unity, не хранится в репозитории ++-- Temp/ # временные файлы Unity ++-- obj/ # временные файлы сборки IDE/.NET +``` + +## Код + +Код проекта хранится в `Assets/_Project/Scripts/` и разделен по игровым подсистемам: + +- `Vehicles/` - управление транспортом, колеса, мотор, подвеска и визуальная синхронизация. +- `Camera/` - камеры игры, включая `BuggyFollowCamera` для камеры третьего лица. +- `Input/` - ввод для клавиатуры/геймпада, AI, VR и arcade cabinet. +- `GameFlow/` - сессии, состояния игры и будущая машина состояний. +- `GameModes/` - режимы игры: arena, challenges, survival race, tournament. +- `PowerUps/` - усиления: boost, repair, shield и специальные эффекты. +- `Weapons/` - оружие, ракеты, мины, шок-эффекты и targeting. +- `Damage/` - урон, разрушаемые объекты и эффекты повреждений. +- `Harvesters/` - логика комбайнов/сборщиков, AI, звук и визуальная часть. +- `World/` - трассы, чекпоинты, hazards, spawners и сегменты мира. +- `UI/` - HUD, меню, гараж, результаты и операторская панель. +- `VR/` - VR rig, комфорт и калибровка. +- `ArcadeCabinet/` - модули для аркадного автомата: hardware, payments, diagnostics, calibration. +- `Editor/` - редакторские инструменты, включая сборку префабов багги. +- `Core/`, `Data/`, `Utilities/` - общие сервисы, данные и вспомогательные классы. + +## Полезные редакторские инструменты + +В проекте есть editor-команда: + +```text +Race Fields/Setup/Rebuild Buggy Prefab +``` + +Она пересобирает префаб багги `Assets/_Project/Prefabs/Vehicles/Player/Buggy_Player.prefab`, настраивает физику колес и обновляет префаб камеры `Assets/_Project/Prefabs/Cameras/Buggy_ThirdPersonCamera.prefab`. + +## Документация и ассеты README + +- `README.md` - основное описание проекта. +- `Docs/cover.png` - изображение, используемое в шапке README.