HandMeshObserver Klasse

Definition

Stellt Gitterupdates für jeden Frame bereit, der die erkannte Form einer Hand nachverfolgt.

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
Vererbung
Object Platform::Object IInspectable HandMeshObserver
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1903 (eingeführt in 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v8.0)

Hinweise

Beim Erstellen eines HandMeshObservers werden Handgitterupdates für eine bestimmte SpatialInteractionSource abonniert, die die erkannte Form dieser Hand nachverfolgt.

Wenn Benutzer direkt mit virtuellen Objekten mit ihren Händen interagieren, möchten Sie möglicherweise eine Visualisierung der Hände rendern, um das Vertrauen des Benutzers in seine Interaktionen zu erhöhen. Durch Erstellen eines HandMeshObservers können Sie einen festen Indexpuffer für die Hand-up-Front abrufen, indem Sie GetTriangleIndices und dann einen aktualisierten Vertexpuffer für jeden Frame aufrufen, indem Sie GetVertexStateForPose aufrufen. Mit diesen Puffern können Sie eine Livevisualisierung der Hand des Benutzers rendern.

Der Indexpuffer des Handgitters ändert sich während der Lebensdauer des HandMeshObservers nicht. Der Inhalt des Vertexpuffers des Handgitters wird bei jedem Frame aktualisiert, während die Vertexanzahl nicht erfolgt. Sie können daher bei jedem Frame den gleichen Vertexpuffer auffüllen.

Sie erstellen einen HandMeshObserver für eine bestimmte Interaktionsquelle, indem Sie SpatialInteractionSource.TryCreateHandMeshObserverAsync oder SpatialInteractionSource.TryCreateHandMeshObserver aufrufen. Es kann mehr als einen Frame dauern, um das App-Abonnement für Handgitterupdates zu initialisieren. Sie sollten nur die synchrone Version der -Methode aus einem Hintergrundthread aufrufen. Wenn Sie von einem UI-Thread, Renderthread oder Updatethread aufrufen, sollten Sie stattdessen die asynchrone Version aufrufen.

Eigenschaften

ModelId

Ruft eine Handgittermodell-ID ab, um denselben Indexpuffer für mehrere Quellerkennungs- und Verlustereignisse zu identifizieren.

NeutralPose

Ruft den aktuellen neutralen HandPose für diese Hand ab.

NeutralPoseVersion

Ruft die Version von NeutralPose für diese Hand ab.

Source

Die SpatialInteractionSource , deren Handgitter von diesem HandMeshObserver nachverfolgt wird.

TriangleIndexCount

Ruft die Anzahl der Elemente im Indexpuffer für dieses Handgittermodell ab.

VertexCount

Ruft die Anzahl der Scheitelpunkte für diese Hand ab.

Methoden

GetTriangleIndices(UInt16[])

Füllt einen Indexpuffer für dieses Handgittermodell aus.

GetVertexStateForPose(HandPose)

Ruft den Vertexpuffer und anderen Zustand ab, der zum Rendern des Handgitters für die Handposition eines bestimmten Frames oder für die neutrale Pose des Handgitters erforderlich ist.

Gilt für: