IBodyPose — это интерфейс, через который получается поза тела. Он содержит методы GetJointPoseLocal и GetJointPoseFromRoot, а также предоставляет компонент ISkeletonMapping, который позволяет выполнять запросы о наборах суставов и отношениях между родительскими и дочерними элементами для каждого сустава. Разные скелеты имеют разные наборы суставов, поэтому с помощью ISkeletonMapping можно получить лопатку или плечевой сустав в одном скелете, которых нет в другом. Также этот интерфейс позволяет находить родительский сустав, что часто применяется для определения относительного положения и вращения.BodyPoseData — сериализованный объект ScriptableObject, который представляет BodyPose и используется для хранения и восстановления данных о позах. Чтобы создать пустой объект BodyPoseData, в меню выберите Meta > Interaction (Взаимодействие) > Body Pose Recorder (Регистратор поз тела).PoseFromBody принимает IBody и предоставляет доступ к IBodyPose. Он используется для управления всеми компонентами, которые работают с IBodyPose, например для отладки визуализаций или отображения сетки тела.AutoUpdate определяет, будет ли PoseFromBody автоматически обновляться при обновлении данных IBody. Если для этого параметра установлено значение true, обновление синхронизируется с IBody. Если же установлено значение false, этого не происходит. Установка для параметра AutoUpdate значения false и явный вызов метода UpdatePose() позволяют зафиксировать текущую позу IBody.BodyPoseComparerActiveState используется для распознавания поз путем сравнения локальных ориентаций суставов между объектами IBodyPoses. С его помощью можно выбрать суставы для отслеживания и задать максимально допустимую разницу углов между всеми ими. Если разница углов для всех суставов находится в пределах допустимого диапазона, интерфейс IActiveState становится активным.
BodyPoseData. Такие объекты можно включить в поставку приложения и использовать для сравнения поз в качестве предустановленных поз тела либо для управления моделями тела при обучении позам в игре. Этот инструмент необходимо использовать в режиме воспроизведения в редакторе Unity для захвата актуальной позы тела.
| Свойство | Описание |
|---|---|
Source (Источник) | Источник IBody, который будет предоставлять данные о суставах для сохраненной позы. По умолчанию автоматически подключается первый найденный в сцене объект IBody, но при необходимости его можно переопределить вручную. |
Target Asset (Целевой объект) | Необязательный объект BodyPoseData типа ScriptableObject, в который будет сохранена поза. Если объект не указан, для каждой сохраненной позы создается новый объект, который записывается в папку Assets/BodyPoses. |
Capture Delay (Задержка захвата) | Время между нажатием кнопки Capture Body Pose (Захват позы тела) и фактическим захватом позы. |
Play Sound On Capture (Воспроизведение звука при захвате) | Если включено, при завершении таймера и захвате позы будет проигран системный сигнал. |