126 lines
6.2 KiB
Markdown
126 lines
6.2 KiB
Markdown
[//]: # (Movement/ManualTestingChecklist.md)
|
||
|
||
# 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.
|