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