Решили: переименование узлов и перестройка иерархии — два РАЗНЫХ прохода RigMigrate, а не один.
Хват называется Weapon_R / Weapon_L, а не по содержимому. Легаси-риги едут вместе с базой.
Почему: переименование не двигает fileID, поэтому 112 подгонок арта в варианте Storybook
переживают его нетронутыми, а в префабах меняются только строки m_Name — вид не может поехать по
построению, и это проверяется одной командой. Перестройка же удаляет и перевешивает узлы, а значит
теряет override-ы и требует их пересчёта. Слитые в один проход, они дали бы один диффов ком, в
котором «арт уехал» не отличить от «имя не то». Цена разделения — между проходами инструменты рига
слепы (RigNaming узнаёт сустав по префиксу Rotation Point (), и код правится один раз, после
второго прохода: учить его читать оба состояния значило бы завести второго владельца конвенции.
Сказано: «Погнали? 128 и spear - это легаси, но пока НЕ удаляем. Пусть живет временно. Есть вопросы?» (04.08.2026, сессия ca4f0e10).
Грабли:
Human128— самостоятельный риг, но сидит на ОБЩИХ клипах, контроллере и аватаре. Переименование одной базы увело бы клипы на новые пути, а он остался бы со старыми именами — анимация умерла бы молча. Переименован тем же списком; двух запястий у него нет, иRigMigrateчестно печатает «rename skipped».BoneUnit_Spearоказался вариантомStandart, а не третьего префаба, как считалось вчера, и ходит по тем же путям — исключать его клип из миграции было бы ошибкой.- Шесть stale у
Spear— врождённые, не от миграции. Он удаляетSwordиShieldкак override, а маски базы на них ссылаются; запись маски в никуда Unity игнорирует. - Имя узла по содержимому (
Shield_L) — ловушка на будущее: кит с двумя мечами потребовал бы переименования узла, то есть ещё одной миграции клипов. УSpearподWeapon_Rуже виситSpear.
Владелец правды: BoneUnit_Standart.prefab (имена суставов), RigMigrate.cs (перенос путей),
RigNaming.cs (конвенция — правится после второго прохода).