[SteamVR] Comment écouter l'enfoncement d'une touche et le OnTriggerEnter simultanément?

Section dédiée à la VR avec Unity
Trqncescqpe
Messages : 2
Inscription : 18 Mars 2017 12:04

[SteamVR] Comment écouter l'enfoncement d'une touche et le OnTriggerEnter simultanément?

Message par Trqncescqpe » 20 Mars 2017 23:10

Bonsoir à tous,
je m'essaye depuis peu à la réalisation d'Applications VR avec un HTC Vive et je suis coincé concernant la réalisation d'une tâche. Je travaille avec le STEAMVR PLugin.

J'ai créé un piedestal avec un bouton dessus (une bête demi-sphere avec un RigidBody et un Collider), J'arrive à l'activer et jouer une animation lorsque mon controleur VIve passe dessus grace à la methode "OnTriggerEnter" de la demi-sphere. En revanche, ce sur quoi je bute, c'est comment faire pour que l'animation du bouton ne se fasse que lorsque je touche le collider ET que j'enfonce la gachette mon controleur.

J'ai vu que la classe SteamVR_TrackedController avait un evènement TriggerClicked donc j'ai tenté de souscrire à ce dernier dans un script que j'ai poser sur ma demi-sphere:

Code : Tout sélectionner

public SteamVR_TrackedController controller;
controller.GetComponent<SteamVR_TrackedController> ();
controller.TriggerClicked += DoClick;
Et dans ma méthode DoClick j'ai simplement fait un debut.log "gachette appuyée". J'ai drag n droppé mon objet Controller sur mon script et je capture bien l'event. Mais comment faire pour faire que lorsque le OnTriggerEnter est appelé ET qu'il y a un TriggerClicked de mon controleur, le bouton soit enfoncé? Je ne sais pas si je suis clair et si je ne raconte pas des grosses bêtises de non-developpeur..

merci d'avance pour votre réponse

Cdt,

Trqncescqpe

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [SteamVR] Comment écouter l'enfoncement d'une touche et le OnTriggerEnter simultanément?

Message par boubouk50 » 21 Mars 2017 10:20

Salut,

tu pourrais gérer cela avec des booléens pour contrôler les états. Dans ton OnTriggerEnter () et OnTriggerStay (), tu mets à true un booléen, dans OnTriggerExit (), tu le mets à false. Ensuite dans ton DoClick (), tu vérifie s'il est à true.
Je pense qu'il ne faut pas gérer les 2 en tant qu'événement.
Je viens de voir la doc, tu peux également faire l'inverse en gérant la pression sur le bouton par un booléen avec l'event TriggerUnclicked.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Trqncescqpe
Messages : 2
Inscription : 18 Mars 2017 12:04

Re: [SteamVR] Comment écouter l'enfoncement d'une touche et le OnTriggerEnter simultanément?

Message par Trqncescqpe » 21 Mars 2017 23:34

Merci beaucoup, l'idée était très bonne et fonctionne correctement!

:-D

Répondre

Revenir vers « Unity et la VR »