Решили: части фигуры расставляются в риге при обнулённых локальных поворотах, и только потом поза покоя возвращается сверху. Порядок: снять все localRotation → расставить суставы и спрайты по мировым координатам нейтральной фигуры → вернуть повороты.

Почему: спрайты нарисованы в нейтральной позе (ноги вертикально, руки вдоль тела), а риг стоит в стойке — она живёт в анимируемых узлах (плечо 10°, бедро 22°, предплечье 26.6°), это решение Макса. Если ставить прямой спрайт по мировой позиции в повёрнутую кость, центр ляжет точно, а сам спрайт унаследует угол кости и уедет вокруг своего сустава. Замер после первой сборки: центры совпали до 0.005 юнита, а повороты частей были −22.1° у бедра, −10° у плеча, −36.6° у предплечья — фигура рассыпалась, не будучи неправильной ни в одной координате.

Сказано: «А ты сама хоть посмотрела? У тебя же есть /xgaida-x-nixi-animation возможность для просмотра анимок по кадрам. Проверила что все ок? Сняла? А то тут ппц, Никси» (Макс, 2026-08-01, сессия 5d740c6c).

Грабли:

  • Сборка, сошедшаяся по числам, может быть развалившейся на экране. Габарит совпал с расчётным (1.270), все привязки клипов разрешились, ошибок в консоли ноль — и фигура была кашей. Числа проверяют то, что ты решил проверить; глаз проверяет остальное. Контактный лист снимается до доклада, а не после вопроса «ты смотрела?».
  • Инструменты для этого уже естьAnimationLabRenderer.RenderContactSheet и RigSweep, скилл xgaida-x-nixi-animation. Не воспользоваться ими и отчитаться по габаритам — не экономия, а переделка.
  • Профиль рига меряет тот риг, на который указывает. Старый профиль снят с болванки (голова 90×130), и на новой фигуре его числа бессмысленны: у новой фигуры свой ассет профиля.

Владелец правды: Assets/_Project/Prefabs/Bones/BoneUnit_Human128.prefab, Assets/_Project/Prefabs/Bones/BoneUnit_Human128_RigProfile.asset, .claude/skills/xgaida-x-nixi-animation (процедура показа: кадры И гизмо).