Accueil » Rédactions » Golaem : retour sur le simulateur de foules Golaem Crowd

Golaem : retour sur le simulateur de foules Golaem Crowd

Golaem

La société Golaem développe le simulateur de foules Golaem Crowd, utilisé notamment par Mikros Image. Cet été, la version 2.0 était dévoilée lors du SIGGRAPH ; nous avons profité de cette mise à jour pour faire le point sur le logiciel en compagnie des développeurs.

L’occasion de revenir sur les possibilités de Golaem Crowd, mais aussi ses forces et faiblesses par rapport à la concurrence, son intégration dans un pipeline ou encore quelques exemples concrets d’utilisation en production.

 

3DVF : Bonjour, et merci d’avoir accepté cette interview. Pour commencer, pouvez-vous nous présenter brièvement la société Golaem et son histoire, ainsi que son produit phare Golaem Crowd ?

Golaem : Golaem développe des logiciels de simulation de foules. Ses logiciels incluent des solutions d’animation, de navigation ou de description de comportements, pouvant être utilisées avec un seul personnage, ou jusqu’à des foules massives.
Golaem est issue de la volonté de Stéphane Donikian, alors Directeur de recherche à Inria Rennes Bretagne Atlantique, de valoriser les travaux de recherche de son équipe. La société a été créée en 2009, et emploie aujourd’hui 13 personnes.
Golaem Crowd, permet aux studios d’effets spéciaux de créer facilement des foules et du public d’arrière-plan pour des publicités, des séries télévisées ou des films. Son développement est né de la rencontre avec Mikros Image qui cherchait à développer une solution de foule directement utilisable par ses artistes. Notre but en créant Golaem Crowd était de démocratiser la production de foules en la rendant accessible à des artistes même non spécialistes.

Box

 

 

 

3DVF : La version 2.0 du logiciel a été dévoilée lors du SIGGRAPH ; quelles sont les nouveautés principales ?

Golaem : Elles sont nombreuses ! Tout d’abord nous avons cherché à faciliter la description des comportements en créant un éditeur nodal. Il est maintenant très simple de créer des comportements en faisant des glisser/déposer de behaviors préconfigurés. Ces behaviors sont un peu les briques de base des comportements des personnages. Golaem Crowd 2.0 propose de nouvelles briques, notamment celle permettant de réaliser des effets à partir de physique/ragdoll ou de créer des formations, par exemple pour des armées.


L’autre aspect sur lequel nous avons travaillé est l’accélération du workflow. Pour cela il est critique que l’artiste puisse obtenir très rapidement un aperçu du résultat, sans avoir à lancer le rendu. Tout d’abord, avec l’aide d’Intel,  nous avons optimisé et multithreadé le moteur de simulation, ce qui permet d’effectuer les simulations jusqu’à 15x plus rapidement. Nous avons également ajouté un aperçu de la géométrie des personnages directement dans le viewport Maya. Ces ajouts vont dans le sens d’un processus déjà enclenché avec la version 1.5 dans laquelle nous avions ajouté la possibilité de lancer un rendu directement dans Maya.

 

Ci-dessous, l’éditeur de Behavior le lancement d’un rendu (ici, sous mental Ray) depuis maya.


Behaviour

 

 

Golaem Maya

 

3DVF : Des alternatives sérieuses existent sur le marché des simulateurs de foule, comme le célèbre Massive. Comment vous positionnez-vous par rapport à la concurrence ? Quelles sont vos forces ?

Golaem : Nous avons une vision très différente de la concurrence, car notre but est de rendre la simulation de foule plus facile à réaliser, alors que les outils existants sont souvent complexes et nécessitent d’être pris en main par des spécialistes. Cette vision impacte tout le logiciel.
L’impact principal est le choix de faire un plug-in intégré à Maya, afin de permettre aux artistes d’utiliser les outils dont ils ont l’habitude et d’éviter les multiples allers-retours entre deux logiciels, qui sont toujours problématiques.

Plus généralement, notre but n’est pas de simplement fournir une boite à outils, mais bien des outils préconfigurés et prêts à utiliser. Par exemple, notre moteur d’animation permet sans rien avoir à configurer de calculer automatiquement les transitions entre mouvements, de les mélanger, et de les rejouer sur des morphologies différentes (retargetting). Cela réduit le nombre de mouvements nécessaire et évite d’avoir à décrire tout un graphe de mouvements. Le moteur d’animation de Golaem peut également adapter automatiquement les pieds des personnages au relief du sol. Nous fournissons également des algorithmes préconfigurés pour le path-finding et la navigation.

Enfin, nous consacrons une attention particulière à la variété des personnages composants la foule. Il est possible de créer simplement des variations dans la foule, que ce soit niveau des assets (vêtements, accessoires…) ou des shaders (textures, teinte…). C’est pour nous une partie très importante d’un logiciel de foule et nous mettons un point d’honneur à ce que ce soit configurable sans avoir à recalculer la simulation. C’est la même chose pour les caméras et les lumières. Nous voulons qu’une fois la simulation validée, les artistes puissent continuer d’itérer sur la scène et tester différentes configurations très rapidement.

3DVF : Inversement, y a-t-il des marchés ou types de projets pour lesquels vous ne cherchez pas à entrer en concurrence avec un produit comme Massive ? Lesquels ?

Golaem : Ce n’est pas parce qu’on cherche à faire un logiciel simple qu’on ne cherche pas à le rendre puissant et polyvalent.
Etre intégré dans Maya ouvre déjà de nombreuses possibilités car les artistes peuvent utiliser les outils de Maya, en plus de ceux de Golaem Crowd,  pour contrôler nos personnages. Nous prenons également soin de laisser de nombreuses portes d’entrée aux utilisateurs plus avancés. Le plug-in fournit une API Mel/Python, ainsi que des hooks sur chaque comportement ou trigger pour venir insérer son propre code si besoin.
De ce fait, Golaem Crowd n’a pas vocation à être limité à certains types de projets ou de marché.


Ci-dessous, démo Fortress présentée lors du SIGGRAPH 2012.

Golaem

3DVF : Quelles sont les compatibilités actuelles de Golaem Crowd en ce qui concerne les moteurs de rendu ? Comptez-vous allonger la liste ?

Golaem : Golaem Crowd est compatible avec Pixar’s Renderman et les renderer compatibles REYES  (dont Guerilla Render !), Mental Ray, V-Ray et 3Delight. Il est possible d’utiliser à chaque fois la version standalone, ou la version intégrée à Maya (dans la render window, ou en mode batch).
En ce qui concerne Renderman, Golaem Crowd est même compatible avec l’offre Renderman-on-demand. Plusieurs de nos démos ont ainsi été rendues sur le Cloud.
Arnold est très populaire en ce moment. Nous sommes impatients de voir sortir leur translator pour Maya (MtoA) pour ajouter la compatibilité avec ce moteur. Certains studios, comme Mikros Image, ont déjà codé leur propre plug-in Golaem Crowd pour Arnold.


Publicité réalisée par Mikros Image pour Orange. Environ 2000 figurants simulés.

Ci-dessous, démo Fortress Assault, présentée lors du SIGGRAPH 2012.

 

3DVF : De quelle façon Golaem Crowd s’insère-t-il dans un workflow de production ? Quelles sont notamment ses possibilités en termes de review ou d’export ?

Golaem : Étant entièrement intégré à Maya, l’utilisation de Golaem Crowd dans un workflow existant est aisée. Il s’agit tout d’abord de constituer une bibliothèque de personnages à l’aide de notre asset manager. Cette partie peut être réalisée par le modeleur ou l’animateur.  
Une fois la bibliothèque réalisée, il faut mettre en place chaque plan. Nous proposons divers outils de placement, et on peut ensuite décrire et simuler les comportements des personnages à l’aide de notre éditeur de comportements et des behaviors fournies. Si le plan est relativement simple cela peut être fait directement par les artistes (typiquement remplir un stade). S’il s’agit de refaire le Seigneur des Anneaux, l’intervention de TDs peut-être nécessaire.


La dernière partie consiste à faire le rendu. Nous proposons des plugins de rendu procéduraux pour les moteurs cités dans votre question précédente. L’avantage du rendu procédural pour de la foule est que nous nous contentons d’exporter un cache de particules (au format Disney PartIO) contenant les positions et postures des personnages. Chaque personnage (silhouette, posture, accessoires) est ainsi reconstruit au moment du rendu à partir de ces informations. Cela évite l’export de giga-octets de données de Maya vers le moteur de rendu, ce qui est long et coûteux (stockage, réseau…).


Il est donc possible de construire une scène de foule de manière itérative et donc de valider le plan étape par étape. Cette validation est d’ailleurs rendue encore plus facile avec le nouvel aperçu fourni dans le viewport par Golaem Crowd 2.0.
Concernant les exports, comme je vous le disais, il est possible de rendre directement depuis Maya, ou bien d’exporter un fichier au format du moteur de rendu (.rib, .mi, .vrscene…) pour faire un rendu en standalone. Comme je vous le disais précédemment, notre simulation est indépendante du point de vue de caméra ou du lighting. Il est donc possible de les modifier et de relancer un rendu sans avoir à relancer une simulation.

Ci-dessous, un workflow complet d’utilisation en vidéo :

 

Workflow

 

A Lire également