[Résolu] Lutter contre les collider trop fin?

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Beogus
Messages : 13
Inscription : 29 Mars 2021 17:42

[Résolu] Lutter contre les collider trop fin?

Message par Beogus » 11 Déc 2021 02:58

Bonsoir tout le monde,

Dans un premier temps, j'espère avoir poster dans la bonne catégorie, ne s'agissant pas réellement d'un script mais pouvant bifurquer dessus en fonction des réponses, je ne savais pas trop où le mettre.

Alors voila, je suis confronté à un problème assez récurant : Certains de mes objets les plus petits passent, de temps en temps, à travers le sol lorsque je les lâche ou les lance.

Suite à de nombreuses recherches, une solution ressort constamment et semble faire l'unanimité : Le collider est trop petit/fin et il faut donc l'agrandir.

ça peut en effet palier au problème et j'imagine que je devrais faire avec si je n'ai pas le choix, mais j'ai tendance à penser qu'il s'agit là plus d'un pansement (ou d'une cale ajouté à un meuble bancal) que d'un réel remède (ou d'une réparation en bonne et due forme si on suit la métaphore du meuble :gene:).

Enfin voila, je me demandais donc si quelqu'un savait comment régler le problème (et voulait bien partager le secret :D ) , ou si il est réellement impossible de faire en sorte qu'un trop petit collider ne passe de temps en temps entre les mailles du filet et ne traverse le sol (de manière suffisamment simple pour que ça vaille le coups de le faire)?
Dernière édition par Beogus le 11 Déc 2021 17:07, édité 1 fois.

Avatar de l’utilisateur
jmhoubre
Messages : 859
Inscription : 05 Oct 2019 22:05

Re: Lutter contre les collider trop fin?

Message par jmhoubre » 11 Déc 2021 12:26

Bonjour,

je n'ai pas de solution miracle. J'agis seulement sur le paramètre Collision Detection du rigidbody :
Documentation a écrit :Collision Detection
Used to prevent fast moving objects from passing through other objects without detecting collisions
.
- Discrete Use discrete collision detection against all other Colliders in the Scene
. Other colliders will use discrete collision detection when testing for collision against it. Used for normal collisions (This is the default value).
- Continuous Use Discrete collision detection against dynamic Colliders (with a Rigidbody) and sweep-based continuous collision detection
against static Colliders (without a Rigidbody). Rigidbodies set to Continuous Dynamic will use continuous collision detection when testing for collision against this rigidbody. Other rigidbodies will use Discrete Collision detection. Used for objects which the Continuous Dynamic detection needs to collide with. (This has a big impact on physics performance, leave it set to Discrete, if you don’t have issues with collisions of fast objects)
- Continuous Dynamic Use sweep-based continuous collision detection against GameOjects set to Continuous and Continuous Dynamic collision. It will also use continuous collision detection against static Colliders (without a Rigidbody). For all other colliders, it uses discrete collision detection. Used for fast moving objects.
- Continuous Speculative Use speculative continuous collision detection
against Rigidbodies and Colliders. This is also the only CCD mode that you can set kinematic bodies. This method tends to be less expensive than sweep-based continuous collision detection.

Beogus
Messages : 13
Inscription : 29 Mars 2021 17:42

Re: Lutter contre les collider trop fin?

Message par Beogus » 11 Déc 2021 17:06

Merci beaucoup, la réponse était en fin de compte sous mon nez.

je dois avouer que j'ai tendance à ne pas lire les documentations anglaises, et m'oriente plus exclusivement sur du français. ça m'apprendra à ne pas faire l'effort, surtout qu'avec la traduction intégrée, je n'ai pas vraiment d'excuses.

Merci encore et navré pour le dérangement, ça m'aura au moins servi de leçon, je serais plus vigilant désormais. ;-)

Avatar de l’utilisateur
jmhoubre
Messages : 859
Inscription : 05 Oct 2019 22:05

Re: [Résolu] Lutter contre les collider trop fin?

Message par jmhoubre » 11 Déc 2021 18:42

Ce serait pas mal de donner la réponse, quelqu'un peut avoir le même problème.
Beogus a écrit :
11 Déc 2021 17:06
Merci beaucoup, la réponse était en fin de compte sous mon nez.

Beogus
Messages : 13
Inscription : 29 Mars 2021 17:42

Re: [Résolu] Lutter contre les collider trop fin?

Message par Beogus » 13 Déc 2021 16:13

Ha, désolé je me suis mal exprimé, j'entendais par là, que ce que tu m'as fourni avait réglé le problème, j'étais trop focalisé sur les collider, et j'étais complétement passé à côté de cette option lié au rigidbody.

Il m'aurait donc suffit de lire les descriptions anglaises des options liées à la détection de collision. :gene:

j'ai donc passé les objets les plus rapides en "Continuous dynamic" et les objets les plus petits en "continuous"

Répondre

Revenir vers « Unity le logiciel »