Problème de raycast qui ne détect pas toute les colisions

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
megablast2
Messages : 152
Inscription : 15 Août 2013 16:47

Problème de raycast qui ne détect pas toute les colisions

Message par megablast2 » 16 Fév 2022 10:37

Bonjour,
Je suis en train de faire un petit pathfinding et globalement tout marche bien, sauf que par moment, le raycast que j'emploi pour détecter des postions sur les objets ne détecte rien (la sphere ou se dirige toute les lignes, c'est juste un gizmo.sphere que j'ai mit au point (0,0,0) pour indiquer la position).

Image

Le problème viens surement du fait que j'utilise un raycast que je projet à la jonction de deux objets, du coup il doit traverser je suppose par moment. J'ai pensé a rajouter un vector3 qui décale légèrement la position en (x,z) pour que le rayon tape un objet de manière sur mais ça ne marche pas toujours. Comme j'utilise un mesh collider pour les escaliers, je ne peux pas l'éditer, sinon, je l'aurais legerement grossit pour que ça se chevauche je pense pour voir ce que ça donne. Vous auriez une idée pour gérrer ça? La je ne vois plus trop quoi faire pour être sur que ça ne revienne pas.

Code : Tout sélectionner

Vector3 _posRayMiddle = PosCurrentTile + (Direction / 2);
            _posRayMiddle.y += OffsetY;
                                            
            Ray ray = new Ray(_posRayMiddle, -Vector3.up);
            
            if (Physics.Raycast(ray, out hit, MaxDistance))
            {
                posMiddle = hit.point;
            }     
Bonne journée,

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Problème de raycast qui ne détect pas toute les colisions

Message par Max » 16 Fév 2022 18:15

Bonjour,

tes Raycasts sont tirés à partir de la sphère ? C'est plutôt bas par rapport à ta scène non ?
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

megablast2
Messages : 152
Inscription : 15 Août 2013 16:47

Re: Problème de raycast qui ne détect pas toute les colisions

Message par megablast2 » 16 Fév 2022 20:03

non les sphere c'est juste pour montré ou est tombé le rayon, le raycast est bien plus haut. En fait le problème est plutot à la jonction des diagonales des pentes. C'est que je fait un autre lancé de rayon pour pour pouvoir gérrer les changement d'angle. Je nesais pas si c'est la meilleur solution mais je n'en ai pas trouvé d'autre.

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

Re: Problème de raycast qui ne détect pas toute les colisions

Message par boubouk50 » 17 Fév 2022 11:26

Si tu tires à la jonction le Raycast passe au travers?
C'est qu'il y a un jour entre les deux alors? (même infime)
Peut-être utiliser un sphereCast plutôt qu'un Raycast? Pour avoir un volume plutôt qu'un ray.
C'est sûrement plus gourmand par contre.
"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

megablast2
Messages : 152
Inscription : 15 Août 2013 16:47

Re: Problème de raycast qui ne détect pas toute les colisions

Message par megablast2 » 21 Fév 2022 10:35

C'est bizarre justement car je m'était dit aussi que je les avais mal placé et je les est tout vérifié niveau placement, mais a part une ou deux que j'ai remit correctement en place ça n'a rien changé. Merci pour la sphereCast, je ne connaissais pas du tout. Je vais essayer.

Répondre

Revenir vers « Scripting »