Partilhar via


Processador de manipulação — MRTK2

Processador de manipulação

O script ManipulationHandler permite que um objeto seja móvel, dimensionável e rotativo com uma ou duas mãos. A manipulação pode ser restringida de modo a permitir apenas determinados tipos de transformação. O script funciona com vários tipos de entradas, incluindo HoloLens 2 entrada articulada da mão, raios manuais, entrada de gestos do HoloLens (1.ª geração) e entrada envolvente do controlador de movimento do headset.

Como utilizar o processador de manipulação

Adicione o componente de ManipulationHandler script a um GameObject. Certifique-se de que também adiciona um colisor ao objeto, que corresponde aos respetivos limites agarráveis.

Para fazer com que o objeto responda à entrada manual quase articulada, adicione também o NearInteractionGrabbable script.

Utilizar o processador de manipulação no editor do Unity

Propriedades do inspetor

Estrutura do Processador de Manipulação

Transformação do Anfitrião Transformação que será arrastada. Predefinição para o objeto do componente.

Tipo de Manipulação Especifica se o objeto pode ser manipulado com uma mão, duas mãos ou ambas.

  • Apenas com uma mão
  • Apenas com duas mãos
  • Uma e duas mãos

Tipo de Manipulação Com Duas Mãos

  • Dimensionamento: só é permitido o dimensionamento.
  • Rodar: só é permitida a rotação.
  • Mover Escala: é permitido mover e dimensionar.
  • Mover Rotação: é permitido mover e rodar.
  • Dimensionamento Rotativo: a rotação e o dimensionamento são permitidos.
  • Mover Escala Rotativa: é permitido mover, rodar e dimensionar.

Processador de Manipulação

Permitir Manipulação De Longe Especifica se a manipulação pode ser feita através de interação com ponteiros.

Modo de Rotação de Uma Mão Perto Especifica como o objeto se irá comportar quando está a ser agarrado com uma mão/controlador perto.

Modo de Rotação de Uma Mão Longe Especifica como o objeto se irá comportar quando está a ser agarrado com uma mão/controlador à distância.

Opções do Modo de Rotação manual Especifica como o objeto irá rodar quando está a ser agarrado com uma mão.

  • Manter a rotação original: não roda o objeto à medida que está a ser movido
  • Manter a rotação para o utilizador: mantém a rotação original do objeto para o eixo X/Y para o utilizador
  • Rotação de manutenção alinhada pela gravidade para o utilizador: mantém a rotação original do objeto para o utilizador, mas torna o objeto vertical. Útil para objetos com um controlo de limites.
  • Utilizador facial: garante que o objeto está sempre virado para o utilizador. Útil para ardósias/painéis.
  • Face longe do utilizador: garante que o objeto está sempre longe do utilizador. Útil para ardósias/painéis configurados para trás.
  • Rodar sobre o centro de objetos: só funciona para mãos/controladores articulados. Rode o objeto com a rotação da mão/controlador, mas sobre o ponto central do objeto. Útil para inspecionar à distância.
  • Rodar sobre o ponto de captura: só funciona para mãos/controladores articulados. Rode o objeto como se estivesse a ser mantido à mão/controlador. Útil para inspeção.

Comportamento da Versão Quando um objeto é libertado, especifique o respetivo comportamento de movimento físico. Requer que um componente de rigidbody esteja nesse objeto.

  • Nada
  • Tudo
  • Manter Velocidade
  • Manter a Velocidade do Angular

Restrições na Rotação Especifica em que eixo o objeto irá rodar quando interage.

  • Nenhuma
  • Apenas eixo X
  • Apenas eixo Y
  • Apenas eixo Z

Utilizar espaço local para restrição Um botão de alternar para alternar entre a aplicação de restrições no que diz respeito ao eixo do espaço mundial ou ao eixo de espaço local.

Restrições ao Movimento

  • Nenhuma
  • Corrigir distância da cabeça

A suavizar ativo Especifica se a suavidade está ativa.

Smoothing Amount One Hand Quantidade de suavidade a aplicar ao movimento, à escala, à rotação. A suavidade de 0 significa que não há alisamento. O valor máximo significa que não há alteração ao valor.

Evento

O processador de manipulação fornece os seguintes eventos:

  • OnManipulationStarted: acionado quando a manipulação é iniciada.
  • OnManipulationEnded: dispara quando a manipulação termina.
  • OnHoverStarted: é acionado quando uma mão/controlador paira o rato sobre o manipulável, próximo ou distante.
  • OnHoverEnded: é acionado quando uma mão/controlador não paira o rato sobre o manipulável, próximo ou distante.