A26: замер нормировки канала поворота (unit-критерий)
Some checks are pending
CI / checks (push) Waiting to run
Some checks are pending
CI / checks (push) Waiting to run
Кватернион требует, чтобы модуль вектора поворота не превосходил единицу у всех костей и кадров — по этому критерию и выбран путь. Сырые значения @idle_all_01: кость 0 — [43, 1424, 17013] при rot_scale [6,37e−5, 4,66e−5, 9,59e−5]. Умножение на rot_scale даёт 17013 · 9,59e−5 = 1,63 — больше единицы, для кватерниона невозможно, значит rot_scale не множитель. Деление на 32768 даёт 0,52 — годится. Записано в docs/PARITY.md A26 как первая задача следующего шага: выяснить точную нормировку канала (похоже, rot_scale задаёт сжатие, обратное ≈1,5e4…2,1e4 по осям), собрать кватернион с w = √(1 − x² − y² − z²) и перейти к позам костей по родителям. Все 23 сьюта зелёные.
This commit is contained in:
parent
2155bcee54
commit
d92b962b36
1 changed files with 16 additions and 2 deletions
|
|
@ -3225,8 +3225,22 @@ GPU» работает целиком. Пока это не анимация: н
|
|||
вида 17013, 1424, −874 (шорты, которые делятся на масштаб кости при сборке
|
||||
кватерниона).
|
||||
|
||||
**Дальше:** масштаб кости (`rot_scale`/`pos_scale`) в сборке кватерниона, позы
|
||||
костей с родителями, интерполяция между кадрами, выбор секвенции по состоянию.
|
||||
**Замер по масштабу кости (первый шаг следующего этапа).** У кватерниона модуль
|
||||
вектора поворота не больше единицы у **всех** костей и кадров — это и есть
|
||||
критерий выбора. Сырые значения `@idle_all_01`: у кости 0 — `[43, 1424, 17013]`
|
||||
при `rot_scale = [6,37e−5, 4,66e−5, 9,59e−5]`.
|
||||
|
||||
- умножение на `rot_scale`: `17013 · 9,59e−5 = 1,63` — **больше единицы**, для
|
||||
кватерниона невозможно, значит это не тот путь;
|
||||
- деление на 32768: `17013 / 32768 = 0,52` — годится.
|
||||
|
||||
Дальше нужно решить, чем именно нормируется канал: похоже, `rot_scale` в MDL
|
||||
задаёт **сжатие** (велик обратный, ≈1,5e4…2,1e4 по осям), а не множитель. Это
|
||||
первая задача следующего захода, вместе с позами костей по родителям.
|
||||
|
||||
**Дальше:** собрать кватернион с правильной нормировкой и `w = √(1 − x² − y² − z²)`,
|
||||
позы костей с родителями, интерполяция между кадрами, выбор секвенции по
|
||||
состоянию.
|
||||
|
||||
**Порядок работ:** (а) секвенции, включённые модели и чтение `.ani` сделаны;
|
||||
(б) привязка вершин сделана; (в) CPU-скиннинг сделан; (г) декодер кадров и
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue