[ [ [ Skating Boat - Yannis Lehuédé

Le projet que voici est une expérimentation technique. Il s’agit de simuler un bateau. Pour réduire le champ d’application, ce ne fut pas un bateau qui vogue sur l’eau (une surface d’eau en 3D est très compliqué en soi), mais un véhicule à voiles muni de patins à glace. Cet engin est d’ailleurs le véhicule non-motorisé le plus rapide au monde !

Le projet était de réaliser des systèmes automatisés pour gouverner l’engin, à la manière d’un rig (ensemble de mécanismes appliqués sur le squelette d’un personnage, ses contraintes... pour faciliter la tâche d’animation). Il a été réalisé avec Maya.

Après avoir modélisé les parties fixes du "bateau", avec polygones, le but premier a été d’animer la baume, la barre qui pivote autour du mat, autour desquelles est attachée la voile (en Cloth Simulation, simulation de vêtements). Ensuite, il a été nécessaire de créer une structure de cordages attachés à ces éléments fixes (bateau, mat) et mobile (baume).

Les différentes parties mécaniques des structures mobiles du bateau sont articulées avec des "bones" (des os virtuels de squelette) avec des contraintes les empêchant de se déplacer ou pivoter au-delà d’un certain degré. Les éléments comme les poulies ou les cordages ont ensuite été attachés à ces éléments.

Les cordages qui peuvent se déformer (sous la voile, à l’opposé de la structure du haut du mat), sont composés de nombreux bones pour permettre une courbure.

D’autres sortes de cordages ont été expérimentés et mis en place dans ce projet. Nous allons le voir dans un second temps.

Pour les parties mécaniques, des interfaces ont été réalisées (avec le système de script de Maya, MEL) pour permettre de regrouper les contrôles de ces éléments, d’appliquer des formules mathématiques et éviter de devoir animer chaque élément. La possibilité de sauver la position ou la rotation des éléments à chaque instant est également accessible dans ces interfaces.

Pour simuler les cordages, nous avons évoqué ceux composés de "colliers" de bones, c’est une méthode facile pour ceux qui ont des mouvements limités. En effet, plus il y a d’axes de rotation et de déplacement,s il faut soit animer manuellement ces points, ou écrire une expression mathématique qui calcule un point intermédiaire.

Il existe d’autres solutions pour plus de liberté. Une deuxième consiste à dessiner un tracé sur un plan, là où on désire placer un cordage. Avec le logiciel 3D, on "saupoudre" le tracé de particules de manière uniforme sur toute sa longueur.

L’intérêt des particules est qu’elles peuvent se déplacer librement (ou moins si on leur applique des contraintes basées sur les lois de la physique). Nous pouvons donc créer un grand nombre de particules sans avoir à se préoccuper de chacune. Pour notre cordage, on relie par un "ressort virtuel" les particules voisines les unes des autres. Nous obtenons une chaine de particules reliées par des ressorts. La difficulté ici est de bien régler l’élasticité des ressors pour conférer à l’ensemble une animation de corde.

Ainsi, avec cette méthode, il suffit d’animer les points de la corde que nous désirons déplacer, et le reste suit le mouvement. Les particules peuvent en outre être soumises à des forces comme la gravité, le vent, des turbulences, sans que les points de contrôle en soient affectés.

Une troisième méthode d’animation de corde est de créer un morceau de ruban en "cloth simulation". Les mouvements du ruban suivront les forces mises en présence dans le système de simulation. La difficulté ici réside également dans le paramétrage de l’élasticité et la résistance du tissu, selon l’échelle.

Pour l’apparence physique de la corde, on peut contraindre un tube aux déplacement d’une courbe 3D qui suit les points du ruban ou conserver le ruban lui-même, mais il peut subit des torsions indésirables..

Voilà ci-dessous les trois exemples de cordages, avec l’affichage des structures de leur fonctionnement.

Ensuite, la voile a été réalisée en "cloth-simulatiion", réagissant ainsi à l’influence du vent, mais aussi aux turbulences d’air qu’on a pu lui ajuter, ainsi qu’aux accélérations et changements de direction du véhicule.

Enfin, d’autres éléments de cordages ont été attachés sur la voile (les ris) ainsi que des sytèmes d’éjection de particules à partir des patins de l’engin (pour créer de la fumée et l’éjection de matière du sol). Les ris ont directement été attachhés à es pooints sur la voile, et régis comme des éléments de "cloth-simuation". Ainsi, la voile peut bouger librement, il n’est pas nécessaire de s’occuper manuellement de ses mouvements, et les ris ont leur liberté propre.

Les différents systèmes de particules éjectées des patins servent aux petits blocs de glace et à la fumée. Ils sont éjectés en fonction de la vitesse de l’engin, de l’orientation de chaque patin en fonction de la direction de l’engin. Avec ce système apppelé "rig" poour le bateau, il est désormais poossible de se focaliser sur l’animmation générale du bateau, à la manière d’un marin, ou du pilote, et tous les détails techniques sont automatisés.

Ici est présenté un test d’affichage des particules de fumée comme trainée des patins du véhicule. Evidemment, cet illustration ne saurait être suffisante à elle toute seule, il faut y ajouter des "morceaux" de glace, et ajuster la transparence de cette fumée.

Et voilà, quelques rapides aperçus de l’utilisation du "rig" pour l’animation du bateau.

et aussi :

Archives