Skip to content

MrWorner/VR_Task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

VR-симулятор диагностики газового оборудования

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

Разработка основного функционала и рефакторинг заняли менее 24 часов.

🛠 Ключевые механики и особенности

1. Физика и взаимодействие (XR Interaction Toolkit)

  • Спички и коробок: Реализована физическая механика розжига. Спичка зажигается только при физическом чирканье о специальную зону (Trigger) на коробке с учетом расчета относительной скорости движения рук.
  • Плита: Интерактивные ручки (поворот на 90°) и дверца духовки (вращение по оси X с правильным смещением Pivot-точки).
  • Тактильный отклик: Использование Haptic Feedback при розжиге спичек.

2. Логика газового оборудования

  • Конфорки: Поддерживают два состояния: нормальное горение (синее пламя, ровный звук) и неисправное (желтое/мерцающее пламя, звук хлопков).
  • Оптимизация звука: Использован подход с одним AudioSource на объект. Реализовано плавное переключение между зацикленным шипением газа, разовым звуком вспышки (PlayOneShot) и гулом пламени.

3. Интеллектуальный газоанализатор

  • Интерактивный предмет с тремя состояниями UI-экрана (Ожидание, Норма, Тревога).
  • Разделение логики: Сенсор отличает просто выходящий из конфорки газ (вызывает тревогу прибора, но не является целью задания) от реальной утечки на газовой трубе (GasLeakZone), которая идет в зачет прохождения.
  • Аудио-отклик при взятии/сбросе предмета и зацикленная сирена при обнаружении газа.

4. Система прогресса (GameManager)

  • Централизованный Singleton-менеджер GameManager отслеживает действия пользователя.
  • Успешное завершение диагностики засчитывается только тогда, когда игрок проверит работу всех конфорок и локализует скрытую утечку на трубе.

Архитектура и качество кода

После реализации основного функционала был проведен полный рефакторинг:

  • Код строго разделен на изолированные модули с использованием пространств имен (Namespaces): GasStoveSimulator.Modules.Burner, GasStoveSimulator.Modules.GasDetector и т.д.
  • Использован плагин NaughtyAttributes для чистого, читаемого и структурированного Inspector'а.
  • Избегание "магических чисел", оптимизация проверок в Update и корректная отписка от событий OnEnable/OnDisable для предотвращения утечек памяти.
  • Реализована кастомная система логгирования (ColoredDebug).

Настройки VR (Locomotion)

Для обеспечения комфортного, но классического игрового опыта были перенастроены стандартные параметры XR Rig:

  • Отключено туннельное затемнение (Tunneling Vignette).
  • Настроено плавное вращение (Continuous Turn) вместо резкого (Snap Turn).

Запуск проекта

  1. Склонируйте репозиторий.
  2. Откройте проект в Unity (версия 2022.3).
  3. Для запуска потребуется подключенная VR-гарнитура (например, Meta Quest 2/3 через Quest Link) или XR Device Simulator.

Проект выполнен специально для оценки навыков VR-разработки на Unity.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors