Peupler des mondes 3D avec Golaem

Bienvenue à tous. Bienvenue au webinaire Autodesk® sur la façon de peupler des mondes 3D avec Golaem, un plugin pour Maya®. Pour la prochaine heure, c’est votre moment pour apprendre, vous connecter et poser des questions. Comme je l’ai dit auparavant, n’hésitez pas à dire bonjour dans le chat. Faites-nous savoir d’où vous nous rejoignez aujourd’hui. Aujourd’hui, nous avons Nicolas Chaverou avec nous. Il a cofondé Golaem et est maintenant le chef de produit Golaem chez Autodesk®. Dans ce webinaire, il va partager comment vous pouvez utiliser Golaem pour créer plusieurs personnages animés, de quelques-uns à des milliers, pour vos scènes. Alors, c’est super. Je vais passer la parole à Nicolas et plonger dans tout ce qui concerne Golaem.

Excellent. Bonjour ou bon après-midi à tous. Et merci pour l’introduction, Lucas. Et aussi, oui, donnez-moi quelques recommandations de films dans la boîte de chat parce que j’ai besoin de regarder un film et je n’ai aucune idée pour ce soir. Oui, je faisais partie de l’équipe Golaem et maintenant je suis PM pour Golaem. Et juste avant de plonger dans Maya® et de vous montrer à quoi ressemble le flux de travail pour Golaem, quelques diapositives si vous n’avez jamais entendu parler de cela. Nous sommes donc, quand nous avons commencé ce produit, c’était en 2011, donc nous travaillons sur cela depuis toutes ces années et ici vous pouvez avoir une idée des différents projets qui ont été utilisés, des projets d’animation aux émissions de télévision, en passant par les mains basses et hautes. Notre motivation quand nous avons commencé avec cela était de rendre la foule disponible pour la majorité des studios, que vous soyez un studio de twman dans un garage ou un studio haut de gamme réalisant des films très chers. Nous voulions que le logiciel soit suffisamment polyvalent pour que vous puissiez vous plonger dedans. C’est pourquoi nous avons commencé avec un plug-in pour Maya®, et c’est toujours ce qu’il est aujourd’hui. Juste aussi, vous savez, quelques clients qui ont utilisé Golaem ces dernières années aussi. Et bien sûr, une bobine vraiment rapide, juste quelques secondes pour vous donner une idée de ce dont nous parlons quand nous parlons de foules. Ce n’est pas nécessairement des personnages en arrière-plan dans la profondeur de champ et flous. Maintenant, les foules ont tendance à être vraiment proches de la caméra, presque à interagir avec les personnages en prise de vue réelle. Et bien sûr, ils bougent surtout. Mais vous pouvez penser à une façon de gérer beaucoup de données, beaucoup de personnages de manière générale. Ces personnages peuvent être des humains, des voitures, des animaux, tout ce qui doit interagir et se déplacer. C’est un bon exemple d’une voiture comme celle qui a été filmée sur John Week et toutes les voitures étaient contrôlées par Golaem et bien sûr elles avaient de la physique et plein d’autres choses. Alors, allons-y. Plongeons dans Maya® et voyons à quoi cela ressemble si vous deviez l’utiliser pour votre propre usage. Comme je l’ai dit, c’est un plug-in pour Maya®, donc cela signifie que vous pouvez importer vos propres personnages et vos propres mouvements dès qu’ils peuvent être importés dans Maya®. Et ici, supposons que j’ai déjà converti mon personnage et supposons que je veuille peupler cet environnement. Au fait, vous pouvez dire que je ne suis pas un artiste, c’est moi qui modélise ici. Mais supposons que ce soit un environnement dans lequel je veux mettre des centaines de personnages, comme se déplacer, s’éviter les uns les autres, éviter ces cubes qui seront des obstacles, jouer gentiment les uns avec les autres, être réalistes, et tout cela dans les 20 prochaines minutes. Alors, oui, laissez-moi vous donner une idée de la facilité et de la polyvalence, ce que j’ai revendiqué lorsque nous avons commencé cette session. Ici, je vais commencer par calculer un terrain car il y a effectivement ces obstacles que je veux prendre en compte. Il y a une pente ici, il y a des limites de l’environnement, donc je veux que mes personnages en tiennent compte. Ma première étape sera donc de calculer ce que nous appelons le maillage de navigation. J’ai donc l’étagère Golaem ouverte ici et tous les boutons que vous avez ici sont généralement utilisés dans l’ordre de réalisation de vos plans. Vous avez la préparation des données ici, l’importation des personnages, le comportement, les outils de comportement, l’exportation, l’éclairage, l’ombrage, le rendu. Donc, tout le flux de travail est présenté à travers cette étagère et je n’aurai pas à plonger dans le menu, je vais juste rester sur l’étagère ici. Je veux calculer le maillage de navigation, qui est une représentation de mon terrain qui connaît les zones disponibles et les obstacles. Il va me demander quelques paramètres une fois la géométrie sélectionnée, comme quelle est la hauteur maximale de la marche. Disons que les personnages seront d’énormes créatures, vraiment grandes. Peut-être que c’est juste quelque chose sur lequel ils vont marcher et je ne veux pas discriminer ce cube. Mais si mes personnages sont plutôt petits, bien sûr, je veux que cela soit pris en compte et je veux qu’ils contournent. Je vais aussi donner la distance entre deux murs pour considérer si je peux passer par ce couloir ou non, une hauteur sous plafond et une pente. Vous pouvez voir que cela est en unités de mètres, mais nous avons un moyen de contrôler le type d’unité que nous voulons utiliser ici. Ici, nous allons simplement considérer que dans Maya®, un cube qui est 111, donc une grille sera d’un mètre. Mais bien sûr, selon la façon dont votre studio travaille ou vous-même travaillez, vous pouvez changer cela. Donc, je vais rester avec cette valeur par défaut et demander de calculer le terrain. Vous pouvez voir qu’il a traité pendant quelques secondes et à la fin, il vous montre ces lignes vertes qui sont les obstacles du terrain qui seront connus des personnages et nous pouvons avoir autant de terrains que nous le souhaitons. Nous pouvons assigner des terrains à divers personnages. Si nous avons des oiseaux volants, ils auront une représentation différente de l’environnement. Si nous avons des voitures, nous aurons une autre représentation et les humains utiliseront ou les personnages se déplaçant dans cette zone auront cette représentation. Le nœud de terrain apparaît maintenant, c’est un nouveau nœud dans votre scène qui est juste là et ils seront connectés à tous les personnages dès que vous commencez à peupler. Ensuite, laissez-moi décider quel type de personnages je veux amener dans cette scène. Comme je l’ai dit, j’ai déjà converti quelques personnages Maya® au préalable et je vous donnerai un aperçu rapide de la façon de convertir un personnage. Mais ici, j’ai déjà prédéfini un personnage d’homme casual. Alors, laissez-moi l’importer pour que nous puissions nous faire une idée de son apparence. Laissez-moi obtenir le préréglage. Oups. Et voici. Mon personnage est là. C’est un personnage vraiment bas de gamme, c’est juste une modélisation rapide que nous avons faite avec quelques accessoires empilés dessus. Mais gardez à l’esprit que bien sûr, vous pouvez apporter vos propres personnages. Vous avez vu, vous savez, les Tortues Ninja animées, ils ont leur propre type de personnages. Vous avez vu John Wick, ils ont leur propre type de personnages et de mouvements. Donc, vous pouvez bien sûr apporter les vôtres. Ici, c’est juste un préréglage que je montre. Donc, ce personnage a des os, une géométrie skinée par-dessus, il a différents accessoires empilés dessus. Il y a un short, un pantalon long. Vous pouvez donc dire que de ce personnage, je peux probablement faire quelques variations. Alors, laissez-moi vous montrer comment nous avons prédéfini cela. Je peux sauter dans le préréglage que je viens de charger dans ma scène. Et je peux étendre le fichier. Un personnage Golaem, chaque fois que vous devez apporter votre propre personnage, un personnage Golaem ressemblera à ceci. Nous aurons d’abord une présentation du squelette, qui est ici, vous pouvez voir que c’est un système nodal. Il nous permet de pouvoir prendre en compte n’importe quel type de personnage. Cela peut être une araignée, une voiture, un vaisseau spatial, un humain. Il s’agit simplement de connecter les nœuds. Et puis nous avons donc cela pour le squelette. Ensuite, nous avons une représentation géométrique. Donc, nous allons dire ici, par exemple, que ce personnage a un groupe de sous-vêtements. Et dans le groupe de sous-vêtements, il y a soit une géométrie de t-shirt. Donc, le t-shirt est composé d’un maillage de t-shirt et du corps et d’un sweat-shirt. Et vous pouvez voir qu’il y a des poids ici qui indiquent que nous allons faire une variation pour ce personnage. Certains personnages porteront un sweat-shirt, d’autres un t-shirt et vous pourrez contrôler ce poids si vous le souhaitez. Vous faites cela pour le manteau, pour le pantalon, probablement pour les drapeaux pour dire soit vous avez des drapeaux, soit vous n’avez rien. Et vous allez finir et créer toutes vos variations dans ce panneau de gauche. Par exemple, ici, j’ai défini qu’il y aura une variation qui aura des sweat-shirts, des t-shirts. Donc, vous pouvez spécifier remplacer le système de poids ici, des pantalons longs, des pantalons courts mais pas de drapeau. Et j’ai créé une autre version ici qui a des poids différents mais ici des drapeaux. Je vais m’assurer que si j’assigne ce type à mes personnages plus tard, ils suivront ces règles. Et j’ai le contrôle. Ce sont des règles que vous fournissez à tout le monde. Mais bien sûr, vous pourrez remplacer n’importe quel personnage individuel plus tard si vous le souhaitez. C’est ainsi que le personnage est défini. Donc, ici, il a été défini. C’est si bien. Maintenant, nous pouvons passer à la génération de personnages autour. Passons à l’étagère et allons dans l’outil de population. L’outil de population me permettra de dessiner des zones ou de me connecter à la géométrie Maya® pour me connecter avec des zones. Je peux par exemple dessiner une boîte et dans cette boîte, j’ai des sous-positions que je peux augmenter en nombre. Ces positions connaîtront le terrain. Nous nous assurons donc de ne pas générer de personnages dans des zones qui ne sont pas disponibles et je pourrai bien sûr contrôler la distance. Ici, vous pouvez voir qu’il fait un motif de grille. Je peux juste ajouter du bruit, ce bruit peut aussi être ajouté à l’orientation ou à l’orientation. Je peux fournir une orientation générale pour tout le monde et une fois de plus, cela peut être contrôlé avec des outils de peinture si vous le souhaitez, avec ma géométrie, ce que vous voulez, mais ces positions et orientations vous indiquent qu’il y aura un personnage ici dans ces différentes positions à ces différentes orientations. Donc, quand je suis satisfait de cet outil, plaçons-le légèrement ici et là. Quand je suis satisfait de cet outil, je peux juste appuyer sur créer. Et maintenant, la prochaine fois que je lancerai la simulation, j’aurai tous mes personnages apparaissant à la bonne position et orientation. Ils suivent également les règles que je leur ai fournies. Donc, disons ici qu’ils portent tous des t-shirts. Disons que j’aimerais apporter des sacs à sweat-shirt. Augmentons le curseur du sweat-shirt. Enregistrons le fichier. Et la prochaine fois que je lancerai le soleil, vous pouvez voir qu’avec la même position et orientation, j’ai mes personnages changeant leur répétition d’actifs. Donc, un mot rapide sur ce qui se passe ici. Vous avez peut-être remarqué que j’ai presque 400 personnages dans la vue et que c’est toujours très interactif. Et aussi, si vous regardez l’organigramme, vous remarquerez qu’il n’y a pas de nœuds ajoutés. Il n’y a qu’un seul nœud qui gère tous ces personnages. Et la façon dont ils sont dessinés utilise un affichage GPU. Nous tirons donc parti de votre carte graphique pour afficher tous ces personnages dans la vue. Et ce qu’il fait réellement, c’est qu’il fait tout le skinning, toutes les variations de géométrie sur le GPU et les affiche. Cela signifie également que si, pour une raison quelconque, vous souhaitez rendre ce cadre. Ici, j’utilise Arnold. Oui, appuyons sur rendre. Comme il ne s’agit pas d’une géométrie Maya® réelle, vous n’aurez rien dans votre scène pour le moment. Donc, si nous voulons qu’Arnold en sache plus sur cette foule, nous devrons passer par une étape supplémentaire. Mais ce n’est pas une géométrie Maya® réelle. Il s’agit simplement d’un affichage que nous vous fournissons. Mais c’est une bonne façon de se faire une idée de ce qui se passe dans votre scène et de déboguer et d’itérer jusqu’à ce que vous trouviez que tout est correct. D’accord. Faisons apparaître ces personnages ici. Collons-les là et commençons à les faire bouger. Bien sûr, je pourrais créer d’autres zones. Je pourrais importer d’autres personnages, disons un personnage féminin ou peut-être un personnage canin chien et faire interagir toutes ces personnes les unes avec les autres. Mais je vais juste rester avec le personnage masculin pour l’instant. Assignons-leur un comportement. Passons avec l’étagère et ouvrons l’éditeur de comportement. En tant que TD de foule ou artiste de foule ou en faisant un chat de foule, c’est probablement l’outil sur lequel vous allez passer le plus de temps. Cet outil définit ce que les personnages vont faire pendant la durée de la simulation. Donc, la façon dont vous lisez cela est que sur le côté droit, vous avez votre et vous avez vos organigrammes concernant les foules. Donc, il vous dit combien de types de personnes vous avez dans votre scène. Donc, pour l’instant, je n’ai que mon type de personnage masculin, mais si j’avais une voiture, un chien, une femme, j’aurais une liste de tous ceux-là. Et si vous ouvrez l’un d’eux ici, il vous montrera le graphique de simulation. Donc, ce que les personnages feront pendant toute la durée de la simulation. Pour l’instant, il est vide et, vous savez, si je joue ce cadre pour cette simulation pendant quelques images, vous verrez que rien ne se passe, ce qui est attendu. Ensuite, vous avez vos organigrammes concernant ce qui se passe en termes de comportements, en termes de clips de mouvement. Je n’ai pas encore de clips. Et en termes de déclencheurs, nous parlerons des déclencheurs plus tard. Super. Vous avez cet espace dont j’ai parlé. Et ici, à gauche, vous avez votre bibliothèque des différents comportements et déclencheurs que vous pourrez glisser-déposer. C’est probablement là où nous nous différencions le plus des autres systèmes de foule. Nous avons pensé que la foule n’avait pas à être difficile à faire. Et ils tournent toujours autour des mêmes scénarios. Vous voulez faire une scène de bataille, vous voulez faire un stade, vous voulez faire une scène de trafic et de piétons, vous voulez peut-être faire un troupeau d’animaux, vous savez, se bousculer ou des poissons volant ou ce genre de choses. Donc, nous nous sommes dit, et si nous fournissions des comportements de niveau supérieur qui permettent d’atteindre rapidement ces objectifs et fournissons suffisamment de paramètres pour que vous puissiez changer et créer des variations facilement et rapidement. Donc, ces comportements ne sont que des actions que vous pouvez simplement glisser-déposer ici et assigner à votre flux. Par exemple, il y a une action qui dit d’aller quelque part. Aller quelque part signifie que nous pourrons analyser le terrain. Nous pouvons fournir quelques règles sur l’endroit où vous devriez aller, comme suivre une courbe, suivre un locateur, suivre un maillage, ce que vous voulez, juste calculer un chemin pour lui-même et suivre ce chemin. Ici, mon comportement « aller à » est un nœud Maya®. Il a donc un éditeur d’attributs avec quelques attributs que je peux utiliser. Je peux soit atteindre soit fuir. Je peux décider quel type de cible je veux. Par défaut, c’est une cible aléatoire. Et nous connaissons le terrain et les obstacles. Nous pouvons donc rapidement échantillonner le terrain ici et simplement mettre des positions aléatoires. Je vais donc rester avec cela pour l’instant. J’aimerais aussi que mes personnages s’évitent les uns les autres. Et la façon dont les humains ont tendance à éviter est vraiment spécifique, cela dépend de la densité, mais les humains ont tendance à approximer et extrapoler leurs trajectoires en fonction des autres. Nous avons donc implémenté cela, c’est issu de documents de recherche. Nous avons donc mis cela dans un comportement que vous devez simplement glisser-déposer. Et si je mets ces deux comportements au même endroit, maintenant j’ai « aller quelque part » et « éviter les autres » et éviter les obstacles. Le comportement d’évitement spécifie également la vitesse de mon personnage, l’accélération, à quel point les personnages sont audacieux ou agressifs. Et simplement en définissant ces deux comportements et en relançant la simulation, maintenant tous les personnages choisiront une cible aléatoire. Peut-être que l’aléatoire n’est pas intéressant, nous changerons cela plus tard, mais juste pour le bien de la démo, laissez-les aller autour. Ils s’évitent les uns les autres, ils évitent le bloc qui est ici, les différents obstacles, et quand ils atteignent leur cible, ils s’arrêtent. Nous pouvons remarquer ici et là qu’il y a des personnages qui s’arrêtent. Donc, disons que je ne suis pas content de cela, je ne veux pas qu’ils s’arrêtent, je veux qu’ils aillent à l’infini. Donc, peut-être que la première chose que je peux faire est d’essayer d’apporter certains des opérateurs que nous avons ici. Par exemple, il y a un opérateur qui signifie l’opérateur de boucle. Et ici, il dit que lorsque le comportement est terminé, veuillez le redémarrer. Et si nous redémarrons un comportement qui va quelque part au hasard, cela signifie simplement que nous allons choisir une autre cible encore et encore. Et ici, pendant toute la durée des 3 000 images, si je lance cette simulation maintenant avec l’opérateur de boucle, vous remarquerez que personne ne s’arrêtera jamais. Comme je l’ai dit, ce n’est pas vraiment intéressant. L’aléatoire, la plupart du temps, je veux contrôler où ils vont. Je peux créer un nœud cible. Donc, voici ma cible et ma cible peut avoir des sous-positions avec différentes distances. Super. Et je peux dire maintenant que je veux que mes personnages atteignent cette position. Pour ce faire, je vais simplement changer mon comportement « aller à » et dire que, au lieu d’aller au hasard, je veux utiliser un mode cible et la cible que je veux utiliser va être ce type-là. Et maintenant, vous aurez tous les personnages se rassemblant, prenant le chemin le plus court pour aller à leur position. D’accord. Oups. Et pour une raison quelconque, j’ai peuplé cette scène. Les voici. Maintenant, tous les personnages se rassemblent. Et si je veux que la moitié d’entre eux aillent n’importe où au hasard et que l’autre moitié aillent à la cible ? Faisons quelque chose de plus compliqué. Regroupons d’abord ce comportement « aller à », masquons la complexité et rétablissons cela pour aller au hasard avec la boucle. Et apportons un autre comportement, le comportement « aller à », et disons que je veux que celui-ci atteigne la cible que je viens de spécifier. Maintenant, nous avons deux choix : aller au hasard ou aller à la cible. Et nous voulons contrôler comment nous faisons ce choix. Nous avons donc différents nœuds pour cela, mais un nœud qui est super facile à utiliser sera le nœud aléatoire. Le nœud aléatoire me permet de connecter autant de sorties que je le souhaite. Et sur le nœud aléatoire, j’aurai le contrôle du poids pour choisir une flèche ou une autre. Ici, ce sera un et un, ce qui signifie que la moitié d’entre eux iront au hasard et l’autre moitié suivront les cibles. Et une fois de plus, la prochaine fois que je lancerai la somme, je peux vérifier comment cela se passe. Et si je veux obtenir de bonnes informations sur ce qui se passe, je peux cliquer sur un personnage à tout moment. Disons ce type ici, et je peux voir ce qu’il fait. Je peux voir ce qu’il voit d’abord, je peux voir les autres entités qu’il perçoit pour sa navigation, les obstacles s’il y en a. Nous pouvons voir que ce type, par exemple, voit ce coin qui est ici et il va l’éviter. Et nous pouvons aussi voir quel comportement est en cours de lecture. Et nous pouvons aussi voir cette information ici directement dans l’éditeur. Nous pouvons voir que ce bloc est vert, ce qui signifie qu’il a choisi cette direction. C’est pourquoi il va vers la cible que nous avons spécifiée. Si je choisis un autre personnage, disons ce type par exemple, il y a de fortes chances qu’il exécute ce autre comportement. À tout moment, vous pouvez surveiller ce qui se passe ici et déboguer votre scène, comprendre ce que vous avez fait de mal, pourquoi un personnage a pris une décision que vous ne comprenez pas. Vous pouvez simplement plonger dans tous ces outils et le découvrir par vous-même et le corriger. Super. Excellent. J’aime beaucoup. Mais qu’en est-il de l’animation ? Ces gars-là sont juste debout, non ? Ils sont en pose. Et le grand défi ici est qu’ils sont de tailles différentes. Certains personnages sont plutôt petits, d’autres plutôt grands, ils ont des vitesses différentes parce qu’ils doivent s’éviter les uns les autres. Ils doivent tourner parfois. Le terrain est légèrement irrégulier à certains endroits. Comment s’assurer que nous pouvons appliquer le bon mouvement au bon personnage sans avoir tous ces artefacts étranges comme les pieds qui glissent, les transitions de mouvement étranges, et bien sûr, nous ne voulons pas animer manuellement ces 400 personnages. Comment leur donner de l’animation ? Une fois de plus, nous fournissons un comportement pour cela, qui est le comportement de locomotion. Je vais simplement empiler ce comportement avec le reste. Et maintenant, je dis que je veux que mes personnages aillent quelque part, s’évitent les uns les autres et jouent aussi une belle animation. L’idée derrière la locomotion est que nous allons construire ce que nous appelons un arbre de mouvement. Si vous n’êtes pas familier avec cela, ce n’est pas grave, je vais simplement le définir plus tard. Et dans cet arbre de mouvement, vous allez demander quels mouvements vous voulez que vos personnages soient capables de faire. Ici, ce sont quelques mouvements que nous avons faits lors de sessions de capture de mouvement. Bien sûr, vous pouvez fournir vos propres mouvements si vous le souhaitez. Bien sûr, selon le style du spectacle, si vous faites de l’animation, si vous faites deux étapes, une animation sur des étapes et ce genre de choses, vous devez fournir votre propre animation pour cela. Mais nous fournissons également quelques clips si vous voulez en profiter. Passons en revue les différents clips que nous avons ici. Nous avons différentes marches, lente, normale et rapide. Nous avons une animation de station debout. Nous avons une animation de course. Et nous avons quelques tours, tourner à droite à 45 degrés, 90 degrés. Nous disons donc essentiellement quelles actions les personnages sont capables de faire. Et ce que je vais faire, c’est les prendre tous et les charger dans le système. Nous avons juste une animation de tour à droite, donc nous allons demander de créer les versions de tour à gauche et laisser le système le faire lui-même. L’idée est que chaque fois que nous allons démarrer le simulateur, fermons cela pendant une seconde. Nous allons analyser tous ces mouvements. Nous allons vérifier à quelle vitesse ils vont et combien ils tournent. Et nous allons construire l’arbre de mouvement parce que la navigation va dire que je veux que ces personnages se déplacent à, je ne sais pas, 1,15 mètre par seconde et tournent légèrement à gauche. Nous allons donc regarder tous les mouvements que nous avons et quelles sont les animations les plus pertinentes pour y parvenir. Et vous avez tous les personnages qui mélangent maintenant ces mouvements ensemble. Faisons-nous une idée de ce que fait ce personnage ici, par exemple. Donc, si nous faisons un gros plan, nous pouvons remarquer que chaque posture de personnage est différente des autres. Ce type a la jambe droite devant, celui-ci a la jambe gauche devant et vous savez, ils sont tous légèrement différents même s’ils s’appuient sur le même mouvement. Comme je l’ai dit, nous extrayons à quelle vitesse il va, combien il tourne. Nous mettons cela dans un espace 2D et cela crée ce triangle étrange ici. Si, pour une raison quelconque, je retirais le mouvement, disons que je vais dans la locomotion ici et que je décide de désactiver l’animation de course. Regardez la forme ici, je vais démarrer cette simulation à nouveau. Vous pouvez voir que cette forme est maintenant différente parce qu’elle prend en compte les mouvements qui sont chargés. D’accord, reprenons et remettons le mouvement. Super. Donc, ce qu’il va faire, c’est que le point rouge est le système de navigation. Donc, il dit que pour que ce personnage atteigne sa cible et évite les autres personnages, nous devons aller à 1,37 m/s et nous devons tourner à 26° à droite. Bien sûr, nous n’avons pas exactement cette animation, mais ce point rouge se retrouve dans un triangle. Et ce triangle est composé de trois mouvements avec différentes vitesses. Et maintenant, nous disons d’accord, nous devons mélanger la course avec une animation de tour à gauche, avec une animation de marche rapide. Nous allons les mélanger ensemble avec des poids spécifiques et cela va créer cette animation dont nous avons spécifiquement besoin. Et si nous exécutons, vous remarquerez que ce point rouge se déplace dans cet espace 2D. Et nous mélangeons à chaque image ou presque un ensemble différent de mouvements. Et si nous faisons une pause ici, vous remarquerez que ce personnage mélange un ensemble différent. Ce personnage mélange un ensemble différent parce qu’il doit faire des choses différentes. Il doit atteindre une autre cible, il doit éviter les personnages d’une manière différente, et ainsi de suite. Donc, c’est vraiment pratique, vous savez, en quelques clics, vous pouvez déjà décider et avoir vos personnages animés de manière réaliste sans glisser les pieds et nous aurons toujours l’adaptation au sol en même temps, et ainsi de suite. Super. Et si je voulais faire une transition de mouvements, un mouvement spécifique à un moment donné, je veux avoir le contrôle et peut-être que je veux, vous savez, dès que mon personnage entre comme un avion, mettons un avion ici et je voudrais que chaque personnage qui entre dans cette zone déclenche un mouvement différent. Peut-être que vous savez, ils veulent fuir quelque chose ou ils veulent réagir à être touchés par une flèche. Donc, à un moment donné, vous voulez déclencher certains mouvements ou certains comportements. La première chose que je vais faire est d’apporter un autre clip de mouvement ici, le mettre en parallèle avec le reste et je vais charger à nouveau un clip que nous avons capturé en mouvement, celui-ci ici. Disons, laissez-moi vous montrer. D’accord. Donc, c’est un mouvement avec les pieds plantés dans le sol mais les bras levés. Donc, la première chose que je veux dire, c’est que si je lance ce mouvement tout de suite, j’aurai un mouvement de zombie vraiment bizarre. Donc, ce qui se passe ici, c’est que nous mélangeons la locomotion avec l’animation de lever les bras et l’un a les pieds plantés dans le sol et l’autre a les pieds qui bougent. Donc, il y a une sorte de conflit entre ces deux mouvements qui essaient de se mélanger avec le même poids. Ce n’est pas ce que nous voulons. Nous voulons dire que ce mouvement ici, je veux juste l’appliquer sur la partie supérieure du corps. Donc, chaque comportement peut avoir le contrôle sur une partie spécifique du corps du personnage et vous pouvez décider. Donc, je ne veux pas contrôler le bassin, je veux juste contrôler le bras gauche et le bras droit. D’accord. Maintenant, les jambes ne devraient plus être influencées. Mais vous pouvez encore voir que ces bras ne se sont pas complètement levés. C’est parce que la locomotion les fait descendre et le lever de bras essaie de les faire monter. Donc, ils sont au milieu ici. Je veux donc dire que ce mouvement a plus de contrôle. Donc, nous avons des attributs de poids de mélange et maintenant je peux dire que vous prenez le contrôle total de cette posture même si une autre animation est en cours de lecture. Et ils sont synchronisés. Donc, nous pouvons changer peut-être l’image de départ pour qu’ils ne commencent pas tous en même temps. Super. Maintenant, ils sont légèrement désynchronisés. Et nous pouvons aussi décider de la vitesse à laquelle cela se produit. Nous pouvons changer le rapport de vitesse ici pour faire une variation de vitesse. Et les voici. Et comme je l’ai dit, je veux que ce mouvement ne se joue que lorsque je suis dans la zone. Donc, je vais contrôler quelque chose que nous appelons les déclencheurs. Vous avez peut-être remarqué que sur chaque bloc ici, et ce sera vrai pour la boucle également, il y a cette petite flèche. Donc, cette petite flèche est une condition. Nous appelons cela un déclencheur et il définit quand ce comportement commence et quand il s’arrête par défaut. Donc, si je clique dessus, cela ouvre le panneau inférieur qui s’appelle le déclencheur, l’éditeur de déclencheurs. Et vous pouvez voir qu’il a juste un déclencheur très simple qui dit vrai. Donc, ce comportement devrait-il commencer ? La réponse est oui, toujours. Et maintenant, nous avons une bibliothèque de déclencheurs ici dont nous pouvons profiter. Je veux déclencher quand je suis dans la zone. Assez bien pour moi. Il y a un déclencheur de zone que je peux simplement glisser et activer. Et ce déclencheur de zone prend quelques maillages en paramètres. Donc, je peux sélectionner ma zone ici, je peux sélectionner mon déclencheur là et connecter ces deux ensemble. Et maintenant, dès que je lance le sommeil, j’ai mes personnages qui traînent et dès qu’ils entrent dans la zone, ils se fondent dans ce mouvement ici. Ils se fondent exactement au moment où ils entrent dans la zone. Donc, si je veux le rendre plus organique parce que, vous savez, quand vous êtes dans une foule, tout le monde ne réagit pas de manière aussi nette tout le temps. Donc, je peux peut-être ajouter un fondu pour ajouter un léger délai. Et je peux dessiner un délai courbe ici. Donc, je peux dire, d’accord, tout le monde ne lèvera pas la main dès qu’ils entreront dans la zone. Mais à un moment donné, ils le feront tous. Et oui, maintenant, c’est légèrement retardé, même si les personnages entrent dans la zone en même temps. Vous verrez que c’est juste légèrement retardé. Et je n’ai rien dit sur la façon dont cela s’arrête. Donc, pour l’instant, cela ne s’arrête pas. Tous les comportements par défaut ne s’arrêtent pas. Mais si je voulais changer cela, il suffit de sauter dans le déclencheur d’arrêt et de changer cette valeur par défaut. D’accord. Bien sûr, je veux dire, il y a des tonnes de comportements ici. Vous pouvez voir des voitures, des oiseaux qui volent en groupe, des vêtements, de la fourrure. Nous en avons des tonnes. Nous avons des tonnes d’opérateurs, des tonnes de déclencheurs et une heure n’est pas suffisante pour les couvrir tous. Je vais donc m’arrêter ici parce que je veux vous montrer le reste du flux de travail qui est vraiment intéressant aussi. Donc, c’est le flux de travail de simulation. Vous avez peut-être remarqué que chaque fois que je faisais un changement, je devais rembobiner la simulation, puis exécuter les images et voir si le résultat que j’avais était super. La simulation est donc super pour atteindre l’évitement. C’est super pour atteindre une physique proche et ce genre de choses. Mais vous manquez vraiment de contrôle individuel sur les personnages ici, car vous savez, les notes que vous allez obtenir de cette foule peuvent être, oh, je veux que ce personnage porte un t-shirt. Je veux que quelqu’un soit ici et s’il vous plaît, retirez-moi ce personnage ou s’il vous plaît, faites tourner la tête de ce personnage sur la gauche. Donc, la plupart du temps, les notes seront des notes individuelles sur les personnages. Et quand vous êtes dans l’outil de simulation, vous n’avez pas vraiment accès aux individus, vous avez accès à des règles que vous pouvez fournir à un groupe de personnages. Vous devez donc également avoir un autre flux de travail qui vous permet de prendre ces notes plutôt que d’aller dans certaines parce que si, pour une raison quelconque, vous décidez de supprimer ce personnage dans la simulation, vous pouvez influencer tout le monde. Comme si ce personnage n’était pas là, peut-être que ces gars-là ne s’éviteront pas de la même manière. Donc, peut-être que le réalisateur aime vraiment tous ces gars-là mais veut juste se débarrasser de lui. Oui, ce sera vraiment difficile pour vous à réaliser. Il est donc nécessaire d’introduire un autre flux de travail ici. Disons que je suis satisfait de cette simulation et que je veux en faire une première étape. Je devrai d’abord exporter ma simulation. Laissez-moi exporter, laissez-moi changer le nom ici. Laissez-moi exporter mes 300 images là. Je suis en train de cuire les résultats. Mais je ne cuis pas la géométrie, je cuis les résultats de la simulation. Donc, l’orientation, la position et l’échelle des os à chaque image pour chaque personnage. Donc, c’est en train de résoudre la solution pour moi, d’écrire un cache par image. Et quand c’est fait, vous pouvez remarquer que maintenant ma timeline est devenue verte. Et plutôt que de devoir rembobiner et relancer, je peux maintenant me déplacer librement dans le temps et voir ce qui se passe, ce qui est super. Et maintenant que la foule a été exportée, je peux en fait aller dans Arnold et lancer un rendu. Et maintenant, je peux m’attendre à ce que mes personnages apparaissent dans la scène de rendu. Juste un mot rapide sur le rendu ici. Donc, pour chaque moteur de rendu majeur que nous supportons, nous aurons un plug-in dédié qui créera la géométrie à la volée. Vous savez, il n’est pas rare d’avoir 80 000, 100 000 personnages et cela représente une énorme quantité de données que vous ne voulez pas tout prendre en mémoire. Donc, quand vous avez un plug-in pour Arnold ou RenderMan ou V-Ray ou Redshift ou autre, ce que nous allons faire, c’est simplement retarder la géométrie de chaque personnage l’un après l’autre, seulement s’il est dans la première pièce de la caméra, seulement si c’est nécessaire. Et quand la mémoire manque, nous allons décharger certains des personnages. Donc, ils seront, vous savez, dans l’image, dans le pixel, mais ils ne sont plus dans la mémoire. Donc, c’est une façon vraiment efficace de gérer un grand nombre de personnages. C’est pourquoi nous nous appuyons sur le rendu procédural. Et la chose vraiment sympa avec le rendu procédural, c’est que nous ne cuisons pas la géométrie. Donc, si je stocke ce snapshot et peut-être que vous savez, j’ai changé d’avis, ces sweat-shirts rouges sont vraiment évidents ici. Et finalement, c’est un plan d’été, je veux que tout le monde porte un t-shirt. Donc, je peux juste, vous savez, changer ma répétition d’actifs et je peux juste rerendre cette scène. Et dès que vous faites cela, comme la géométrie n’est pas cuite, tout sera rafraîchi directement dans la vue. Vous n’avez plus à aller dans votre scène, réexporter ce cache ou quoi que ce soit. Tout est toujours dynamique et traitable à partir d’ici. Maintenant, vous pouvez voir mes personnages qui portaient des sweat-shirts, maintenant ils portent de vieux t-shirts. Et stockons ce snapshot là. D’accord. Qu’en est-il de la note dont je parlais ? Vous savez, je faisais référence au fait que peut-être que vous voulez que certains personnages soient perçus différemment ou fassent quelque chose de différent. Maintenant que nous sommes dans cette timeline verte, je peux passer en un autre mode qui s’appelle le mode de mise en page. Laissez-moi juste nettoyer légèrement la scène, supprimer certains des nœuds dont nous n’avons pas besoin. Et en mode de mise en page, vous n’avez besoin d’aucune connaissance sur Golaem ou autre. Vous avez juste besoin de savoir comment manipuler les objets dans Mario. Maintenant, vous pouvez sélectionner un groupe de personnages comme vous le souhaitez et vous pouvez les déplacer et les éditer de manière très simple. Donc, déplaçons ce personnage ici. Je peux changer bien sûr l’orientation, je peux changer l’orientation de plusieurs personnages en même temps. Je peux aussi utiliser l’outil de mise à l’échelle, l’outil de mise à l’échelle va mettre à l’échelle la distance entre les personnages ou si je suis en mode objet, il va mettre à l’échelle la taille réelle du personnage si je veux le rendre plus grand. Et vous savez, maintenant je peux vraiment itérer très rapidement sur toutes les notes que j’ai reçues. D’accord. Et quand vous êtes satisfait de cela, oups, enregistrez. Vous savez, une fois de plus, enregistrez simplement votre scène et rendez-la et toute cette scène sera mise à jour automatiquement pour vous. Voilà. Donc, qu’est-ce qui s’est passé ici avec l’outil de mise en page ? Laissez-moi vous montrer ce que nous venons de faire. Ce que nous venons de faire ici, c’est que nous avons ajouté quelque chose que nous appelons des calques à la scène. Et nous l’avons fait de manière très transparente. Nous avons sélectionné des personnages et les avons déplacés, mais tout a été enregistré pour vous. Par exemple, nous pouvons revenir en arrière dans le temps et voir toutes les modifications que vous avez apportées et les réappliquer si nous le souhaitons. Laissez-moi vous montrer ce qui s’est passé ici. D’abord, nous avons sélectionné ces deux personnages et nous avons appliqué une translation. Ensuite, nous avons sélectionné ce type et appliqué une autre translation sur le côté. Et cette translation, si je veux, peut être modifiée. Donc, je peux changer la valeur de transformation et ainsi de suite. Ensuite, nous avons déplacé ce personnage et l’avons fait tourner. Ensuite, nous avons sélectionné ces types et les avons agrandis et tournés, et ainsi de suite. Et si vous voulez mettre à jour ce graphique pour une raison quelconque, ces personnages ici, vous voulez qu’ils soient translatés mais vous voulez aussi prendre en compte ce type. Super. Vous apportez un sélecteur, vous le connectez à la translation et maintenant ce type est translaté avec la même valeur. Nous voulons tuer, supprimer un personnage du rendu. Disons que nous ne sommes pas satisfaits de ce groupe là. Laissez-moi revenir dans notre graphique. Désolé, laissez-moi obtenir la sélection, ces types là, je vais les sélectionner et je vais simplement ajouter un nœud de suppression et ils ne sont plus là. Ils ne sont pas simplement affichés mais ils sont toujours bien sûr dans la simulation ici si vous voulez changer d’avis plus tard. Nous voulons peut-être peupler une autre partie de la simulation ici. C’est très bien, je peux apporter peut-être un sélecteur, je peux mettre une étoile, ce qui signifie que je vais sélectionner tout le monde. Et je vais demander à ce que tout le monde soit dupliqué. Maintenant, j’ai deux fois plus de personnages dans ma scène. Et juste pour illustrer mon propos, je peux vous montrer ici, tous les personnages, ils sont maintenant dupliqués. Et de l’autre côté, ils portent les mêmes actifs et ils ont exactement le même temps. Donc, je peux peut-être changer le temps et dire « D’accord, s’il vous plaît, jouez 10 images dans le futur et peut-être remélangeons les actifs pour qu’ils ne se ressemblent pas. » Et maintenant, vous avez deux fois plus de personnages de manière très contrôlable et toujours interactive. Et bien sûr, dès que vous allez rendre, vous obtiendrez tout ce qui est affiché. Oh oui, je leur ai assigné le même type, c’est pourquoi ils portent le t-shirt bleu, mais vous voyez l’idée. Laissez-moi vous montrer un dernier truc que j’aime beaucoup. Je disais plus tôt que parfois vous voulez peut-être modifier la posture de votre personnage. Disons que vous n’êtes pas satisfait de ce type. Sélectionnez-le et vous voulez peut-être demander à un animateur de refaire cette animation pour une raison quelconque. Vous n’êtes pas satisfait des doigts ou des jambes, ou vous voulez complètement refaire cette animation parce que ce personnage est si proche de la caméra que vous voulez lui donner une très bonne animation. Dans un flux de travail de foule habituel, cela signifierait que vous devriez supprimer cette première exportation de ce personnage, peut-être le cuire au format de fichier géométrique tel que FBX® ou Alembic ou USD. Vous devriez le supprimer de la foule, importer ce FBX® dans Maya®, demander à un animateur de refaire les courbes d’animation. Et quand il s’agit de rendre, vous devriez importer ce FBX® dans votre scène ou cette scène Maya® dans votre scène et les foules et combiner les deux ensemble. Et cela, juste pour un personnage. Disons que vous devez en faire 10. Vous pouvez sentir que c’est un flux de travail très fastidieux. Donc, au lieu de faire cela, peut-être que nous pouvons simplement tirer parti de la manière procédurale que Golaem offre. Ici, j’apporte un nœud de rig et je vais créer un rig de contrôle d’animation. Et je ne suis pas un animateur, mais maintenant, si vous donnez cela à un animateur, il pourra mettre des images clés partout ici et réanimer complètement ce personnage comme il le souhaite, tout en restant dans l’outil procédural Golaem. Oui, vous pouvez simplement changer mon animation ici. Oui, eh bien, vous pouvez dire que je ne suis pas vraiment doué pour cela, mais vous voyez l’idée. Quand vous avez du talent et que c’est votre travail, je suppose que c’est plus facile pour vous. Et une fois de plus, quand vous êtes satisfait de cela, vous pouvez enregistrer et nous pouvons voir avant/après. Nous pouvons même copier cette posture sur un autre personnage si nous le souhaitons. Mais nous avons un contrôle total sur tout, même sur la posture réelle du personnage. Et je vais l’enregistrer ici et faire un autre rendu ou oui, faisons un autre rendu. Donc, oui, une fois que c’est enregistré, vous pouvez vérifier que tout se passe bien, vous pouvez voir que les modifications que vous avez apportées à ce personnage apparaissent maintenant et que d’autres personnages sont générés. Et pour finaliser avec cela, chaque fois que vous êtes satisfait de tout cela ici, vous pouvez même faire ce que nous appelons un préréglage dans la bibliothèque. Nous avons une bibliothèque de caches de simulation où, disons que vous êtes vraiment satisfait de cela, vous voulez l’apporter, je vais créer un préréglage avec la bibliothèque ici. Et disons que demain, j’ai un nouveau plan à faire. Et dans ce nouveau plan, j’ai besoin de quelques personnages qui s’évitent les uns les autres. D’accord, disons celui-là. Vous savez, je peux juste faire mon terrain. Le voici. Et je peux aller dans la bibliothèque et dire, eh bien, apportons ce cache ici. Maintenant, vous avez votre cache et maintenant vous pouvez recommencer à le disposer comme vous le souhaitez, vous voulez déplacer ces personnages dans une autre position. À vous de voir. Vous pouvez simplement redisposer ce cache et le remodeler. C’est un flux de travail que nous voyons de plus en plus. Les gens ont tendance à faire moins de simulation et plus de mise en page car cela offre un contrôle artistique et des substitutions plus importants sur les personnages. Ils font quelques caches de personnages qui se parlent, de personnages qui s’évitent, de personnages au téléphone, de voitures et quand ils ont besoin de ceux-ci, plutôt que de lancer toutes les simulations et de faire toute cette configuration, ils sautent simplement dans la bibliothèque, prennent ces différents éléments qu’ils veulent et passent au suivant. Ici, par exemple, j’ai un actif de stade, vous pouvez tout apporter dans votre scène. Donc, ici, il y a un stade, il y a ma locomotion et je peux les déplacer, je peux vraiment construire ma scène comme des briques Lego et simplement changer ces personnages comme s’ils étaient vos objets. Oui, je pense que c’est tout pour moi. Peut-être une dernière chose que je veux vous laisser. Je ne vais pas construire la scène, mais je veux juste vous montrer d’autres utilisations. Je parlais de voitures et c’est quelque chose sur lequel nous travaillons vraiment en ce moment. Donc, laissez-moi juste vous montrer comment fonctionne le système de voitures pendant une minute ou deux. Trafic urbain ici. Donc, les voitures s’appuient simplement sur les courbes Maya®. Donc, ici, vous pouvez remarquer que j’ai quelques courbes Maya® que j’ai dessinées. Nous pouvons connecter des routes Golaem dessus. Vous pouvez décider sur ces routes combien de voies vous voulez dans un sens ou dans l’autre, dans les attributs supplémentaires ici, j’ai le nombre de voies avant, je peux en mettre autant que je veux ici. Donc, vous pouvez vraiment construire votre réseau comme vous le souhaitez. Vous placez vos entités de la même manière que je les ai placées auparavant. Et en termes de comportement, nous avons quelques comportements de trafic. Et ce ne sont que quelques comportements supplémentaires ici. Et vous savez, quand vous lancez la simulation, tout sera automatique pour vous. Comme allons à un feu de circulation par exemple. Celui-là. Ici, il y a un feu de circulation où les personnages s’arrêtent au feu vert, puis celui-là passe du vert au rouge, puis celui-là passe du rouge au vert et vous savez, chaque personnage aura son propre but, sa propre vie, son évitement, respectera les règles de circulation et ainsi de suite, et cela peut interagir avec les piétons. C’est probablement un bon moment pour les questions maintenant. Oui, monsieur. C’est l’heure des questions et réponses. Donc, oui, merci Nicolas pour avoir parcouru tout Golaem. C’est une démonstration et une présentation incroyables. Et oui, je vois des questions arriver à la fois dans le chat et la boîte de questions et réponses. Nous allons commencer par celles-ci. C’est une question de Stephen. Avez-vous des conseils pour créer des personnages pour l’exportation vers Unreal Engine ? Eh bien, en fait, non, pas d’effort supplémentaire pour Unreal Engine. Golaem est livré avec un écosystème complet d’autres plug-ins DCC. Nous supportons par exemple Unreal, mais aussi Katana, Udini. Donc, cet outil de bibliothèque que je viens de vous montrer est disponible. Il y a un plug-in Golaem pour Unreal. Et cet outil de bibliothèque et cet outil de mise en page que je viens de vous montrer sont disponibles dans Unreal. Donc, quand vous cliquez dessus dans Unreal, peut-être que je peux charger Unreal en arrière-plan si j’en ai l’occasion, si ça charge. Donc, vous avez la bibliothèque, vous pouvez cliquer dessus et cela créera les personnages pour vous automatiquement. Cela créera des squelettes et des maillages, qui est la représentation par défaut d’un personnage dans Unreal. Et vous pouvez remplacer tout ce que vous voulez. Cela sera contrôlé par le cache Golaem. Donc, la même simulation exacte sera disponible dans Unreal et vous pourrez la rendre. Certains de nos clients faisant des prévisualisations comme Frame Store ou faisant des cinématiques comme Waterproof, ils utilisent le plug-in Unreal au quotidien pour rendre les foules. Donc, si ça charge en arrière-plan pendant que nous répondons à ces questions, je vous montrerai comment la simulation que nous venons de faire peut se charger dedans. Parfait, merci. Et je ne sais pas si vous faites cela en même temps, mais pouvez-vous s’il vous plaît élaborer davantage sur la collision ou l’évitement de la géométrie de l’arrière-plan ? Désolé, il y a un oui, bien sûr, laissez-moi voir, attendez, laissez-moi voir si je peux rapidement faire un nouveau niveau de base et donc, quand vous chargez le plug-in Golaem, comme je l’ai dit, vous obtenez l’outil de bibliothèque, laissez-moi voir et oh, c’est le mauvais fichier qui est chargé et désolé pour cela. Laissez-moi charger mon fichier de bibliothèque. Donc, voici le cache que nous venons de faire. Comme je l’ai dit, l’éditeur de mise en page est également disponible. Et voilà. Vous avez votre simulation exacte ici dans Unreal. Et vous pouvez utiliser le séquencer et tout ce que vous voulez. Et vous avez tous les personnages qui exécutent la simulation. C’est aussi simple que cela. Vous savez, tous les personnages entrent dans la zone, font leur animation. Les voici. Donc, un mot rapide sur les collisions. Donc, je suppose que c’est pour les collisions humaines. Laissez-moi revenir dans la scène. Donc, nous avons les informations sur le terrain. Quand nous avons commencé à faire cette scène ici, nous avons calculé les informations sur le terrain. Et ces informations sur le terrain contiennent les limites de ce que les personnages vont connaître. Ils sont donc connectés au terrain à tout moment. Et nous faisons une sorte de recalcul et ce genre de choses pour comprendre où vont être les limites pour mes personnages. Donc, disons, oups, oups, pour une raison quelconque, mes personnages ne sont plus sélectionnables. Allez, c’est probablement oui. D’accord. D’accord. Peu importe. Laissez-moi essayer d’étendre cet outil ici et d’obtenir un personnage. Ah, oui. D’accord. C’est parce que je ne suis plus en simulation. Revenons en simulation et relançons la simulation si je peux l’obtenir. Oui. D’accord, super. D’accord, donc maintenant je suis de retour en simulation, donc je peux me faire une idée de ce qui se passe correctement. D’accord. Comme je l’ai dit, ces personnages peuvent voir les autres. Donc, nous percevons, vous pouvez imaginer qu’il y a un cylindre autour de ce personnage et qu’il peut percevoir qui est là et il peut percevoir que le terrain de chaque personnage peut interroger, demander au territoire de chaque personnage. Donc, c’est pour les personnages et nous voyons aussi l’environnement. Donc, ici, nous allons voir que nous recalculons à partir d’une distance où sont les murs et vous pouvez voir que plus les personnages s’éloignent de cette boîte, plus vous voyez les limites. Donc, la façon dont cela se passe, c’est que nous avons implémenté quelques articles, quelques articles Siggraph sur l’évitement des foules pour les personnages. Et la façon dont cela fonctionne, c’est que nous allons regarder dans 1 seconde, 2 secondes, 3 secondes où nous pouvons être si nous gardons la même orientation et la même vitesse. Et nous allons faire la même chose pour chaque personnage autour de nous que nous percevons. Si à un moment donné nous constatons qu’une collision peut se produire, nous allons suivre certaines règles. Et les règles vont être soit aller à gauche, soit aller à droite, soit ralentir, soit accélérer. Et le poids de ces règles est défini dans la navigation, qui est le comportement responsable de l’évitement. Et dans l’attribut avancé, nous pourrons spécifier quelle est la pénalité pour accélérer, quelle est la pénalité pour ralentir, tourner à gauche, tourner à droite. Par exemple, si vous êtes en France ou en Europe ou partout sauf au Royaume-Uni et au Japon, qui sont des pays où l’on conduit à gauche, vous aurez tendance à éviter du côté droit des gens. Si vous faites face à quelqu’un, vous aurez tendance à faire un pas à droite parce que toute votre vie vous avez conduit du côté droit, sauf si vous êtes bien sûr au Royaume-Uni, en Australie et dans tous ces pays. Et c’est ce que nous avons défini ici. Il y a une pénalité plus élevée pour tourner à gauche pour éviter du côté gauche que de tourner du côté droit. Donc, nous allons prendre une décision en fonction de ce poids. Mais bien sûr, je veux dire, si nous n’avons pas le choix et que nous sommes déjà du côté gauche du personnage, même s’il y a une pénalité, elle n’est pas assez élevée pour que les personnages décident de se déplacer à droite. Donc, il y a un équilibre ici et cet équilibre sera pris en compte chaque fois qu’il y a une collision. Donc, nous allons détecter les collisions et réagir à celles-ci en fonction de ces règles et appliquer certaines règles ici. J’espère que cela a du sens. Sinon, il y a une documentation sur les articles que nous avons implémentés et qui donnent plus de détails scientifiques à ce sujet. Parfait. Y a-t-il autre chose que vous vouliez couvrir sur cette question, Nicolas ? Désolé, je ne sais pas si oui, non, je pense que sauf si la personne qui a posé la question veut plus de détails, c’est une vue d’ensemble ici. Et si la personne qui a posé la question veut plus de détails sur l’évitement des chevaux, probablement vous voulez faire quelque chose de différent. Nous vous permettons également de faire votre propre système d’évitement si vous le souhaitez. Dans toutes les scènes que nous fournissons, elles sont donc fournies. Nous fournissons de nombreuses scènes pour commencer ou pour expérimenter. Une scène était d’un de nos clients qui travaillait sur Game of Thrones et ils avaient bien sûr leur propre façon, ils voulaient avoir leur propre façon pour que les personnages s’évitent les uns les autres. Donc, ici, nous allons avoir des soldats et des chevaux en arrière-plan. Et c’est exactement le même principe. Le personnage aura, ils vont percevoir d’autres choses dans la scène. Donc, ici, nous pouvons voir ce qu’ils perçoivent et en fonction de ce qu’ils perçoivent, vous pouvez suivre certaines règles. Donc, ici, ils voulaient que les personnages s’alignent vraiment à distance, que les chevaux s’alignent vraiment à distance et ralentissent en fonction de cela. Donc, c’est aussi quelque chose que vous pouvez faire si vous le souhaitez, vous pouvez concevoir votre propre comportement d’évitement. Nous avons donc un autre niveau de complexité dans Golaem qui vous permet de remplacer certains outils et de concevoir vos propres trucs si vous le souhaitez, si vous n’êtes pas satisfait des comportements par défaut. Parfait. Merci pour cette explication. Je vois également quelques questions arriver dans le chat concernant la disponibilité de Golaem avec Autodesk®. Voulez-vous en dire plus sur la façon dont les gens peuvent y accéder ou puis-je prendre cette question également ? Oui. Oui, je pense que, n’hésitez pas à me compléter si j’ai oublié quelque chose. Donc, laissez-moi commencer par le fait que Golaem est disponible de Maya® 22 à Maya® 26. Il est important pour nous que, nous savons que les studios peuvent encore utiliser les anciennes versions de Maya®. Nous avons donc fait l’effort de supporter jusqu’à Maya® 22 et toutes les versions intermédiaires. Et comme je l’ai dit, nous avons tout cet écosystème qui est disponible autour des plug-ins Maya®. Nous avons donc des plug-ins pour Arnold et les principaux moteurs de rendu. Nous avons des plug-ins pour Unreal et d’autres DCC, ce qui vous permet de rendre ou d’apporter vos personnages dans Udini pour l’intégration des effets. Nous avons évidemment le support USD si vous voulez apporter cela dans Solaris, dans un pipeline USD. Et enfin, en termes de licence, Golaem est disponible via ce que l’on appelle la Media Entertainment Collection, qui comprend également Maya®, Max, cinq sièges d’Arnold, quelques sièges de Bifrost, Motion Builder, et Golaem fait partie de tout ce package. Et uniquement la simulation de Golaem nécessite une licence. Donc, le plug-in Udini ou le plug-in Unreal ou les plug-ins de rendu ne sont pas sous licence. Vous pouvez les déployer sur autant d’ordinateurs que vous le souhaitez. C’est seulement lorsque vous exécutez une SIM, lorsque vous appuyez sur ce bouton Entrée et que la simulation est en cours, comme celle que nous avons ici, que cela nécessitera votre licence de collection. Ai-je oublié quelque chose, Lucas ? C’était une excellente explication. Et aussi pour la partie Bifrost, je sais que c’était 15 en fait. C’est 15 pour Bifrost. C’est aussi une question de Hearnen dans le chat. Donc, oui, en fait, c’est une question Bifrost. Un exemple rapide. Disons que j’ai une foule de personnages qui traversent un environnement et que j’ai une explosion utilisant Bifrost. Comment puis-je faire en sorte que les personnages soient affectés par cette simulation, par exemple, ou tout type de simulation ? Je pense que c’est un peu couvert par les trucs de collision dont vous parliez auparavant, mais si vous voulez élaborer davantage. Oui, je peux élaborer davantage. Donc, ici, le système de collision est plus pour les entités Golaem à Golaem et les entités que nous connaissons, comme les obstacles que nous avons calculés. Donc, tout ce que vous apportez, qui est comme calculé à partir d’un autre système, doit à un moment donné être intégré dans le système Golaem. Donc, je suppose que Bifrost génère peut-être une géométrie ou vous pouvez avoir des locateurs connectés, ou peut-être que vous pouvez créer un volume, une géométrie Maya® à partir de la simulation Bifrost, même si ce n’est que temporaire, mais nous devons avoir à un moment donné un locateur, une position 3D ou une géométrie pour réagir à cela et nous pouvons calculer des collisions avec elle. Si c’est un objet Bifrost complet, nous ne savons peut-être pas ce que c’est. Mais si cet objet Bifrost est connecté à un objet Maya®, nous pouvons détecter de la même manière que vous avez eu un déclencheur qui vous permettait de faire quelque chose de spécifique. Vous pouvez vérifier une position spécifique pour un objet, une distance par rapport à un objet et même une collision. Nous avons quelque chose qui s’appelle le déclencheur de collision. Et le déclencheur de collision vous permet de vérifier si une partie de votre corps entre en collision avec un objet spécifique que vous avez fourni. Et bien sûr, parfois, peut-être que vous marchez simplement sur l’un de ces objets avec vos pieds et ce n’est pas une bonne raison pour que ce personnage explose, tombe, meure, prenne un autre mouvement. Donc, vous pouvez aussi calculer à quel point cette collision est forte et sur quelle partie de votre corps se trouve cette collision. Donc, vous pouvez dire, d’accord, si c’est sur ma poitrine ou dans ma tête, qui sont les parties critiques, et que la valeur cinétique, c’est-à-dire la force de la collision, est supérieure à une certaine valeur, je veux la détecter, la prendre en compte et peut-être jouer une physique. Nous avons un moteur physique qui vous permet de faire une simulation de poupée de chiffon plus une animation, comme vous le savez, dans Game of Thrones, chaque fois qu’un marcheur est frappé par des dragons, etc., c’est le moteur physique qui en profite. Donc, vous pouvez déclencher ces comportements en fonction de ces collisions et ils réagiront à la collision dès que le déclencheur activera ce mouvement ou activera ce comportement. Donc, oui, ce sera tout via les déclencheurs et en s’assurant que cela est connecté à un objet Maya®. Cela pourrait être juste un locateur, cela n’a pas besoin d’être une géométrie réelle, mais cela doit être un objet Maya® que nous pouvons comprendre. Parfait. Merci pour cette explication. Malheureusement, nous sommes à la fin de notre temps. Nicolas, cela vous dérange-t-il de partager en fait la dernière diapositive avec les codes QR ? Bien sûr, bien sûr. Parfait. Donc, sur ces codes QR, tout le monde, vous pouvez scanner un pour le guide de démarrage rapide de Golaem sur l’aide d’Autodesk®. Beaucoup de vidéos vraiment géniales pour apprendre et commencer. Donc, vous pouvez plonger dans Golaem tout de suite. Et aussi, si vous avez d’autres questions, j’ai également mis un code QR pour la nouvelle communauté Autodesk® Golaem. Donc, vous pouvez mettre dans le forum toutes les questions que vous pourriez avoir sur l’utilisation du logiciel, peut-être des questions de support, ce genre de choses, pour vous tous. Je voulais juste dire un grand merci à Nicolas pour avoir pris le temps de parler de tout pour Golaem, mais aussi surtout à tous ceux qui sont ici aujourd’hui. Merci à tous d’être venus et nous espérons que vous avez pu en apprendre un peu plus sur Golaem aujourd’hui. Et comme je l’ai mentionné au début, l’enregistrement sera envoyé à votre adresse courriel et publié sur notre chaîne YouTube Emin par la suite. Donc, vous aurez tout cet enregistrement prêt à être regardé à nouveau si vous en avez besoin. Donc, merci encore à tous d’être venus, je vous retrouverai lors du prochain. Merci à tous. Prenez soin de vous.