Техническое задание: Разработка мультиплеерного режима для 3D-проекта
Имеется полностью готовый однопользовательский 3D-проект. Необходимо интегрировать сетевой мультиплеер, чтобы несколько игроков могли взаимодействовать в одной игровой сессии.
Исходное состояние проекта
- Реализованы 3D-персонажи с моделями и ригами.
- Существует рабочий контроллер управления персонажем (передвижение, базовые действия).
- Готов набор анимаций для персонажей (idle, walk, run, jump и другие).
- Создана игровая сцена с объектами окружения.
Основные задачи
1. Сетевая архитектура
- Разработка или интеграция сетевого решения для мультиплеера (например, на базе Photon, Mirror, Netcode).
- Организация подключения игроков к общей сессии (хостинг, присоединение).
- Синхронизация позиций, вращения и состояния всех игроков в реальном времени.
2. Синхронизация анимаций
- Сетевая синхронизация состояний анимационного контроллера (Animation Controller) каждого персонажа.
- Корректный переход и воспроизведение анимаций у всех игроков в сессии (например, если один игрок прыгает, остальные видят эту анимацию).
- Оптимизация передачи данных для анимаций для снижения сетевой нагрузки.
3. Взаимодействие с окружением
- Синхронизация взаимодействия игроков с объектами на сцене (подбор предметов, активация механизмов).
- Обеспечение консистентности состояния игрового мира для всех подключенных клиентов.
Требования к результату
- Стабильная работа мультиплеерного режима с минимальными лагами и десинхронизацией.
- Корректное отображение анимаций всех персонажей у каждого игрока.
- Чистый, поддерживаемый код, интегрированный в существующую структуру проекта.
- Документация по внесенным изменениям и сетевой логике.