[RESOLU] Rigidbody, kinematic et collision

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Fanj
Messages : 3
Inscription : 19 Juin 2017 23:06

[RESOLU] Rigidbody, kinematic et collision

Message par Fanj » 19 Juin 2017 23:38

Bonjour,

Je débute avec Unity. J'ai décidé de commencer avec un projet de "Pong" (en 2D).

Actuellement, ma scène ressemble à ça :
Image

Un "Physic material" est appliqué aux deux "raquettes" et aux blocs "Cube" du dessus et du dessous (que je vais appeler mur par la suite). Il permet le rebond de la balle (dynamic&static friction = 0, bounciness = 1, friction combine = minimum, bounce combine = maximum).

Les raquettes possèdent un "box collider" et un "rigidbody", et sont déplacées grâce à la méthode "rigidbody.MovePosition". La balle possède un "sphere collider" et un" rigidbody". Les murs possèdent un "box collider".

J'aimerais obtenir :
  • Un rebond parfait de la balle sur les raquettes
    Une "collision" entre les murs et les raquettes, pour empêcher les raquettes de sortir de la zone de jeu.
Le problème, c'est qu'en cochant "is kinematic" pour les raquettes, j'obtiens :
  • Un rebond parfait de la balle sur les raquettes
    Pas de collision entre les murs et les raquettes
Et sans cocher "is kinematic" :
  • Pas de rebond de la balle sur les raquettes
    Collision entre les murs et les raquettes

J'aimerais donc savoir ce qu'il faudrait que je fasse pour obtenir le résultat que je souhaite.

Merci d'avance pour votre réponse.
Pièces jointes
Sans titre.png
Sans titre.png (6.64 Kio) Consulté 3903 fois

Avatar de l’utilisateur
Aiyor
Messages : 24
Inscription : 14 Juin 2017 12:08

Re: Rigidbody, kinematic et collision

Message par Aiyor » 20 Juin 2017 10:45

Salut,

Je suis aussi débutant, donc j'espère ne pas dire de bêtises mais, je crois que tu devrais simplement mettre ton physic material "Bounce" sur ta balle uniquement et non sur tes mur et raquettes.

Fanj
Messages : 3
Inscription : 19 Juin 2017 23:06

Re: Rigidbody, kinematic et collision

Message par Fanj » 20 Juin 2017 11:22

Avec "is kinematic" coché, ça ne change rien. Sinon, c'est un peu mieux, mais le rebond n'est pas parfait. En effet, la balle fait bouger les "raquettes" lors de la collision. J'ai essayé de rajouter des "freeze position" et des "freeze rotation" (en laissant la liberté de changer la position en y), mais la balle donne une impulsion verticale à la raquette.

Il faudrait peut-être trouver un moyen pour empêcher le transfert d'énergie ?

Avatar de l’utilisateur
Greg
Messages : 156
Inscription : 08 Mai 2017 15:22

Re: Rigidbody, kinematic et collision

Message par Greg » 20 Juin 2017 11:51

Bonjour,
il faut augmenter le poids des raquettes ou baisser celui de la balle (mass sur le rigidbody) et ne pas activer kinematics.

wikipedia kinematics :
"kinematics est une branche de la mécanique classique qui décrit le mouvement des points, des corps (objets) et des systèmes de corps (groupes d'objets) sans considérer la masse de chacun ou les forces qui ont provoqué le mouvement."

:merci:
Mon jeu de développement cellulaire : MICROBIOME (encore quelques bugs...)
(merci bien à ceux qui passent mettre des étoiles ! ^^)

Fanj
Messages : 3
Inscription : 19 Juin 2017 23:06

Re: Rigidbody, kinematic et collision

Message par Fanj » 20 Juin 2017 12:51

Ça fonctionne ! Merci beaucoup !

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: Rigidbody, kinematic et collision

Message par E3DStef » 20 Juin 2017 20:17

Merci de mettre le sujet en résolu ^^
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Répondre

Revenir vers « Unity le logiciel »