feat(app): constrain free-flight movement by building meshes
Docs Deploy / Build and Deploy MkDocs (push) Successful in 35s

This commit is contained in:
Valentin Popov committed 2026-10-31 01:24:21 +04:00
1 parent dbfdcf1e4c
commit e9e01eee9f
6 files changed
+1202 -43

No files matched your search

+22 -2
View File
@@ -209,9 +209,29 @@ position[axis] = position[axis].clamp(min[axis], max[axis]); // axis = 0, 1
position[2] = position[2].max(ground_height + ground_clearance);
```
Для каждого отрисовываемого корневого объекта класса `FORT` и каждого его
отрисовываемого компонента интерактивный путь создаёт отдельную запись проверки.
Она использует те же текущие позы узлов и преобразования присоединённых
компонентов, что и геометрия кадра. После ограничения целевой позиции по
TerrainWorld камера проверяет непрерывный отрезок от прежней позиции до цели.
Если после нативных MSH-фильтров остаётся пересечение, позиция возвращается к
началу шага, а рассчитанный из ввода новый поворот сохраняется. Маски batch и
type-7, а также продолжение отрезка по helper-link описаны в
[разделе MSH о сегментном запросе](msh.md#type-7-и-сегментный-запрос).
Повторная отправка того же ожидающего кадра, например после изменения размера
области отображения, использует уже подготовленное состояние и не применяет
движение второй раз. `--legacy-camera-capture` сохраняет положение захваченной
камеры без изменений и не запускает проверку зданий. Это диагностическое
ограничение, а не восстановленное правило игровой или следящей камеры
оригинала. В проверке начальная поза берётся из декодированных связей CTLD;
проход двери отдельно проверяется после явной выборки записанного в MSH кадра 1
только для Node3. Так проверяется вход запроса столкновения и путь камеры;
видимая дверь не анимируется, а миссионные команды не воспроизводятся.
Высота полёта сверху не ограничена. Это ограничение диагностической камеры
превью; столкновения со стенами зданий и точные правила игровых камер оригинала
остаются отдельными задачами.
превью; точные правила игровых и следящих камер оригинала остаются
неподтверждёнными.
## Ограничения точного совпадения