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
- Наследование
- Атрибуты
Требования к 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) |
Возвращает буфер вершин и другое состояние, необходимое для отрисовки сетки рук для положения руки заданного кадра или для нейтрального положения сетки рук. |