diff options
| author | Valentin Popov <valentin@popov.link> | 2026-10-31 00:24:21 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-10-31 00:24:21 +0300 |
| commit | e9e01eee9f8fada69ad1461aaba46df2acd3e6d9 (patch) | |
| tree | 5b35951edd95d7416607d6c81f4a038935537942 /docs/reference/msh.md | |
| parent | dbfdcf1e4cf5fd6adb43505ff95db10c927dd8ef (diff) | |
| download | fparkan-e9e01eee9f8fada69ad1461aaba46df2acd3e6d9.tar.xz fparkan-e9e01eee9f8fada69ad1461aaba46df2acd3e6d9.zip | |
feat(app): constrain free-flight movement by building meshes
Diffstat (limited to 'docs/reference/msh.md')
| -rw-r--r-- | docs/reference/msh.md | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/docs/reference/msh.md b/docs/reference/msh.md index 945bdc4..0a8a2cb 100644 --- a/docs/reference/msh.md +++ b/docs/reference/msh.md @@ -236,15 +236,30 @@ distance² = dot(hit_world - original_start, hit_world - original_start) `af87d1b2e728a0be73c52be3b44cc196ab46da7799f25a15d40f8c9b0b425ead` (RVA `0x35430`, `0x35961`) и `AniMesh.dll` SHA-256 `65659bf67f20e5be77d67a5b2f59968f61b94293143807fa59ca451c560c4f7e` (RVA -`0x134D0`, `0x10A50`). Игнорируемый тест загружает настоящий объект PLANT 4 -миссии AutoDemo и проверяет, что сегмент пересекает геометрию Node3 в исходной -закрытой позе, но проходит без попадания при явно заданной открытой позе frame -`1`. Это проверка запроса для двух поз, а не открытие двери игровой командой. -В загруженных Control-привязках корня PLANT нет tag-21 записи для перехода -Node3; тест задаёт frame `1` напрямую и не исполняет команду открытия из -миссии. -Нативный выбор первого корня и полный мировой обход ещё не сопоставлены с Rust; -app пока не передаёт этой функции живые runtime-позы и bindings. +`0x134D0`, `0x10A50`). + +Игнорируемый тест загружает настоящий объект PLANT 4 миссии +AutoDemo и использует его исходную CTLD-привязку Node3: `frame_a = 0`, +`frame_b = 1`, начальное смешивание `0`. В контроллере корневого PLANT нет +записей tag-21. В +закрытой начальной позе запрос, вызванный через обновление камеры приложения, +останавливает движение. Затем тест вручную задаёт время `1` только для +Node3, пересчитывает pose и преобразование присоединения и повторяет тот же +путь обновления камеры; отрезок проходит через проём. Это проверяет подачу +двух заданных в MSH поз в коллизию приложения, а не открытие двери событием +миссии и не её видимое обновление в игровой сцене. + +Интерактивный preview создаёт отдельную запись для каждого отрисовываемого +корневого строения класса `FORT` и его отрисовываемых компонентов. На каждом +движении камера получает текущую Node38-иерархию компонента и его актуальное +преобразование присоединения, переводит выбранные узлы и slot-ы в мировой +запрос и выполняет его после ограничения цели рельефом. Попадание сохраняет +прежнюю позицию камеры, но не отменяет новый поворот; повтор ожидающего кадра +не применяет шаг движения второй раз. Так приложение связывает мировой +MSH-запрос с движением свободной preview-камеры. Выбор первого корня и полный +состав мирового списка ещё не сверены с оригиналом; игровые источники поз и +событий, а также поведение стратегической и следящей камеры остаются +открытыми. ## Сторона грани в цветовом проходе |
