Решили: боевые точки скелетного вида (Hit / Head / Feet / Shot Point) возвращены к значениям БАЗОВОГО UnitView.prefab, а UnitView теперь громко ругается, если у вида не разведена хоть одна из четырёх. Конвенция подтверждена Максом: Hit Point стоит в нуле, всё остальное центрируется вокруг неё.

Почему: вариант UnitView_BoneStandart переопределял все четыре точки, подняв их примерно на 0.8 — на полроста. Точка удара оказывалась ВЫШЕ макушки рига, и по ней считались боевые цифры, искры, бары и перекрытие щитом. Замер: точки стояли Hit (0.05, 0.85), Head (0, 1.55), Feet (0, 0), а силуэт рига занимает y [−0.818 .. 0.736].

Базовые значения при этом ложатся на скелет почти идеально: Feet −0.798 против стоп рига −0.818, Head +0.803 против макушки 0.736. То есть двигать не нужно было ни риг, ни точки — достаточно снять переопределения. Похоже, их когда-то подогнали под покадрового двойника Visual Sprites/Body, у которого ноги в нуле, — он в этом виде лежит ВЫКЛЮЧЕННЫМ.

Проверка на живой метрике: перекрытие точки удара щитом было 0% клипа, на контакте NO, центр в 0.707, стало 100% клипа, на контакте YES, центр в 0.147. Ни поза щита, ни клип при этом не менялись.

Грабли: дефект был невидим ровно потому, что «точки заданы» — они действительно были заданы, просто не там. Отсюда правило, которого не хватало: отсутствие сокета кричит (UnitView.RequireSockets, RigSweep.ResolveSockets), а совпадение с ригом проверяется числом, а не глазами. Стандартные точки обязаны быть у КАЖДОГО вида, включая ненужные киту: ближнему бойцу точка выстрела — хотя бы в нуле (требование Макса).

Второе: судить блок общей долей перекрытия силуэта нельзя. Щит шире корпуса даёт честные 51% и когда прикрывает сторону удара, и когда висит с дальней стороны. Поэтому RigSweep теперь отдельно считает сторону врага и накрытие точки удара — по НАКЛОНЁННОМУ четырёхугольнику спрайта, а не по его AABB.

Владелец правды: UnitView_BoneStandart.prefab (значения точек), UnitView.RequireSockets (крик), RigSweep (Socket, CoverageFront, CoversAim/AimOffset), базовый UnitView.prefab — владелец самой конвенции.