[RESOLU] Impossible de cliquer sur un enfant d'un Rigidbody
[RESOLU] Impossible de cliquer sur un enfant d'un Rigidbody
Bonjour, encore un petit problème que je n'arrive pas à résoudre.
J'ai un player (Empty) équipé d'un CapsuleCollider, et d'un Rigidbody.
J'ai la camera enfant de ce player.
Et j'ai plusieurs Cubes enfants de la camera qui me servent de boutons pour commander mon player.
Mon problème est que Unity ne détecte pas mes cubes pour pouvoir cliquer dessus.
Si j'enlève le Rigidbody, pas de problème, mais dans ce cas je n'ai plus la gravité.
Y a t'il moyen de conserver le Rigidbody et de pouvoir cliquer sur un objet enfant ?
J'ai un player (Empty) équipé d'un CapsuleCollider, et d'un Rigidbody.
J'ai la camera enfant de ce player.
Et j'ai plusieurs Cubes enfants de la camera qui me servent de boutons pour commander mon player.
Mon problème est que Unity ne détecte pas mes cubes pour pouvoir cliquer dessus.
Si j'enlève le Rigidbody, pas de problème, mais dans ce cas je n'ai plus la gravité.
Y a t'il moyen de conserver le Rigidbody et de pouvoir cliquer sur un objet enfant ?
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Le rigidbody n'intervient pas pour la détection d'un click. Les collider ont ce rôle. La description de ton problème est étrange.
Si je comprends bien il faudrait que tu ajoutes un collider sur chaque cube. Mais attention car si il y a un collider par dessus (par exemple ton capsule collider) celui ci bloquera le click.
Si je comprends bien il faudrait que tu ajoutes un collider sur chaque cube. Mais attention car si il y a un collider par dessus (par exemple ton capsule collider) celui ci bloquera le click.
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Merci d'avoir bien voulu t’arrêter sur mon problème
Voilà le package de mon problème : https://drive.google.com/open?id=18Acvn ... hZDLzoIqX5
pour plus de précision. (C'est sur la version Unity 2019.1)
Jusque là on est entièrement d'accord.DevAmat a écrit :Le rigidbody n'intervient pas pour la détection d'un click. Les collider ont ce rôle.
La aussi tout est correct à ce que tu me précises. La caméra et les cubes sont au dessus du Capsule Collider. Il ne gène donc pas pour preuve, si j'enlève le rigidbody, tout fonctionne impeccable.DevAmat a écrit : Si je comprends bien il faudrait que tu ajoutes un collider sur chaque cube. Mais attention car si il y a un collider par dessus (par exemple ton capsule collider) celui ci bloquera le click.
C'est pour cela que je suis là.DevAmat a écrit :La description de ton problème est étrange.
Voilà le package de mon problème : https://drive.google.com/open?id=18Acvn ... hZDLzoIqX5
pour plus de précision. (C'est sur la version Unity 2019.1)
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
- boubouk50
- ModoGenereux
- Messages : 6222
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Impossible de cliquer sur un enfant d'un Rigidbody
N'est ce pas du a ta capsuleCollider qui vient par dessus les boutons?
Comme elle englobe les autres éléments clickables, le clic est sur elle et pas sur les enfants. C'est pour cela qu'en désactivant le rigidbody (donc le CapsuleCollider) elle ne bloque plus les autres éléments.
Il y a pas un layer spécial ignoreRaycast? (pour mettre ton gameObject du perso dedans, mais pas ses enfants)
Sinon, par code avec un raycast tu peux récupérer les éléments sous la souris.
Comme elle englobe les autres éléments clickables, le clic est sur elle et pas sur les enfants. C'est pour cela qu'en désactivant le rigidbody (donc le CapsuleCollider) elle ne bloque plus les autres éléments.
Il y a pas un layer spécial ignoreRaycast? (pour mettre ton gameObject du perso dedans, mais pas ses enfants)
Sinon, par code avec un raycast tu peux récupérer les éléments sous la souris.
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Non, mes boutons sont bien au dessus de la capsuleCollider, avec la caméra, un peu comme si le player les portait sur la tête.Boubouk a écrit :N'est ce pas du a ta capsuleCollider qui vient par dessus les boutons?
La capsuleCollider est indépendante du rigidBody, pour tester j'ai désactivé la capsuleCollider et si je laisse le rigidbody ça ne marche toujours pas, si je l'enlève, ça marcheBoubouk a écrit :C'est pour cela qu'en désactivant le rigidbody (donc le CapsuleCollider) elle ne bloque plus les autres éléments.
J'ai fait l'essai avec le layer ignoreRaycast sur mon player sans affecter les enfants et le problème reste le même.Boubouk a écrit :Il y a pas un layer spécial ignoreRaycast?
Il ne me reste plus qu'à essayer cette solutionBoubouk a écrit :Sinon, par code avec un raycast tu peux récupérer les éléments sous la souris.
En tout cas merci
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Vous n'allez pas le croire, j'ai fait un test avec RayCast, et le problème reste le même.
Sans le rigidbody, le raycast est détecté, avec le rigidbody, aucune détection.
Les bras m'en tombe.
J'ai fait mes essais avec unity 2019, 2018 et 5.6, même problème.
Sans le rigidbody, le raycast est détecté, avec le rigidbody, aucune détection.
Les bras m'en tombe.
J'ai fait mes essais avec unity 2019, 2018 et 5.6, même problème.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Lorsque tu "enlèves" le rigidbody tu désactives le component?
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Non, je le supprime "remove"
je ne crois pas qu'on puisse le désactiver
je ne crois pas qu'on puisse le désactiver
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Impossible de cliquer sur un enfant d'un Rigidbody
Enfin de compte, je suis passé par les boutons UI, mais je n'aime pas la fonction Select et je ne sais pas comment l'enlever.
Pour l'éviter, j'ai créé mes propres événements et ça marche correctement.
Voici le package (Unity 2019) si ça interresse quelqu'un
https://drive.google.com/open?id=1mzO8D ... 9hjQfZXjTe
Mais je me pose toujours la question pourquoi le rigidbody empêche le click sur des objets enfants.
Si quelqu'un connait la réponse je suis curieux.
A bientôt et merci
Pour l'éviter, j'ai créé mes propres événements et ça marche correctement.
Voici le package (Unity 2019) si ça interresse quelqu'un
https://drive.google.com/open?id=1mzO8D ... 9hjQfZXjTe
Mais je me pose toujours la question pourquoi le rigidbody empêche le click sur des objets enfants.
Si quelqu'un connait la réponse je suis curieux.
A bientôt et merci
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.
Re: Impossible de cliquer sur un enfant d'un Rigidbody
J'ai fais quelques recherches et en fait le rigidbody d'un parent va "capter" tous les events de ses enfants...
Il y a un exemple de discussion là:
https://forum.unity.com/threads/onmouse ... ved.29228/
J'ai pas trouver de détails sur la doc officielle.
La solution pour toi serait de mettre des rigidbody (en kinematic) sur tes boutons également, cela devrait fonctionner.
Il y a un exemple de discussion là:
https://forum.unity.com/threads/onmouse ... ved.29228/
J'ai pas trouver de détails sur la doc officielle.
La solution pour toi serait de mettre des rigidbody (en kinematic) sur tes boutons également, cela devrait fonctionner.