HandMeshObserver Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece atualizações de malha de cada quadro que acompanham a forma detectada de uma mão.
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
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10, version 1903 (introduzida na 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v8.0)
|
Comentários
Criar um HandMeshObserver assina atualizações de malha manual para um determinado SpatialInteractionSource que rastreia a forma detectada dessa mão.
Quando os usuários estão interagindo diretamente com objetos virtuais com as mãos, talvez você queira renderizar uma visualização das mãos para aumentar a confiança do usuário em suas interações. Ao criar um HandMeshObserver, você pode obter um buffer de índice fixo para a mão na frente chamando GetTriangleIndices e, em seguida, um buffer de vértice atualizado de cada quadro chamando GetVertexStateForPose. Com esses buffers, você pode renderizar uma visualização dinâmica da mão do usuário.
O buffer de índice da malha manual não será alterado durante o tempo de vida do HandMeshObserver. O conteúdo do buffer de vértice da malha manual será atualizado a cada quadro, enquanto a contagem de vértice não será. Portanto, você pode recarregar o mesmo buffer de vértice a cada quadro.
Você cria um HandMeshObserver para uma determinada fonte de interação chamando SpatialInteractionSource.TryCreateHandMeshObserverAsync ou SpatialInteractionSource.TryCreateHandMeshObserver. Pode ser necessário mais do que um quadro para inicializar a assinatura do aplicativo para atualizações de malha manual. Você só deve chamar a versão síncrona do método de um thread em segundo plano. Se você estiver chamando de um thread de interface do usuário, renderizar thread ou atualizar thread, deverá chamar a versão assíncrona.
Propriedades
ModelId |
Obtém uma ID de modelo de malha manual para identificar o mesmo buffer de índice em vários eventos de detecção e perda de origem. |
NeutralPose |
Obtém o HandPose neutro atual para esta mão. |
NeutralPoseVersion |
Obtém a versão do NeutralPose para esta mão. |
Source |
O SpatialInteractionSource cuja malha manual é controlada por este HandMeshObserver. |
TriangleIndexCount |
Obtém o número de elementos no buffer de índice para esse modelo de malha manual. |
VertexCount |
Obtém a contagem de vértices para essa mão. |
Métodos
GetTriangleIndices(UInt16[]) |
Preenche um buffer de índice para este modelo de malha manual. |
GetVertexStateForPose(HandPose) |
Obtém o buffer de vértice e outro estado necessários para renderizar a malha da mão para a pose de mão de um determinado quadro ou para a pose neutra da malha da mão. |