[Développement Unity VR] Combinaison de VRTK4.0 : créer un bouton (bouton)

Citations :

Si le ciel me bloque, je vais déchirer le ciel ! Si la terre me bloque, je vais écraser la terre !


Avant-propos :

Dans l'espace 3D, nous avons souvent besoin de mettre en place des boutons spatiaux, qui peuvent être réalisés via des interacteurs ou des pointeurs qui interagissent avec eux. Ensuite, nous configurons un bouton simple qui peut être sélectionné à l'aide d'un pointeur d'objet pour initier le clic du bouton, utilisons un préfabriqué pour représenter notre bouton et utilisons des modules préfabriqués pour les pointeurs spatiaux qui peuvent interagir avec le bouton : Interactions.SpatialButton.ClickButton , Indicateurs .ObjectPointers.


texte:

la première étape:

        Ajoutez un pointeur droit Indicators.ObjectPointers.Straight pour l'interaction avec le bouton :

 Configurez les propriétés sur le composant actuel :

 Deuxième étape :

        Nous devons rendre le pointeur d'objet conscient de notre répartiteur et notre répartiteur conscient de notre bouton d'espace. Cela signifie que toute communication entre notre pointeur d'objet et le bouton espace passera par le répartiteur. Pour le moment, nous avons besoin d'un autre module : Indicators.SpatialTargets.Dispatcher :

Tilia -> Prefabs -> Indicateurs -> SpatialTargets -> Indicators.SpatialTargets.Dispatcher

 Troisième étape:

         Nous devons raccorder le pointeur d'objet au répartiteur pour faciliter la liaison du pointeur d'objet et de la méthode de l'appelant d'événement :

Sélectionnez respectivement la fonction à exécuter lors de l'émission de l'événement :

Déclencheur : SpatialTargetDispatcher -> DoDispatchEnter

Quitter : SpatialTargetDispatcher -> DoDispatchExit

Sélectionnez : SpatialTargetDispatcher -> DoDispatchSelect

Quatrième étape :

       Ensuite, nous devons créer un bouton espace pour qu'il puisse interagir avec notre pointeur linéaire :

 Tilia -> Préfabriqués -> Interactions -> SpatialButtons -> Interactions.SpatialButton.ClickButton

 Si nous l'utilisons pour la première fois, une boîte de dialogue apparaîtra, nous permettant de charger les ressources correspondantes nécessaires pour utiliser TextMesh Pro.

Cinquième étape :

        Nous pouvons maintenant modifier l'apparence du bouton d'espace en modifiant les propriétés du composant.

Les boutons peuvent être dans deux états principaux, avec des sous-états imbriqués associés :

  • Styles activés : Ce sont les styles utilisés pour l'apparence du bouton lorsqu'il est activé (la propriété est cochée).Is Enabled
    • Activé Inactif : Le bouton est activé, mais le bouton n'est pas survolé, il est donc inactif .
    • Hover Enabled : Le bouton est activé, le pointeur de l'objet survole le bouton, mais le bouton n'a pas été sélectionné.
    • Activer l'activité : le bouton est activé et le pointeur d'objet a activé le bouton (c'est-à-dire qu'il a cliqué sur le bouton).
  • Styles désactivés : Ce sont les styles utilisés pour l'apparence du bouton lorsqu'il est désactivé (propriété décochée).Is Enabled
    • Désactivé inactif : Le bouton est désactivé, mais pas survolé, il est donc inactif .
    • Désactivé au survol : le bouton est désactivé, le pointeur de l'objet survole le bouton, mais le bouton n'a pas été sélectionné.

Chaque type de style est une collection d'attributs liés à l'état du bouton, et les types d'attributs imbriqués des styles sont :

  • Is Applied: s'il faut appliquer le style à l'état du bouton. Si cette option n'est pas cochée, vous pouvez styliser manuellement les éléments à l'intérieur du bouton.
  • Button Text: Le texte affiché sur le bouton lorsque le bouton est dans l'état associé.
  • Font Size: La taille de la police du texte à afficher.
  • Font Color: La couleur de la police du texte.
  • Mesh Color: La couleur de la zone de grille du bouton lorsque le bouton est dans l'état associé.

Nous ne faisons que configurer un simple bouton pour l'instant, nous allons juste changer le texte pour chaque état, mais laissez l'apparence du bouton par défaut.

Sélectionnez le GameObject dans la fenêtre Unity Hierarchy, puis modifiez les propriétés suivantes sur le composant :ClickButtonSpatial Button Facade

  • Inactivité activée -> Texte du bouton :I AM OFF
  • Activer le survol -> texte du bouton :I AM OFF
  • Actif > Texte du bouton activé :CLICKED
  • Désactiver inactif -> texte du bouton :DISABLED
  • Désactiver le survol -> texte du bouton :DISABLED

Jouer:

      Lorsque nous exécutons la scène et activons le pointeur d'objet, pointez le faisceau sur le bouton et remarquez comment la couleur de la grille du bouton change en couleur de survol. La pression de la touche invoque l'action de sélection du pointeur d'objet, qui à son tour cliquera sur notre bouton, et vous verrez le bouton passer rapidement à l'état actif avant de revenir à son état par défaut.

Je suppose que tu aimes

Origine blog.csdn.net/LiKe11807/article/details/129441200
conseillé
Classement