Compartilhar via


HandMeshObserver Classe

Definição

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

Aplica-se a