tengri/Content/Camera/ManualTestingChecklist.md

7.1 KiB
Raw Blame History

Camera System - Manual Testing Checklist

Тестовая среда

  • Персонаж: BP_MainCharacter с ShowDebugInfo = true
  • Клавиши: Tab (Toggle HUD), PageUp/PageDown (навигация), Home (Visual Debug)
  • Требования: CameraComponent инициализирован

1. Базовая инициализация

1.1 Система запуска

  • Camera System инициализируется без ошибок при старте уровня
  • Debug HUD Page 5 отображается как "Camera System"
  • Initial rotation камеры установлена в (0°, 0°)
  • IsCameraRotating() возвращает false при отсутствии input

1.2 Интеграция с Input Device

  • Input Device Reference корректно устанавливается при инициализации
  • Sensitivity switching работает при смене устройства ввода
  • No console errors при инициализации системы

2. Управление мышью

2.1 Базовое вращение мышью

  • Horizontal movement мыши поворачивает камеру по Yaw
  • Vertical movement мыши поворачивает камеру по Pitch
  • Smooth rotation - нет рывков и заиканий
  • Mouse sensitivity 100.0 - отзывчивая но не слишком быстрая

2.2 Ограничения вращения мышью

  • Pitch limits - камера не поворачивается выше +89° и ниже -89°
  • Yaw freedom - горизонтальное вращение без ограничений (360°+)
  • Smooth clamping - плавное достижение пределов без резких остановок

3. Управление геймпадом

3.1 Базовое вращение стиком

  • Right stick horizontal поворачивает камеру по Yaw
  • Right stick vertical поворачивает камеру по Pitch
  • Gamepad sensitivity 150.0 - более высокая чувствительность чем мышь
  • Smooth deadzones - нет дрожания в центральном положении

3.2 Автоматическое переключение устройств

  • Mouse movement автоматически переключает на Mouse sensitivity
  • Gamepad input автоматически переключает на Gamepad sensitivity
  • Seamless transition - переключение без рывков камеры

4. Система сглаживания

4.1 Smooth interpolation

  • SmoothingSpeed 20.0 - плавное движение камеры к цели
  • Progressive acceleration - камера ускоряется к target rotation
  • Natural stop - плавная остановка без overshooting

4.2 Responsiveness vs Smoothness

  • Input lag минимальный - камера реагирует мгновенно на input
  • Visual smoothness - движение камеры визуально плавное
  • Consistent timing - сглаживание работает стабильно при разных FPS

5. Debug HUD Integration

5.1 Camera Page (Page 5)

  • Current Device отображает "Keyboard & Mouse" или "Gamepad"
  • Sensitivity показывает текущее значение чувствительности (100.0 или 150.0)
  • Pitch отображает текущий угол наклона (-89° до +89°)
  • Yaw показывает текущий поворот (любые значения, включая >360°)
  • Is Rotating показывает "Yes" при активном input, "No" при покое
  • Smoothing отображает значение скорости сглаживания (20.0)
  • Invert Y показывает "No" (по умолчанию false)

5.2 Control hints

  • Keyboard controls показывают "PageUp/PageDown - Navigate"
  • Gamepad controls показывают "D-Pad Up/Down - Navigate"
  • Dynamic switching подсказок при смене устройства

6. Продвинутые функции

6.1 Y-axis inversion

  • InvertYAxis = false - стандартное поведение (mouse up = look up)
  • Inversion calculation - корректная инверсия при включении
  • Both devices - инверсия работает для мыши и геймпада

6.2 Edge cases

  • Rapid input changes - быстрые движения мыши обрабатываются корректно
  • Extreme rotations - Yaw может достигать больших значений (1000°+)
  • Zero input - IsCameraRotating() корректно возвращает false при InputMagnitude < 0.01

7. Performance

7.1 Производительность

  • No FPS drops при активном вращении камеры
  • Smooth 60+ FPS во время интенсивного camera movement
  • No memory leaks при длительном использовании

7.2 System integration

  • Main Character - камера интегрирована без ошибок
  • Debug HUD - обновление camera page не влияет на производительность
  • Input Device - смена устройства не вызывает лагов

8. Функциональные триггеры

8.1 Навигация Debug HUD

  • PageUp/PageDown (keyboard) переключают страницы Debug HUD
  • D-Pad Up/Down (gamepad) переключают страницы Debug HUD
  • Camera page доступна и отображается корректно

8.2 Visual Debug

  • F2 не влияет на camera system (нет связанного visual debug)
  • F1 Toggle HUD скрывает/показывает camera debug info

Критерии прохождения

  • Все camera controls отзывчивые и плавные
  • Pitch limits строго соблюдаются (-89°/+89°)
  • Yaw rotation свободное (без ограничений)
  • Device detection и sensitivity switching работают автоматически
  • Debug HUD показывает актуальную информацию о camera state
  • Performance стабильная при любых camera movements
  • No console errors или warnings в camera system

Примечание: Система полностью deterministic - одинаковые input sequence должны давать одинаковые результаты на разных запусках.