Partager via


Gestionnaire de manipulation — MRTK2

Gestionnaire de manipulation

Le script ManipulationHandler permet de rendre un objet mobile, évolutif et pivotable à l’aide d’une ou deux mains. La manipulation peut être restreinte de sorte qu’elle n’autorise que certains types de transformation. Le script fonctionne avec différents types d’entrées, notamment HoloLens 2 entrée de main articulée, les rayons de la main, l’entrée de mouvement HoloLens (1ère génération) et l’entrée immersive du contrôleur de mouvement du casque.

Comment utiliser le gestionnaire de manipulation

Ajoutez le ManipulationHandler composant de script à un GameObject. Veillez également à ajouter un collisionneur à l’objet, correspondant à ses limites pouvant être saisies.

Pour que l’objet réponde à une entrée manuelle presque articulée, ajoutez également le NearInteractionGrabbable script.

Utilisation du gestionnaire de manipulation dans l’éditeur unity

Propriétés de l’inspecteur

Structure du gestionnaire de manipulation

Transformation de l’hôte Transformation qui sera déplacée. Par défaut, l’objet du composant.

Type de manipulation Spécifie si l’objet peut être manipulé à l’aide d’une main, de deux mains ou des deux.

  • Une seule main
  • À deux mains seulement
  • Une et deux mains

Type de manipulation à deux mains

  • Mise à l’échelle : seule la mise à l’échelle est autorisée.
  • Rotation : seule la rotation est autorisée.
  • Déplacer l’échelle : le déplacement et la mise à l’échelle sont autorisés.
  • Déplacer pivoter : le déplacement et la rotation sont autorisés.
  • Faire pivoter l’échelle : la rotation et la mise à l’échelle sont autorisées.
  • Déplacer la rotation de l’échelle : le déplacement, la rotation et la mise à l’échelle sont autorisés.

Gestionnaire de manipulation

Autoriser la manipulation à distance Spécifie si la manipulation peut être effectuée à l’aide d’une interaction à distance avec des pointeurs.

Mode rotation d’une main à proximité Spécifie le comportement de l’objet lorsqu’il est saisi avec une main ou un contrôleur à proximité.

Mode rotation d’une main loin Spécifie le comportement de l’objet lorsqu’il est saisi d’une seule main ou d’un contrôleur à distance.

Options du mode rotation d’une main Spécifie la rotation de l’objet lorsqu’il est saisi d’une seule main.

  • Maintenir la rotation d’origine : ne fait pas pivoter l’objet au fur et à mesure qu’il est déplacé
  • Maintenir la rotation vers l’utilisateur : maintient la rotation d’origine de l’objet pour l’axe X/Y vers l’utilisateur
  • La gravité alignée maintient la rotation vers l’utilisateur : maintient la rotation d’origine de l’objet vers l’utilisateur, mais rend l’objet vertical. Utile pour les objets avec un contrôle de limites.
  • Utilisateur visage : garantit que l’objet fait toujours face à l’utilisateur. Utile pour les ardoises/panneaux.
  • Face loin de l’utilisateur : garantit que l’objet est toujours en face de l’utilisateur. Utile pour les ardoises/panneaux configurés à l’envers.
  • Faire pivoter le centre d’objets : fonctionne uniquement pour les mains/contrôleurs articulés. Fait pivoter l’objet avec la rotation de la main/du contrôleur, mais autour du point central de l’objet. Utile pour une inspection à distance.
  • Faire pivoter le point de prise : fonctionne uniquement pour les mains/contrôleurs articulés. Fait pivoter l’objet comme s’il était tenu dans la main/par le contrôleur. Utile pour une inspection.

Comportement de mise en production Lorsqu’un objet est libéré, spécifiez son comportement de mouvement physique. Nécessite qu’un composant rigidbody soit sur cet objet.

  • Nothing
  • Tout
  • Conserver la vélocité
  • Conserver Angular vitesse

Contraintes sur la rotation Spécifie l’axe avec lequel l’objet doit pivoter en cas d’interaction.

  • Aucun
  • Axe X uniquement
  • Axe Y uniquement
  • Axe Z uniquement

Utiliser l’espace local pour la contrainte Bascule pour basculer entre l’application de contraintes relatives à l’axe espace-monde ou l’axe espace local.

Contraintes sur le mouvement

  • Aucun
  • Corriger la distance à partir de la tête

Lissage actif Spécifie si le lissage est actif.

Lissage d’une main Quantité de lissage à appliquer au mouvement, à l’échelle, à la rotation. Le lissage de 0 signifie aucun lissage. Valeur maximale signifie aucune modification de la valeur.

Événements

Le gestionnaire de manipulation fournit les événements suivants :

  • OnManipulationStarted : déclenché au démarrage de la manipulation.
  • OnManipulationEnded : se déclenche lorsque la manipulation se termine.
  • OnHoverStarted : se déclenche lorsqu’une main ou un contrôleur pointe le manipulable, de près ou de loin.
  • OnHoverEnded : se déclenche lorsqu’une main ou un contrôleur désactive le manipulable, de près ou de loin.