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 的生存期内不会更改。 手部网格的顶点缓冲区内容将更新每个帧,而顶点计数不会更新。 因此,可以每帧重新填充相同的顶点缓冲区。

通过调用 SpatialInteractionSource.TryCreateHandMeshObserverAsyncSpatialInteractionSource.TryCreateHandMeshObserver 为给定交互源创建 HandMeshObserver 初始化应用对手动网格更新的订阅可能需要一个以上的时间。 应仅从后台线程调用方法的同步版本。 如果要从 UI 线程、呈现线程或更新线程调用 ,则应改为调用异步版本。

属性

ModelId

获取手部网格模型 ID,用于标识多个源检测和丢失事件的同一索引缓冲区。

NeutralPose

获取此手部的当前中性 HandPose

NeutralPoseVersion

获取此手的 NeutralPose 版本。

Source

由此 HandMeshObserver 跟踪其手部网格的 SpatialInteractionSource

TriangleIndexCount

获取此手部网格模型的索引缓冲区中的元素数。

VertexCount

获取此手的顶点计数。

方法

GetTriangleIndices(UInt16[])

填充此手部网格模型的索引缓冲区。

GetVertexStateForPose(HandPose)

获取为给定帧的手部姿势或手部网格的中性姿势呈现手部网格所需的顶点缓冲区和其他状态。

适用于