Решили: позу клипа в редакторном стенде раскладываем ПО КРИВЫМ вручную (AnimationUtility.GetCurveBindingsGetEditorCurve → локальные позиция/поворот/масштаб), а корень путей ищем по самим костям — проверкой первого пути клипа на каждом кандидате.

Почему: оба очевидных способа не работают, и оба молча.

  • clip.SampleAnimation(go, time) вне play-mode генерик-клип по костям не раскладывает вовсе.
  • AnimationMode.SampleAnimationClip раскладывает, но не видит объекты с HideFlags.HideAndDontSave — а стенд состоит именно из таких, чтобы не мусорить в сцене. Плюс режим глобальный: он перекрасил бы инспектор и мешал бы обычной работе с анимацией.

В обоих случаях поза просто остаётся префабной, ошибки нет нигде, и выглядит это как «анимация не играет». Ручное чтение кривых от этого свободно и ничего не включает глобально.

Корень путей ищется по костям, а не по носителю Animator, потому что у сторибук-вида аниматор висит на Body, а скелет лежит под BoneVisual: от аниматора пути клипа (Hips/Torso/…) не разрешаются. Имена узлов у юнитов свои, а совпадение пути не врёт — поэтому признак именно такой.

Сказано: «В эффект дуга за клинком реальной анимации для просмотра на юните (возьме атаку 1), целиком от начала атаки до конца, а не время лишь дуги» (2026-08-06, сессия d760c178).

Грабли: цепочка из трёх молчаливых промахов подряд — сэмплирование не туда, сэмплирование не тем, и снимок кадра, не применявший фазу вовсе (её ставили только тик проигрывания и отрисовка окна). Каждый по отдельности выглядел как «эффект сломан», хотя ломался инструмент вокруг него. Признак, по которому это ловится быстрее всего: замерить не картинку, а ЧИСЛО — положение острия при разных фазах. Три одинаковых значения подряд сразу говорят, что поза не меняется, и снимают вопрос с самого эффекта.

Владелец правды: Assets/_Project/Scripts/Presentation/Editor/PostFxLabWindow.cs (ClipSampler, FindClipRoot).