Если коротко:
Трекинг всего тела добавляет данные о ногах, тазе и корпусе к положению гарнитуры и контроллеров. Для измерения используют Lighthouse-трекеры, инерциальные датчики или камеры, а inverse kinematics восстанавливает позу между известными точками. Выбор системы зависит от сценария, требуемой точности, зоны, калибровки и допустимого дрейфа или перекрытия камер.
Трекинг всего тела VR — определение положения ног, таза и иногда корпуса пользователя, которых не видит обычный комплект из гарнитуры и двух контроллеров. Дополнительные измерения передаются системе аватара, а inverse kinematics восстанавливает позу скелета между известными точками.
Почему одной гарнитуры недостаточно
Стандартный VR-комплект надёжно знает положение головы и кистей. Ноги и таз приходится угадывать. Анимационная система может предположить, где они находятся, но не отличит шаг в сторону от движения только верхней части тела и плохо воспроизведёт сидение, танец или удар ногой.
Full body tracking добавляет опорные точки. Минимальный распространённый набор — трекер на тазу и по одному на каждой стопе. Дополнительные датчики ставят на голени, грудь, локти и колени. Чем больше измеряемых сегментов, тем меньше позу приходится достраивать, но тем сложнее калибровка.
Lighthouse-трекеры
Оптические трекеры VIVE и совместимые устройства определяют положение относительно базовых станций Lighthouse. При правильной установке система даёт точную абсолютную позу и хорошо подходит для быстрых движений.
Для полного комплекта нужны базовые станции, свободные USB-подключения или радиоканалы, крепления и место без постоянных перекрытий. Тело, мебель и одежда могут закрывать трекер от станций. Стоимость растёт с каждой точкой.
Инерциальные системы
SlimeVR и похожие решения используют IMU — сочетание акселерометров и гироскопов. Датчики оценивают ориентацию сегментов, а сервер восстанавливает скелет. Базовые станции не нужны, перекрытие телом не мешает, а число точек можно увеличивать постепенно.
Главный компромисс — дрейф. Небольшая ошибка ориентации со временем накапливается, поэтому пользователь выполняет сброс и повторную калибровку. Магнитометры могут помогать или, наоборот, ошибаться рядом с металлом и электрооборудованием — это зависит от конкретной реализации.
Инерциальный трекер не измеряет абсолютное положение каждой точки так же, как внешняя оптическая система. Итоговая поза зависит от модели тела, роста пользователя, расположения датчиков и качества калибровки.
Трекинг по камере
Камера может оценивать положение суставов по изображению. Это самый простой вход: иногда достаточно веб-камеры или смартфона. Но часть тела легко скрывается, глубина оценивается с погрешностью, а освещение и одежда влияют на распознавание.
Такой вариант подходит для знакомства, записи или спокойных сценариев. При развороте спиной, приседании и пересечении конечностей ошибки растут. Несколько камер уменьшают слепые зоны, но усложняют синхронизацию и калибровку.
Камерные трекеры без базовых станций
Отдельный класс — self-tracking устройства со встроенными камерами. Они самостоятельно наблюдают помещение и передают свою позу. Базовые станции не нужны, но каждый трекер требует питания, достаточного освещения и видимых ориентиров. Совместимость определяется runtime и поддерживаемыми гарнитурами.
Что делает IK
Трекеры не управляют каждой костью. Система знает несколько поз и длины сегментов, а затем решает кинематическую задачу: как расположить колени, позвоночник и плечи, чтобы связать измеренные точки.
Отсюда появляются характерные ошибки:
- колено выгибается не в ту сторону;
- стопа скользит по полу;
- таз поворачивается вслед за грудью;
- аватар не совпадает с пропорциями пользователя;
- при потере одного датчика вся цепочка резко меняет позу.
Качество определяется не только трекерами, но и аватаром, настройкой костей, ограничениями суставов и реализацией IK в приложении.
Калибровка
Перед сеансом система должна узнать рост, направление вперёд, положение пола и соответствие датчиков частям тела. Трекер крепят одинаково и достаточно жёстко: если ремень вращается на ноге, программа считает это движением конечности.
Практический порядок:
- Настроить гарнитуру и контроллеры.
- Закрепить и назначить трекеры.
- Указать пропорции или рост.
- Принять калибровочную позу.
- Проверить стопы, таз и сгибание коленей.
- Выполнить несколько характерных движений.
- Настроить быстрый сброс дрейфа.
После смены одежды, ремней или пользователя калибровку повторяют.
Сколько трекеров нужно
Три дополнительные точки дают заметный результат для VRChat и танцев: стопы перестают быть полностью расчётными, а таз получает собственную ориентацию. Пять–семь точек лучше описывают ноги и корпус. Дальнейшее расширение имеет смысл, если приложение принимает эти данные и задача действительно требует локтей или груди.
Покупать максимальный комплект без проверки поддержки не стоит. Некоторые игры игнорируют full body tracking или используют только ограниченный набор ролей.
Выбор метода
Lighthouse выбирают ради точной абсолютной позы и уже установленной экосистемы базовых станций. Инерциальный комплект удобен без внешней инфраструктуры и при большом числе датчиков. Камера подходит для первого опыта, а self-tracking устройства занимают промежуточное положение.
Для разработки важно заранее определить OpenXR runtime, протокол передачи позы и список ролей трекеров. Общая логика позиционного отслеживания разобрана в статье о трекинге в VR.
Итог
Трекинг всего тела VR дополняет голову и руки измерениями ног, таза и корпуса. Но видимый аватар создаётся совместной работой датчиков, калибровки и IK. Сравнивать системы нужно по дрейфу, перекрытиям, задержке, числу точек, совместимости и удобству повторной настройки, а не только по заявленной точности одного трекера.