35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
[//]: # (Documentation/Movement/TDD_Movement.md)
|
|
|
|
# Система Движения - Техническая Документация
|
|
|
|
## Обзор
|
|
Детерминированная система движения для 3D-платформера в стиле Super Mario Odyssey.
|
|
|
|
## Система Классификации Поверхностей
|
|
- **Walkable:** 0° - 50° (обычное движение)
|
|
- **SteepSlope:** 50° - 85° (механика скольжения)
|
|
- **Wall:** 85° - 95° (блокировка коллизий)
|
|
- **Ceiling:** >95° (потолочные поверхности)
|
|
|
|
## Соображения Производительности
|
|
- Чистые функции для математических операций (готовы к миграции в C++)
|
|
- Кэшированные пороги углов в радианах
|
|
- Единое Math Expression для расчёта углов
|
|
|
|
## Файловая структура
|
|
```
|
|
Content/
|
|
├── Movement/
|
|
├── Components/
|
|
│ └── AC_Movement
|
|
├── Enums/
|
|
│ └── E_SurfaceType
|
|
└──Structs/
|
|
├── S_AngleThresholds
|
|
├── S_MovementConstants
|
|
└── S_SurfaceTestCase
|
|
```
|
|
|
|
### Покрытие тестами
|
|
10 автоматизированных тестовых случаев, покрывающих граничные условия и краевые случаи.
|