Поделиться через


HandMeshObserver Класс

Определение

Предоставляет сетку, обновляющую каждый кадр, который отслеживает обнаруженную форму руки.

public ref class HandMeshObserver sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class HandMeshObserver final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class HandMeshObserver
Public NotInheritable Class HandMeshObserver
Наследование
Object Platform::Object IInspectable HandMeshObserver
Атрибуты

Требования к Windows

Семейство устройств
Windows 10, version 1903 (появилось в 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v8.0)

Комментарии

Создание HandMeshObserver позволяет подписаться на обновления сетки рук для заданного SpatialInteractionSource , который отслеживает обнаруженную форму этой руки.

Когда пользователи напрямую взаимодействуют с виртуальными объектами своими руками, вы можете отобразить визуализацию рук, чтобы повысить уверенность пользователя в взаимодействии. Создав HandMeshObserver, вы можете получить буфер фиксированного индекса для руки вперед, вызвав Метод GetTriangleIndices, а затем обновленный буфер вершин для каждого кадра, вызвав Метод GetVertexStateForPose. С помощью этих буферов можно визуализировать динамическую визуализацию руки пользователя.

Буфер индекса сетки рук не будет изменяться в течение времени существования handMeshObserver. Содержимое буфера вершин ручной сетки будет обновляться для каждого кадра, а количество вершин — нет. Таким образом, вы можете заполнить один и тот же буфер вершин для каждого кадра.

Вы создаете HandMeshObserver для заданного источника взаимодействия, вызывая SpatialInteractionSource.TryCreateHandMeshObserverAsync или SpatialInteractionSource.TryCreateHandMeshObserver. Для инициализации подписки приложения на обновления сетки для рук может потребоваться больше кадра. Следует вызывать только синхронную версию метода из фонового потока. Если вы вызываете из потока пользовательского интерфейса, потока отрисовки или потока обновления, вместо этого следует вызвать асинхронную версию.

Свойства

ModelId

Получает идентификатор модели ручной сетки для идентификации одного и того же буфера индекса в нескольких событиях обнаружения и потери источника.

NeutralPose

Возвращает текущее нейтральное значение HandPose для этой руки.

NeutralPoseVersion

Возвращает версию NeutralPose для этой руки.

Source

Объект SpatialInteractionSource, сетка рук которого отслеживается этим сервером HandMeshObserver.

TriangleIndexCount

Возвращает количество элементов в буфере индекса для этой модели сетки рук.

VertexCount

Возвращает количество вершин для этой руки.

Методы

GetTriangleIndices(UInt16[])

Заполняет буфер индекса для этой модели сетки рук.

GetVertexStateForPose(HandPose)

Возвращает буфер вершин и другое состояние, необходимое для отрисовки сетки рук для положения руки заданного кадра или для нейтрального положения сетки рук.

Применяется к