Александр Зуев olgam2020 Сбер ID
Разработка на C# и Unity: игры, telegram-боты, desktop и веб
Рейтинг
85
№ 27 107 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Краснодар
Опыт работы
19 лет
На сайте с
2020 года
Юридический статус
ИП

Sniper - Интерактивный 3D-тренажёр для отработки стрельбы по мишеням

Используемые навыки Unity Программирование на C#

Описание

Интерактивный 3D-тренажёр для отработки стрельбы по мишеням, построенный на Unity 6 с интерфейсом на UI Toolkit. Приложение объединяет полноценный редактор упражнений, игровой модуль стрельбы от первого лица, систему учёта спортсменов и результатов, а также формирование отчётных документов. Пользователь самостоятельно конструирует стрелковые упражнения, расставляя огневые рубежи и мишени, настраивает их параметры и затем проходит упражнение в одиночном или многопользовательском режиме с автоматическим подсчётом очков, штрафов и времени.

Решение

Разработана модульная архитектура, в которой данные упражнений, логика редактора и игровой процесс разделены и связаны через общий слой хранения.
- Редактор упражнений. Реализована расстановка объектов мышью с полупрозрачным превью, привязкой к поверхности через рейкаст и проверкой пересечений (подсветка допустимого и недопустимого размещения). Поддержаны перетаскивание и групповое перемещение, множественное выделение, копирование и вставка, отмена и повтор действий, поворот и удаление объектов, выделение по типам и автоматический пересчёт дистанций между рубежами и мишенями с отрисовкой связующих линий и подписей.
- Универсальная система параметров. Создан гибкий механизм описания свойств объектов (числовые диапазоны, переключатели, выпадающие списки, категории), благодаря которому набор настроек каждой мишени и рубежа задаётся данными, а интерфейс настройки строится динамически.
- Игровой модуль стрельбы. Реализована стрельба рейкастом с нанесением следов от пуль, расчётом зоны попадания по нормализованному отклонению от центра мишени (кольца от 5 до 10), начислением очков, штрафов за промахи и за стрельбу по чужой мишени. Добавлены таймеры рубежей, автоматический переход между рубежами по числу выстрелов или истечении времени, перемещение камеры между позициями, звуки выстрела, эха и сигналов. Поведение мишеней разнесено по отдельным компонентам — падение с физикой, вращение, движение по рельсе, биатлонная заслонка.
- Мультиплеер. Реализованы режим разделённого экрана до пяти игроков с независимыми камерами, слоями отрисовки и коррекцией угла обзора, а также режим поочерёдного прохождения.
- Данные и отчётность. Все упражнения, спортсмены и рекорды сохраняются в локальное бинарное хранилище с переносом стартовых данных из ресурсов приложения при первом запуске. Результаты ведутся в двух разрезах — по отдельным выстрелам и по рубежам — и выгружаются в Excel-протокол средствами EPPlus с оформлением (объединение ячеек, заголовки, выравнивание, авторазмер колонок) и автоматическим открытием готового файла.
- Сопутствующие подсистемы. Добавлены экран статистики с рейтингом по очкам, управление списком участников, настройки разрешения и курсора, полностью переназначаемое управление с сохранением раскладки, выбор типа местности со сменой текстуры, а также проверка лицензионного ключа по алгоритму HMAC-SHA256.

Результат

Получился завершённый тренажёрный комплекс, в котором пользователь без участия разработчика создаёт неограниченное число упражнений любой сложности — от простого тира до многорубежных биатлонных трасс с движущимися и падающими мишенями — и сразу проходит их в одиночном или совместном режиме. Система автоматически фиксирует очки, штрафы, промахи и время, ведёт рейтинг спортсменов, хранит рекорды между сессиями и формирует готовые к печати Excel-протоколы с детальной разбивкой результатов. Гибкая система параметров и редактор позволяют менять правила, дистанции и поведение мишеней целиком через интерфейс, что делает приложение пригодным как для тренировок, так и для проведения соревнований.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Divo RP - Клиент-серверная многопользовательская ролевая игра по подобию GTA SA RP
Divo RP - Клиент-серверная многопользовательская ролевая игра по подобию GTA SA RP
22
Веб-разработка и IT Ray of Life - Кросс-клиентская мультиплеерная игра в реальном времени для мобильных устройств
Ray of Life - Кросс-клиентская мультиплеерная игра в реальном времени для мобильных устройств
8
Веб-разработка и IT Жалюзи-сетки - Закрытый личный кабинет производителя оконных систем
Жалюзи-сетки - Закрытый личный кабинет производителя оконных систем
8
Веб-разработка и IT 2Float - Веб-платформа полного цикла для проектирования модульных плавучих причалов и понтонов
2Float - Веб-платформа полного цикла для проектирования модульных плавучих причалов и понтонов
16