La physique

Simulation physique

Précédent

La simulation physique est assurée grâce au moteur de physique Bullet, qui est implémenté dans Blender. Ce moteur de physique est très connu et utilisé dans beaucoup de jeux vidéos. Il permet de simuler des contacts et chocs entre corps non déformables.

Il va nous falloir déclarer :
    • la forme des objets,
    • la façon dont ils se comportent,
    • les couplages entre objets.

 

Forme (« shape »)

En ce qui concerne la forme, le logiciel ne peut pas se fier à la définition géométrique des objets, car un cercle est réduit en segments de droite, une sphère en face planes, etc, ce n’est pas très précis. Pour l’affichage c’est suffisant, mais pour la physique, il faut quelque chose de parfait.

Il faut donc déclarer une « forme physique » qui va supplanter la forme géométrique, pour la simulation physique.

En contre-partie on a un choix limité : « box » (boîte, en fait parallélépipède), sphère, cylindre, cône, tore.

Le choix « convex-hull » signifie : « ben, je n’ai pas de forme géométrique simple à déclarer, fais-moi le calcul avec la définition géométrique, fût-elle réduite en segments de droite et en facettes planes ». Non seulement le résultat ne sera pas parfait, mais il va coûter cher en temps calcul. D’autre part, Blender va « convexifier » les volumes : une patate avec des concavités sera simulée concavités bouchées.

On n’a recours à cette solution que si on ne peut pas faire autrement.

Dans le cas présent, j’ai fait :
    • le sol, les dominos, les barres bleues de guidage de la boule, les barres des tourniquets : « box »,
    • la boule : sphère,
    • les poteaux des tourniquets : cylindres.

 

Comportement

Il y a un grand nombre de comportements possibles, je n’ai utilisés que les deux suivants :
    • le sol, les barres de guidage bleues, les poteaux des tourniquets : rigid body, passive,
    • la boule, les dominos, les barres des tourniquets : rigid body, active.

Dans le cas des rigid bodies active, il faut spécifier une masse. J’ai mis 10Kg pour les dominos et pour la boule.

J’ai également modifié la bounciness des objets qui s’entre-choquent : faculté de rebond. C’est un coefficient entre 0 et 1, par défaut il y a 0, qui correspond à aucun rebond. La valeur de 1 correspond à un rebond élastique parfait. J’ai mis une valeur de 0.5 qui me semble correspondre à un meilleur réalisme.

 

Couplage

On peut déclarer des couplages entre objets. Ici, il nous faut déclarer que les barres des tourniquet sont contraintes à tourner autour de leur axe vertical, lié à leur support, les poteaux cylindriques bleus.

Il faut déclarer des objets de type couplage, qui ne seront pas visibles dans la vidéo, mais qui servent à réaliser les couplages physiques. Pour chacun de ces couplages ainsi créés, on déclare les objets qu’il contraint.

Ici, j’ai créé un couplage de type « hinge » (charnière, axe de rotation), pour les barres des tourniquets, couplées avec leur poteau support.

En revanche, ici, ne pas utiliser le copier/coller, ce n’est pas un « copier profond », ça ne marche pas. Vous devrez faire ces déclarations une par une.

Il y a bien d’autres type de couplage : glissière, moteur, piston, « servo » (asservissement de position).

  Suivant