Александр Z alexxxdevelop
Возможно все, вопрос лишь в уровне мотивации
Рейтинг
194
№ 6 755 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
Город
Краснодар
Опыт работы
19 лет
На сайте с
2025 года
Юридический статус
ИП

Sniper

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

Описание

Трехмерный тир-симулятор, разработанный на Unity. Основной геймплей строится на высокоточной стрельбе по динамическим и физическим мишеням. Реализованы продвинутая система настройки управления с гибким ребайндингом клавиш, а также функциональный редактор сцен

Решение

Проект представляет собой симулятор снайперской стрельбы, созданный на движке Unity с использованием C#. Архитектура сосредоточена на модульности и кастомизации пользовательского опыта.

Ключевые реализованные механики:
Система стрельбы и взаимодействия: Реализован централизованный контроллер стрельбы (ShootingController), управляющий логикой попаданий и взаимодействия с целями через систему идентификации объектов (ObjectIdentity). Цели поддерживают параметризованные настройки (например, расстояние и скорость перемещения).
Продвинутые типы мишеней:
Кинематические цели: Скрипт MovingTarget реализует плавное, настраиваемое движение объектов по горизонтали с использованием математической функции для циклического перемещения без рывков.
Физические цели: Компонент SpinnerPhysics создаёт мишень на основе физики Rigidbody и Hinge Joint. Объект получает начальный крутящий момент и реалистично реагирует на попадания, получая дополнительные физические импульсы.
Динамическая камера: Система CameraMover обеспечивает интеллектуальное перемещение камеры. Алгоритм включает в себя механику avoidance — автоматическое обнаружение препятствий с помощью SphereCast и расчёт альтернативной позиции, чтобы игровой обзор не перекрывался стенами или другими объектами.
Кастомизация управления: Разработан полноценный экран настроек управления в UI Toolkit (SettingsUI). Реализована система интерактивного ребайндинга: пользователь может кликнуть на кнопку действия и переназначить клавишу в реальном времени через цикл ожидания ввода Input.anyKeyDown. Все назначенные клавиши сериализуются и сохраняются через PlayerPrefs для постоянного хранения пользовательских предпочтений.
Управление профилями: В интерфейсе карт (MapsUI) интегрирован функционал редактора списка игроков с использованием ListView. Реализованы операции CRUD (создание, чтение, удаление) для профилей игроков. Все изменения (добавление, переименование, удаление) мгновенно сериализуются в бинарный файл данных через кастомный хелпер SaveBinary, обеспечивая персистентность между сессиями игры.

Проект демонстрирует навыки работы с Unity UI Toolkit, физическим движком, системами ввода, а также паттернами сохранения и загрузки данных.

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

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

Все проекты →
Веб-разработка и IT Жалюзи-сетки
Жалюзи-сетки
22
Веб-разработка и IT Platformer
Platformer
20
Веб-разработка и IT Eador
Eador
25
Веб-разработка и IT Персональный сайт-портфолио
Персональный сайт-портфолио
26