HandMeshObserver Classe

Definizione

Fornisce aggiornamenti mesh ogni cornice che tiene traccia della forma rilevata di una mano.

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
Ereditarietà
Object Platform::Object IInspectable HandMeshObserver
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10, version 1903 (è stato introdotto in 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v8.0)

Commenti

La creazione di un handMeshObserver sottoscrive gli aggiornamenti della mesh per un oggetto SpatialInteractionSource specifico che tiene traccia della forma rilevata della mano.

Quando gli utenti interagiscono direttamente con oggetti virtuali con le mani, è possibile eseguire il rendering di una visualizzazione delle mani per aumentare la fiducia dell'utente nelle interazioni. Creando un handMeshObserver, è possibile ottenere un buffer di indice fisso per la mano in alto chiamando GetTriangleIndices e quindi un buffer dei vertici aggiornato per ogni frame chiamando GetVertexStateForPose. Con questi buffer è possibile eseguire il rendering di una visualizzazione dinamica della mano dell'utente.

Il buffer di indice della mesh della mano non cambierà per la durata del handMeshObserver. Il contenuto del buffer dei vertici della mesh della mano verrà aggiornato ogni fotogramma, mentre il conteggio dei vertici non verrà eseguito. È quindi possibile riempire lo stesso buffer dei vertici ogni fotogramma.

Per creare un handmeshObserver per una determinata origine di interazione, chiamare SpatialInteractionSource.TryCreateHandMeshObserverAsync o SpatialInteractionSource.TryCreateHandMeshObserver. L'inizializzazione della sottoscrizione dell'app per gli aggiornamenti della mesh manuale può richiedere più di un frame. È consigliabile chiamare solo la versione sincrona del metodo da un thread in background. Se si chiama da un thread dell'interfaccia utente, eseguire il rendering di thread o aggiornare il thread, è necessario chiamare invece la versione asincrona.

Proprietà

ModelId

Ottiene un ID modello mesh a mano per identificare lo stesso buffer di indice tra più eventi di rilevamento e perdita di origine.

NeutralPose

Ottiene l'oggetto HandPose neutro corrente per questa mano.

NeutralPoseVersion

Ottiene la versione di NeutralPose per questa mano.

Source

SpatialInteractionSource la cui mesh manuale viene rilevata da questo HandMeshObserver.

TriangleIndexCount

Ottiene il numero di elementi nel buffer di indice per questo modello di mesh a mano.

VertexCount

Ottiene il conteggio dei vertici per questa mano.

Metodi

GetTriangleIndices(UInt16[])

Riempie un buffer di indice per questo modello di mesh a mano.

GetVertexStateForPose(HandPose)

Ottiene il buffer dei vertici e altri stati necessari per eseguire il rendering della mesh della mano per la posa della mano di un determinato frame o per la posa neutra della mesh della mano.

Si applica a