La question des engrenages entrainés par un moteur pose des problèmes spécifiques à la nouvelle version de Unity, lorsqu’il s’agit de créer un moteur, gérer de la physique et réaliser des entrainements.
Les problèmes viennent de la gestion des formes concaves, ou assimilées comme telles.
La zone située entre les dents de l’engrenage est considérée comme convexe. Il faut résoudre ce problème.
Dans Sketchup, on crée un cercle avec 12 côtés.
Extrusion en préservant des segments pour la séparation à venir.
Séparation de la dent.
Copie des dents. (Rotation + CTRL, puis X 11)
L’engrenage est légèrement modifié pour favoriser les accroches.
Chaque composant est groupé.
Exportation au format FBX
Le modèle est importé dans Unity.
Chaque élément géométrique composant le rouage doit être déclaré comme « Mesh Collider Convex »
Ensuite, le composant « Physics » peut être placé à la racine de l’engrenage, puis le composant « Hinge ». Cocher le moteur et donner une vitesse.
Tester : l’engrenage tourne.
On ajoute ensuite un deuxième engrenage par copie. Il faut désactiver le moteur afin que ce 2ème engrenage soit bien entrainé par le premier.
Vérification
Ajout d’un troisième.
Vérification.