tengri/Content/Movement/ManualTestingChecklist.md

6.2 KiB
Raw Blame History

Movement System - Manual Testing Checklist

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

  • Уровень: TestLevel с BP_MainCharacter
  • Требования: MovementComponent инициализирован

1. Инициализация системы

1.1 Базовая инициализация

  • InitializeMovementSystem() выполняется без ошибок при запуске уровня
  • IsInitialized flag устанавливается в true после инициализации
  • Angle conversion - пороги корректно конвертируются из градусов в радианы

2. Константы движения

2.1 Default значения

  • MaxSpeed = 600.0 - значение установлено по умолчанию
  • Acceleration = 10.0 - значение установлено по умолчанию (уменьшено для плавности)
  • Friction = 8.0 - значение установлено по умолчанию
  • Gravity = 980.0 - значение установлено по умолчанию

2.2 Пороговые углы

  • Walkable = 50.0° - значение по умолчанию в градусах
  • SteepSlope = 85.0° - значение по умолчанию в градусах
  • Wall = 95.0° - значение по умолчанию в градусах

3. Базовое движение (Этап 7)

3.1 Управление клавиатурой

  • W - персонаж движется вперед (+X направление)
  • S - персонаж движется назад (-X направление)
  • A - персонаж движется влево (+Y направление)
  • D - персонаж движется вправо (-Y направление)
  • Отсутствие input - персонаж останавливается

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

  • Left Stick Up - движение вперед
  • Left Stick Down - движение назад
  • Left Stick Left - движение влево
  • Left Stick Right - движение вправо
  • Stick в центре - персонаж останавливается

3.3 Физика движения

  • Плавное ускорение - персонаж набирает скорость постепенно при нажатии клавиш
  • Плавное торможение - персонаж останавливается плавно при отпускании клавиш
  • MaxSpeed limit - скорость не превышает 600.0 units/sec
  • Диагональное движение - скорость диагонального движения равна прямому (не быстрее)
  • Стабильное поведение - нет рывков, заиканий или неожиданных ускорений

3.4 Состояния движения

  • Idle state - MovementState = Idle когда персонаж стоит
  • Walking state - MovementState = Walking при движении
  • InputMagnitude - корректно отражает силу input (0-1)
  • CurrentSpeed - показывает текущую горизонтальную скорость

4. Debug HUD Integration

4.1 Movement Constants Page (Page 1)

  • Константы отображаются корректно:
    • Max Speed: 600
    • Acceleration: 10
    • Friction: 8
    • Gravity: 980
  • Текущее состояние отображается:
    • Current Velocity: X, Y, Z компоненты
    • Speed: горизонтальная скорость
    • Is Grounded: Yes (пока всегда true)
    • Surface Type: Walkable (пока всегда)
    • Movement State: Idle/Walking
    • Input Magnitude: 0.00-1.00

4.2 Реальное время обновления

  • Velocity изменяется в реальном времени при движении
  • Speed корректно показывает magnitude горизонтальной скорости
  • Movement State переключается между Idle и Walking
  • Input Magnitude отражает силу нажатия (особенно на геймпаде)

5. Автотесты Integration

5.1 FT_BasicMovement

  • Тест проходит - инициализация, ускорение, торможение, состояния
  • No console errors при выполнении автотеста

5.2 FT_DiagonalMovement

  • Тест проходит - диагональное движение не быстрее прямого
  • Input normalization работает корректно

6. Performance

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

  • Stable 60+ FPS при активном движении
  • No memory leaks при длительном использовании
  • Smooth movement без микро-заиканий

6.2 Отзывчивость

  • Instant response на нажатие клавиш (нет input lag)
  • Smooth transitions между состояниями движения
  • Consistent timing независимо от FPS

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

  • Все основные направления движения работают
  • Физика движения плавная и отзывчивая
  • MaxSpeed limit соблюдается
  • Диагональное движение не дает преимущества в скорости
  • Debug HUD показывает корректные данные движения
  • Автотесты проходят успешно
  • Performance стабильная

Примечание: Этап 7 фокусируется на базовом движении по плоскости. Camera-relative движение и поворот персонажа будут в этапе 8.