feat(animation): recover Node38 fallback hierarchy
This commit is contained in:
+11
-10
@@ -1601,24 +1601,25 @@ parent hierarchy и animation-key/fallback semantics. Модели без layout
|
||||
Чтобы следующий шаг не перечитывал raw NRes streams в renderer, validated
|
||||
`ModelAsset` теперь переносит `ModelAnimation` с decoded type-8 keys, type-19
|
||||
map и declared frame count. `node38_fallback_pose` возвращает exact fallback
|
||||
key pose, а offset `+2` остаётся именованным только как `parent_or_link_raw`.
|
||||
Licensed gates Part 1/Part 2 повторно подтвердили 435/511 models, 157/200
|
||||
animated models, 3,469/5,233 node samples и утверждённые captures. Это
|
||||
доказывает production handoff animation data, не семантику parent links и не
|
||||
готовую model assembly.
|
||||
key pose. Licensed gates Part 1/Part 2 подтвердили 435/511 models, 157/200
|
||||
animated models, 3,469/5,233 node samples и утверждённые captures.
|
||||
|
||||
Следующий узкий шаг применяет этот уже декодированный `fallback_key` в
|
||||
legacy-camera static preview. Для каждого выбранного `Node38` bridge поворачивает
|
||||
вершины normalized quaternion, прибавляет local translation pose и только затем
|
||||
применяет доказанный TMA `Rz * Ry * Rx`, scale и mission translation. Вершины
|
||||
намеренно разворачиваются per node/draw range, чтобы один source vertex мог
|
||||
получить разные poses. `parent_or_link_raw` не читается как parent, frame map не
|
||||
семплируется, поэтому это не заявляет восстановленную hierarchy или animation.
|
||||
получить разные poses. `parent_or_link_raw == 0xFFFF` теперь доказан как root,
|
||||
а любое меньшее child значение — parent index: inspected `R_B_01.msh` содержит
|
||||
34-node parent-before-child tree, а Part 1/Part 2 animation gate подтвердил
|
||||
этот контракт для всех standard nodes. Parent rotation корректно поворачивает
|
||||
child translation до суммирования. Frame map всё ещё не семплируется, поэтому
|
||||
это static fallback hierarchy, а не full animation parity.
|
||||
На той же GOG `MISSIONS/Autodemo.00/data.tma` и offline Ngi32 camera capture
|
||||
full preview из 8 objects / 66 mesh components / 67 descriptors завершился за
|
||||
один native Vulkan run с `clip_visible_vertices=2584`, `validation_warnings=0`,
|
||||
`validation_errors=0` и readback hash `5769837558651835265`. Рост с 938
|
||||
видимых вершин подтверждает, что local source poses реально вошли в geometry
|
||||
один native Vulkan run с `clip_visible_vertices=3415`, `validation_warnings=0`,
|
||||
`validation_errors=0` и readback hash `1275533143935640133`. Рост с 2584
|
||||
видимых вершин подтверждает, что composed parent poses реально вошли в geometry
|
||||
path; он не является оценкой сходства с original frame.
|
||||
|
||||
Параллельно bridge для legacy-camera path теперь переводит только высоту
|
||||
|
||||
Reference in New Issue
Block a user