2017-09-18 2 views
0

J'ai un utilisateur qui navigue et entre en collision avec un corps rigide. Je voudrais qu'un objet glisse le long de l'autre quand la collision se produit. Il se comporte de cette façon lorsque le paramètre isKinematic n'est PAS coché. Cependant, l'objet se déplace ensuite. Je voudrais que l'objet reste en place lorsqu'il est en collision avec. Lorsque je désactive isKinematic, l'utilisateur peut naviguer dans le corps rigide, ce qui ne devrait pas arriver. Des idées pour résoudre le problème?Unity Collisions - isKinematic permet à des objets de passer par

Pour le moment, je n'ai aucun script associé au corps rigide.

+0

[Lorsque 'isKinematic' est coché, les forces, les collisions ou les articulations n'affecteront plus le corps rigide.] (Https://docs.unity3d.com/ScriptReference/Rigidbody-isKinematic.html) – Hellium

Répondre

0

Si un objet est en mouvement et l'autre doit être statique:

  • collisionneur modèle du solide indéformable + pour l'objet en mouvement
  • modèle du solide indéformable (isKinematic) + Collider pour l'objet statique

Donc, fondamentalement, il vous manque les Colliders pour éviter que GameObjects ne se traversent

+0

J'ai essayé d'utiliser ces réglages mais m en cours d'exécution dans un problème avec l'objet en mouvement. J'ai eu une erreur que Unity ne supporte plus les collisionneurs de maille non convexes avec des corps rigides non cinématiques. Quand j'ai fait le collisionneur de maille convexe, l'objet tombe à travers l'espace. Je veux que l'objet ne bouge que lorsqu'il est initié par l'utilisateur. – Sophie

+0

mais quel type de collision utilisez-vous? Quelle est la forme de l'objet que vous voulez déplacer? –

+0

On a un collisionneur de maille et on a un collisionneur de capsule. La première est une forme carrée et la seconde une capsule. – Sophie