HandMeshObserver Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des mises à jour de maillage pour chaque cadre qui suit la forme détectée d’une main.
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
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10, version 1903 (introduit dans 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v8.0)
|
Remarques
La création d’un HandMeshObserver vous abonne aux mises à jour de maillage de main pour un SpatialInteractionSource donné qui suit la forme détectée de cette main.
Lorsque les utilisateurs interagissent directement avec des objets virtuels avec leurs mains, vous pouvez afficher une visualisation des mains pour augmenter la confiance de l’utilisateur dans leurs interactions. En créant un HandMeshObserver, vous pouvez obtenir une mémoire tampon d’index fixe pour la main en appelant GetTriangleIndices, puis une mémoire tampon de vertex mise à jour chaque trame en appelant GetVertexStateForPose. Avec ces mémoires tampons, vous pouvez afficher une visualisation en direct de la main de l’utilisateur.
La mémoire tampon d’index du maillage de main ne change pas pendant la durée de vie de HandMeshObserver. Le contenu de la mémoire tampon de vertex du maillage de main sera mis à jour à chaque image, contrairement au nombre de vertex. Vous pouvez donc remplir la même mémoire tampon de vertex à chaque image.
Vous créez un HandMeshObserver pour une source d’interaction donnée en appelant SpatialInteractionSource.TryCreateHandMeshObserverAsync ou SpatialInteractionSource.TryCreateHandMeshObserver. L’initialisation de l’abonnement de l’application aux mises à jour de maillage manuelle peut prendre plus d’un frame. Vous devez appeler uniquement la version synchrone de la méthode à partir d’un thread d’arrière-plan. Si vous appelez à partir d’un thread d’interface utilisateur, d’un thread de rendu ou d’un thread de mise à jour, vous devez appeler la version asynchrone à la place.
Propriétés
ModelId |
Obtient un ID de modèle de maillage de main pour identifier la même mémoire tampon d’index sur plusieurs événements de détection et de perte de source. |
NeutralPose |
Obtient le HandPose neutre actuel pour cette main. |
NeutralPoseVersion |
Obtient la version de NeutralPose pour cette main. |
Source |
SpatialInteractionSource dont le maillage de main est suivi par ce HandMeshObserver. |
TriangleIndexCount |
Obtient le nombre d’éléments dans la mémoire tampon d’index pour ce modèle de maillage de main. |
VertexCount |
Obtient le nombre de sommets pour cette main. |
Méthodes
GetTriangleIndices(UInt16[]) |
Remplit une mémoire tampon d’index pour ce modèle de maillage de main. |
GetVertexStateForPose(HandPose) |
Obtient la mémoire tampon de vertex et tout autre état nécessaire pour restituer le maillage de la main pour la pose de la main d’un cadre donné ou pour la pose neutre du maillage manuel. |