
Обычно перед анимацией 3D‑модель приходится риггить — формировать внутри объекта виртуальный скелет, связывать его кости с поверхностями модели и настраивать то, как каждая вершина должна реагировать на движение каждой кости. Некоторые современные методы автоматизации пытаются обойти этот этап и сразу предсказывают положение вершин в каждом кадре. В таком случае точки начинают двигаться несогласованно, и в анимации появляются дрожание и деформации.
Вместо этого BLARM использует промежуточный вариант. Система представляет движение объекта в виде набора небольшого числа скрытых двигательных компонентов. В конфигурации содержится 31 такой компоненты и ещё один, который отвечает за перемещение объекта целиком. Для каждого кадра нейросеть определяет поворот и смещение каждого компонента, и параллельно вычисляет постоянные веса, показывающие, какие вершины 3D‑модели должны следовать за каждым из них.
После этого движения смешиваются с помощью стандартного скиннинг методом Linear Blend Skinning. В итоге получается структура, похожая по принципу на традиционный риггинг, хотя система не строит явный скелет.
На вход BLARM получает монокулярное видео и статичную 3D‑модель. За анализ геометрии отвечает энкодер TripoSG, для кадров используют признаки DINOv3, а PartField помогает учитывать смысловые части поверхности. Нейросеть сопоставляет признаки формы с изображениями и отдельно отслеживает взаимодействие частей объекта внутри кадра и их движение во времени. Если 3D‑модели нет, то её можно сгенерировать по первому кадру видео с помощью TRELLIS2.

Для обучения нейросети исследователи использовали примерно 10 тысяч анимированных объектов из Objaverse. Из них рендерили монокулярные ролики с разрешением 512 × 512 пикселей. Для обучения использовали восемь GPU Nvidia H200. Система работает блоками по 16 кадров, а более длинные видео обрабатывает последовательно.
