6.2 KiB
6.2 KiB
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.