HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Section dédiée à la VR avec Unity
Sam00
Messages : 26
Inscription : 07 Nov 2016 18:05

HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par Sam00 » 07 Nov 2016 18:20

Bonjour,

Je souhaiterais créer une scène ou je pourrais tirer un tiroir de son compartiment, lorsque celui ci est tiré au maximum le garder dans la main (en gardant la gachette maintenue), pouvoir le poser sur une table, puis le reprendre et le replacer dans son compartiment. Celà est il possible ? Je me suis procuré le pack VRTK - SteamVR Unity Toolkit qui contient beaucoup d'éléments utile, comme tirer ou pousser un tiroir.

Mon vrai problème est que j'aimerais que l'objet reste en main une fois sorti complètement de son compartiment, et qu'en relachant la gachette on puisse le poser sur un support. En le remettant en place j'aimerais aussi retrouver ce systeme de joint qui limite la sortie/ entrée du tiroir (pour le bloquer a la limite de son compartiment.)

Je ne sais pas si j'ai posté ce sujet dans le bon endroit...


Merci ;)

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par E3DStef » 08 Nov 2016 00:31

Salut, je ne vois pas où est ton souci ?

Une solution simple comme cela à chaud

PRENDRE
0) Tiroir = position initiale
1) Colider de la "main" virtuelle au contact du collider de la poignée
2) Si clic maintenu sur gachette et Si 0) = True et 1) = True alors tu "attaches" le tiroir à la main
3) Si clic relaché et si 1) alors Rigibody du tiroir le "pose" sur la table

REMETTRE (c quasi idem)
4) Tiroir = posé sur la table
5) Colider de la "main" virtuelle au contact du collider de la poignée du tiroir qui est 4 = True
6) Si clic maintenu sur gachette et Si 5) = True alors tu "attaches" le tiroir à la main
6a) Si fond tiroir près entrée compartiment (détectable via collider)
7) Si clic relaché et si 6a) = True alors le tiroir se "range" sinon si 6a) = False alors Rigibody du tiroir le "fait tomber au sol"

Bref de simple petites conditions avec tout plein de colliders servant à les vérifier ;-)

A+
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Sam00
Messages : 26
Inscription : 07 Nov 2016 18:05

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par Sam00 » 09 Nov 2016 12:12

Bonjour et merci pour la réponse rapide ;)

Je pense m'être mal exprimé, le problème n'est pas tant de prendre et de manipuler le tiroir, mais de le garder dans son compartiment jusqu'à ce qu'il soit sorti complètement. En gros il est verrouillé sur un seul axe, et en rotation de manière a ce qu'on ne puisse pas le "faire rentrer" dans d'autres modèles 3D. Puis je arriver a le "bloquer" de cette façon en plaçant autour de lui des colliders ?

L'idée en gros et d'arriver a ça (autour de 4"42)

https://www.youtube.com/watch?v=BIhL0Ei8Qh8

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par F@B » 09 Nov 2016 13:15

Salut, je vois pas le soucis ?

sur la collision avec un trigger tu clamp le rigidbody sur l'axe que tu as besoin ? ?

qu'as tu essayé ? qu'on comprenne tes difficultés ?
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Sam00
Messages : 26
Inscription : 07 Nov 2016 18:05

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par Sam00 » 14 Nov 2016 13:58

Ok je vais essayer en bloquant le compartiment avec des coliders sur le cotés et au fond pour définir le compartiment de mon tiroir.

Sam00
Messages : 26
Inscription : 07 Nov 2016 18:05

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par Sam00 » 16 Nov 2016 19:01

Je reviens vers vous, ça ne fonctionne pas :(

En fait, j'aimerais que l'ont puisse manipuler l'objet n'importe comment dans l'espace, sans contrainte de position ou de rotation. Et dès que l'ont veut le remettre dans son compartiment, l'objet se "snape" devant l'endroit ou il doit etre rangé, et il ne nous reste plus qu'à avancer la main pour le pousser jusqu'au fond du compartiment.

Pour le moment l'object a rigibody non bloqué sur un axe (pour qu'on puisse le tourner dans tous les sens avec la manette) . Autour de lui le compartiment est défini par plusieurs colliders qui sont censés le bloquer jusqu'à ce qu'il soit sorti. Mon problème c'est que dès que je le touche pour le manipuler, je peux le bouger dans tous les sens et donc le faire rentrer dans les autres modèles adjacents, alors qu'il est censé être verrouillé sur un seul axe, (puisqu'il est censé être bloqué dans son compartiment).

L'idée c'est de faire la même chose qu'avec la clé de cette vidéo, autour de 4"42

https://www.youtube.com/watch?v=BIhL0Ei8Qh8

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par Moi 1971 » 16 Nov 2016 19:35

Bonjour,
il te faut aller sur Youtube, dans la zone de recherche tu tapes :
"unity 3d tutorial pik up and drop"
Bon visionnage...

Sam00
Messages : 26
Inscription : 07 Nov 2016 18:05

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par Sam00 » 17 Nov 2016 15:44

Mon soucis n'est pas de prendre puis de lâcher un objet, je veux juste qu'il rentre dans son compartiment quand il rentre en contact avec un collider par exemple.
Je travaille avec le HTC Vive, je ne manipule donc pas mes objets avec une touche du clavier ou avec la souris mais bien avec les manettes du HTC.

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

Re: HTC Vive: Tirer/ Tenir/ Poser puis remettre en place un objet

Message par boubouk50 » 17 Nov 2016 15:53

Tu as quand même des boutons sur tes manettes de Vive.
Tu as la possibilité de détecter des collisions entre deux gameObjects, donc de gérer ce cas comme par exemple afficher une dialogBox "Appuyer sur X pour poser". T'appuies et ton gameObject se remet en place tout seul. Tu peux utiliser une zone Trigger également.
Tu peux aussi l'automatiser sans passer par une touche.
Mais l'idée, c'est de passer par les OnTriggerEnter (), OnTriggerExit (), OnTriggerStay (), OnCollisionEnter (), OnCollisionExit () et OnCollisionStay ()
"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

Répondre

Revenir vers « Unity et la VR »