[DB-AL] Tester si un objet se situe dans mon collider

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
JohnLemon83
Messages : 2
Inscription : 14 Juin 2017 15:35

[DB-AL] Tester si un objet se situe dans mon collider

Message par JohnLemon83 » 14 Juin 2017 15:51

Bonjour,

Je suis actuellement en train de créer un petit jeu de voiture, et je suis plus près du début que de la fin, si vous voyez ce que je veut dire :lol: . J'aimerais bien que mon utilisateur ne puisse pas accélérer si la voiture ne touche pas les sol. J'ai donc mis un collider en trigger légèrement plus bas que ma voiture, et j'aimerais bien pouvoir vérifier dans mon update si il y a un ou plusieurs un objet avec le tag "sol" dans ce collider, car les fonction OnTriggerEnter ou OnTriggerExit ne me conviennent pas, et donc d'avoir un code sur ce shéma :

Si le joueur appuie sur avancer :
Si un ou plusieurs objets avec le tag "sol" sont dans le collider : //C'est une condition équivalente à cette ligne que je recherche.
avancer;

Merci d'avance de votre aide,

Cordialement, JohnLemon83;

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

Re: [DB-AL] Tester si un objet se situe dans mon collider

Message par boubouk50 » 14 Juin 2017 15:57

Quelle idée de réinventer la roue alors que les colliders font déjà tout cela automatiquement?
Tu peux m'expliquer pourquoi avant de te trouver une solution stp? Histoire que je ne m'embête pas à chercher pour de mauvaises raisons.
"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

JohnLemon83
Messages : 2
Inscription : 14 Juin 2017 15:35

Re: [DB-AL] Tester si un objet se situe dans mon collider

Message par JohnLemon83 » 14 Juin 2017 16:14

Excusez-moi, mais je ne comprends pas votre réponse. Que dois-je détailler au juste ? Et de quoi parlez-vous quand vous dite que les colliders font tout automatiquement ? Je cherche seulement un condition qui permette de savoir si un ou plusieurs objet avec un tag défini se situent dans un collider.

Je suis désolé mais je n'ai pas compris votre réponse, je vous demande de me pardonner.

cordialement, JohnLemon.

Nazarick
Messages : 60
Inscription : 03 Avr 2017 21:44

Re: [DB-AL] Tester si un objet se situe dans mon collider

Message par Nazarick » 14 Juin 2017 16:28

car les fonction OnTriggerEnter ou OnTriggerExit ne me conviennent pas,
Pourquoi elles ne te conviennent pas ? Elles font parfaitement leur travail (sans oublier leur petite soeur OnTriggerStay()) ou alors regarder du côté des Raycast et compagnie.

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

Re: [DB-AL] Tester si un objet se situe dans mon collider

Message par boubouk50 » 14 Juin 2017 16:30

JohnLemon83 a écrit : les fonction OnTriggerEnter ou OnTriggerExit ne me conviennent pas
C'est surtout cette phrase qui est gênante.
Alors après, je ne sais pas comment est foutu ton jeu de voiture.
Utilises-tu des wheelColliders?
Si oui, pourquoi n'utilises-tu donc pas le fait que "si aucune des roues motrices ne touche le sol, alors je ne peux pas accélérer". Facile, tu as déjà l'info par les WheelColliders.
Si non, comment places-tu ta voiture par rapport au sol? Tu dois bien avoir un collider qui s'en occupe, non?
Si oui, alors lui possède l'info puisqu'il y a contact physique.
Si non, tu le fais à la main?
Si oui, alors tu as déjà l'info de contact ou non.

Je pense que tu utilises la physique pour ta voiture, donc tu as déjà les infos quelques part. Si tu veux retrouver l'info par un autre moyen, soit. Allons-y. Tu mets un MeshCollider de type Trigger sur ton sol et lorsque ta voiture touche le sol alors la fonction OnTriggerStay () sera appelée à chaque frame et tu auras le droit d'accélérer.
Mais tu ne veux pas utiliser les triggers, donc par conséquent, il faut programmer la détection par un autre moyen. Mais, si tu viens demander de l'aide, c'est parce que tu n'es pas en capacité de le faire. Donc, ce sera à quelqu'un du forum de t'aider à le faire, alors qu'il existe déjà des outils pour le faire facilement.

Alors pourquoi ne pas utiliser ces outils et ne pas utiliser les Collisions/Colliders/Triggers?
"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

Verrouillé

Revenir vers « (Js) Javascript »