HandMeshObserver Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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. |