Houdini 20.5

Houdini 20.5

Nouvelle version de Houdini : 20.5.

Le 18 juin 2024 Side FX nous invitait à la Keynote de Houdini 20.5 sur la Seine suivi le lendemain par le Houdini Hive à Paris dans les locaux de l’école Isart Digital. L’occasion d’en apprendre bien plus sur cette nouvelle version de Houdini qui arrive seulement 8 mois après la précédente.
La sortie est prévue le mois prochain, mi juillet 2024, les enregistrements du Hive de Paris seront disponible en même temps. La vidéo du launch devrait être disponible d’ici quelques jours. Edit : les vidéos du Hive sont disponibles ici ou plus bas dans l’article.
On fait le point avec vous sur les nombreuses nouveautés. Si vous n’avez pas vu notre article sur Houdini 20.0, c’est par ici.

En bref : SideFX déploie un nouveau contexte dans Houdini permettant de générer des textures procédurales ou non mais aussi du compositing. (Attention Substance designer et Nuke !) L’animation, les plumes et le rig deviennent encore plus simple, Solaris et Karma gagnent en compétences et rapidité et un nouveau solver unifié permet de simuler solides, liquides et grain. Voici le sommaire :

Houdini 20.5 Sneak Peek
Houdini 20.5 Keynote

Deux grandes nouvelles features : MPM solver & COPernicus

MPM Solver

Le Material Point Method ou MPM solver est un nouveau solver à base de points tentant encore une fois d’unifier de nombreuses simulations en un seul solver.

Entièrement codé en Open CL, il semble extrêmement rapide et pourrait faire concurrence dans de nombreux cas aux Flip, Vellum et RBD. Capable de mixer différentes matières solides (béton), simulant la compression des matières malléables (métal / cloth), liquides (eau) ou granuleuses (sable / neige ), il propose des presets de source via un node ‘MPM source’ et toute une panoplie de recettes (recipes cf section interface).

On a aussi pu voir en action les nodes ‘MPM collider’, ‘MPM Solver’ et ‘MPM Container’ qui parlent d’elles mêmes.

Side FX précise qu’il n’est pas là pour remplacer les autres solver, il y a d’ailleurs eu une importante amélioration de la rapidité de Vellum en parallèle.

Nous n’avons pas eu la chance d’assister à la présentation du MPM solver qui à du être annulée en dernière minute. On espère avoir une vidéo enregistrée prochainement.

Source sidefx.com

COPs 3.0 - COPernicus image processing

Source sidefx.com

Ça faisait longtemps que l’on attendait une nouveauté en COPnet, voici les COPs 3.0 ou COPernicus, un système proche du VOP pour générer des textures procédurales ou non, basé sur des données 2D et 3D.

En plus de fonctionner comme Substance Designer avec des possibilités infinies, COPernicus permet d’analyser des géométries, de sampler un volume, de projeter un mesh en UV space etc… Dans le sneak peak on peut apercevoir un volume représentant la simulation de gouttes de sueurs et ce volume est samplé dans l’uv space du personnage simplifiant la génération procédurale d’une wetmap sur celui-ci.

L’image générée est visualisable dans l’ancien compositing pannel mais aussi dans le viewport 3D. Il y a aussi un node de ‘preview material‘ permettant d’avoir différentes maps connectées pour représenter un matériau complet sur une grid, sphere ou d’autres primitives simples.

Rappelons que le COP est un système de modification d’image et qu’à la base il était utilisé pour du compositing rudimentaire. COPernicus est encore loin d’être un concurrent de Nuke, SideFX l’a fait savoir, le compositing dans COPernicus n’est pas encore production-ready. C’est néanmoins quelque chose que l’on peut s’attendre à avoir dans les prochaines versions.

En complément, COPernicus est compatible avec le système OFX (Open FX) comme les Sapphires de Genarts (nécessite une licence) que vous connaissez peut être via d’autres logiciels.

Un système de slap comp permet la stylisation des rendus non réalistes ou cartoon, en éditant directement le rendu d’un LOP dans le COP. Un nouveau bouton sur la droite du viewport permet d’afficher le process COP comme un render filter temps réel pendant le rendu progressif. Cette option est aussi disponible sur l’USD render LOP.

Il y aurait déjà près de 150 nodes dans COPernicus et Nikola Damjanov semble si à l’aise que ça parait très simple d’accès, avec des opérations évidentes et habituelles comme l’utilisation de noises, de blend, add, multiply, remaps, ramps, uv, distortion etc… Il est aussi possible d’importer du SOP, pour analyser la height, les normales ou n’importe quel attribut, mais aussi des volumes.

On note l’utilisation récurrente d’un node de SDF shape permettant de générer des formes simples mais aussi d’un Tiled Pattern pour dupliquer avec beaucoup d’options très sympa.

Pour l’instant il manque des outils de paint temps réel pour dessiner ces propres formes ou des solvers comme pour l’accumulation et autres. Néanmoins il est possible de faire ce genre de manipulations en SOP et de rastériser le résultat en temps réel dans les COPs via le Vulkan.

Afin de garder un workflow rapide, il est conseillé de travailler en résolution 1-2k et de baker à la résolution voulue en fin de process.

Pour info, le COP 3.0 tourne sur une base d’APEX mais c’est invisible pour l’utilisateur.

Source sidefx.com
Copernic

Vulkan viewport

Source sidefx.com

Avec Houdini 20.0, SideFX a commencé l’intégration d’un nouveau viewport en Vulkan (aussi appelé Open GL next) avec Houdini 20.5, le viewport Vulkan devient celui par défaut.

Dans de nombreux cas il est plus performant et plus précis. Espérons qu’il y ait moins de bugs viewport que sur l’Open GL.

Un nouveau système permet de faire de la rastérisation temps réel de géométrie. En d’autres termes, le viewport Vulkan permet de projeter une géométrie sur une grille et de la pixeliser pour obtenir des textures tileables tout en gardant les attributs des meshes cf section COPs.

 

Animation

Grande nouveauté attendue : Les calques d’animation !
Non destructifs, ils permettent d’assembler des animations de la même manière que des blendshapes. En pouvant les mixer, les activer ou les désactiver d’un simple clic. Deux modes sont possibles, override ou add. D’un simple clic droit on ajoute ou retire des contrôleurs à un calque.
Un clic droit permet de fusionner des layers pour nettoyer votre scène.

Le pose tool permet maintenant la simulation temps réel des ragdolls pour le posing en utilisant les contrôleurs du rig. Exemple ici avec les doigts d’Electra (test geometry) qui sont posés sur la table.

Un nouveau panneau permet de visualiser les motions paths et d’ajuster sur combien de frame avant / après la frame courante, ils restent visibles.

Une visualisation permet de comprendre et de configurer rapidement les limites de transformations sur les contrôleurs de rig.

La copie des poses est simplifiée. Un simple ctrl+c permet d’enregistrer les transformations d’un ou plusieurs contrôleurs et ctrl+v permet de coller ces transformations. Avec ctrl+shift+v on peut les coller en local space.
Il y a un nouveau pose mirroring permettant de symétriser une pose ou une partie de la pose avec un système qui rappelle le mirror SOP.

Une pose library compatible APEX et des animations procédurales sans avoir besoin de passer par le CHOP arrivent prochainement peut être directement sur le node ‘scene animate‘.

Les outils d’animation découverts avec Houdini 20.0 sont très appréciés. Le système de contrainte à la volée via le raccourci ctrl+shift+clic sur un contrôleur pour le déplacer avec le pivot d’un autre est une révolution. Les anim sliders sont très utilisés. On a pu voir 2 courts métrages animés dans Houdini et les animateurs du studio Tumblehead disent que c’est une merveille. La quasi totalité des présentations à propos de l’animation n’utilisent même pas la network view, le viewport suffit.

Source sidefx.com
Source sidefx.com

Le pose tool permet maintenant la simulation temps réel de rag doll. Ce qui veut dire que vous pouvez activer la dynamique des ragdolls pour poser les mains et doigts d’un personnage sur une table par exemple. Dans la démonstration on a pu voir que ça fonctionnait aussi entre les parties du rag doll, la main sur le visage ou le visage sur la main. Il est aussi possible de visualiser le mesh high rés au lieu des proxy ragdoll pendant l’édition ce qui n’était pas possible précédemment.

Le système de ragdoll va plus loin avec la possibilité de faire réagir un personnage ou une partie d’un personnage à partir d’une certaine frame, mais aussi des paramètres comme la résistance permettant de retrouver la pose progressivement avec un délai différent pour certains membres.

Une nouvelle contrainte apparait la ‘Transient Constraint‘. Elle permet de définir un offset entre un objet (driven) et un autre (driver). Encore une fois, les riggeurs ont moins de boulot à faire, c’est l’animateur qui mettra en place cette contrainte au moment voulu. On vous explique la démarche :

  • On place la tête de lecture à une frame ou les deux objets ont un offset correct (Une balle dans la main). On ajuste la position de l’un ou l’autre si besoin.
  • On sélectionne driven puis le driver et via un shift+clic dans la time line on définit une zone d’activation.
  • Via le raccourci A on applique l’offset.

Résultat : Sur toute la timeline sélectionnée les deux objets maintiennent le même offset. Une option permet de mettre à jour les clés existantes ou de baker l’offset à chaque frame.

APEX - rig

Source sidefx.com

APEX pour All Purpose EXecution graph dévoilé avec Houdini 20.0 continue d’impressionner. De très nombreuses améliorations l’on rendu plus simple à appréhender et sa rapidité d’exécution est encore améliorée.

Toujours principalement axé sur le rig il faut tout de même souligné que COPernicus est basé sur APEX mais de manière transparente pour les utilisateurs.

Les contraintes de rig sont des graphs APEX exécutés lorsque l’on met à jour les valeurs de transformation d’un contrôleur, qui elles sont en world space. Ainsi il n’y a pas d’offset bizarre lorsque l’on retire la contrainte, il n’y a pas de courbe d’animation cassée non plus, et surtout il n’y a pas besoin d’exécuter cette partie du graph en permanence. Seulement lorsque les valeurs des transforms sont mises à jour. C’est donc plus simple pour l’animateur, et plus rapide en exécution.

Un nouveau langage de code appelé APEX Script (Un genre de python simplifié) intervient sur la création de rig. Il permet de coder rapidement un rig avec une représentation sous forme de graph de nodes, chaque fonction créant un node et chaque rappel de variable créant des liens entre les nodes. Il est aussi possible de faire l’inverse en créant soit même ses nodes et en utilisant un ‘décompiler qui va écrire le code.

Le node autorig component dispose de très nombreux types de membres et il est prévu d’en ajouter encore. Vous trouverez bien plus que pour un simple biped afin de générer vos rigs en quelques clics. La géométrie test Elektra a un rig 100% construit via l’autorig component.

On vous confirme aussi que Kine FX et APEX fonctionnent très bien ensemble, le rig gagne encore en simplicité avec l’arrivée de tags sur les points du squelette Kine FX (rig guide) permettant à APEX de savoir ce qu’il faut construire sur chaque bone (contrôleur, couleur, forme, taille, type etc…).

Dans leur démonstration, Side FX présente différents personnages (biped, arachnide, quadrupède…) avec des squelettes faits sous Kine FX en SOP. Ces rigs guides ont des informations par points à base d’attributs de type dictionnaire ou array. APEX ingère ces informations et avec quelques nodes d’Autorig Component, le rig apparait, on peut ensuite changer de personnage et le rig est reconstruit de manière procédurale et temps réel sur un personnage très différent n’ayant pas forcément le même nombre de membres !

Interface

La fenêtre d’info sur les nodes aussi accessible via un clic middle a été repensée pour afficher encore plus d’informations, de façon mieux organisées et colorées pour les repérer facilement.

Les recipes ou recettes en français sont une sorte de presets pimpés. Qu’est-ce que c’est ? Comme un snapshot de nodes et paramètres.

L’idée est d’enregistrer des paramètres, des ensembles de nodes dans une data base similaire au JSON ou dictionnaires python et de les rappeler via du python. Le tout sans avoir besoin de coder bien entendu.

Les recipes sont encore en développement et vont avoir d’autres fonctionnalités mais on à déjà repéré trois utilisations disponibles :

  • Tab tool => Permet de créer un groupe de nodes interconnectés comme par exemple le for each connected pieces.
  • Node preset => Disponible depuis la parameter view, le node preset est similaire aux presets actuels mais avec la possibilité d’overrider seulement certains paramètres. Il est aussi possible d’y incorporer des spare-parameters.
  • Decoration preset => Depuis un clic droit sur un node permet d’ajouter des nodes reliés au node actuel comme par exemple un vdb from polygon en second input du pyro solver. 

Les recettes peuvent en appeler d’autres en interne. La reciception !

On peut s’attendre à avoir des choses similaires dans le shelf, mais aussi des presets de paramètres comme on l’a déjà sur les ramps ou certains multiparms.

Pour les plus TD d’entre vous, un grand ensemble de fonctionnalités python ont été développées pour cela.
parm.valueAsData()
parm.setValueAsData()
node.asData()
node.setFromData()
Et bien plus, comme d’autres fonctions pour les nodes enfants, les parms templates etc..

Les fenêtres spécifiques à l’animation présentes dans le viewport peuvent maintenant être minimisées, masquées, affichées ou lockées au viewport

Source sidefx.com

Solaris

Source sidefx.com
Crowds

Solaris a maintenant une procédurale de foule pour Karma et autres Hydra delegates.
Je parle chinois pour vous ? D’une manière plus simple : Il y a une nouvelle procédurale, c’est une manière de déformer la foule au moment du rendu (foule générée dans Houdini). Elle permet d’avoir un cache léger dans lequel on stocke les transformations du rig et non les déformations de chaque point. Et celle-ci est compatible avec tous les moteurs que l’on retrouve dans Solaris (Hydra delegates).
De plus l’import des larges foules est 5-6 fois plus rapide.

Le LOP ‘preview procedural‘ est compatible avec la foule. Un visualisateur de couleur blanc / bleu / orange permet de voir quel agent est une instance et quel autre est une copie unique. Enfin un paramètre un peu magique permet de définir le seuil de différence entre deux poses pour qu’elles soient finalement remplacées par des copies. Dans l’exemple présenté le gain en temps de rendu et en mémoire est de 30% environ.

SOPs & LOPs

Possibilité de voir à travers les caméras LOP depuis le SOP sans importer la caméra.
Compatibilité des shaders USD des géométries packées dans le viewport SOP.

Updates

Mise à jour de la version d’USD supportée : 24.03. Permettant notamment le support des instances de lights.
Mise à jour de la version de Material X supportée : 1.38.10

Beaucoup de correction de bug du stage manager et amélioration de la fluidité des interactions viewport.

Amélioration du ‘clone control pannel‘ avec la possibilité de visualiser plusieurs AOV et des captures écran qui fonctionnent sans arrêter le clone. Il est maintenant possible de créer un clone en drag & dropant un LOP node dans le panneau ou via un clic droit.

Les lens shaders sont disponibles directement sur le LOP camera.

Nouveaux LOPS

De nouveaux LOP nodes Quick surface material‘ et Quick cloud material‘ permettent de définir rapidement un shader. On y retrouve les paramètres les plus habituels à la manière d’un standard shader. Il est aussi possible de créer ce type de nodes directement depuis le component builder. Un bouton à côté des fichiers de type image permet d’utiliser le résultat d’un COP à la place d’un fichier image.

Nouvelle façon plus simple d’éditer les shaders provenant des fichiers USD.

Nouveau Color LOP pour définir couleur et alpha des géométries rapidement avec la possibilité de visualiser des propriétés USD par couleurs.

Nouveau LOP pour générer des textures cards (plane avec une projection du rendu) afin d’avoir un draw mode (visualisation viewport) plus léger. 

Nouveau RBD LOP node. Ce n’était vraiment pas simple d’importer une simulation RBD correctement dans Solaris avec la bonne hiérarchie, les bons types, kinds et purpose. Un LOP dédié à l’import des RBD permet de simplifier la tache et d’importer de très lourdes simulations RBD.
Un LOP d’imports de destruction RBD fait son apparition aussi pour fracturer ou simuler, nous n’avons pas pu le voir à l’œuvre.

Améliorations de LOPS

Le LOP ‘Prune‘ permet maintenant de pré-déclarer des primitives et leur activation / visibilité avant même de les importer. Chose bien pratique pour un pipeline de production, lorsque l’on est certain d’obtenir des primitives spécifiques depuis le département d’avant mais qu’elles ne sont pas encore créées.

Source sidefx.com

 

Le ‘Stage Manager’ a une solution de duplication, de snap et de groupe via des raccourcis claviers pour être bien plus rapide à la mise en place.

Le ‘SOP Modify‘ est bien plus rapide avec une solution pour afficher le stage en ghost sans le convertir en SOP.

Possibilité d’utiliser les subsets dans le LOP ‘vary material assignment

Possibilité d’animer des paramètres du ‘background plate’ LOP.

Karma updates

Source sidefx.com

Nouveau Karma Sky Atmosphere LOP pour simuler l’atmosphère volumétrique d’une planète.

Le LOP ‘Sky Atmosphere‘ a maintenant une absorption naturelle et une option pour la brume. Petite précision : Une seule Karma atmosphère par rendu, il n’est donc pas possible de faire deux planètes avec deux atmosphères différentes dans le même rendu.

Karma XPU est beaucoup plus rapide. Exemple pendant la keynote avec un rendu qui se termine en 1.37min avec Houdini 20.5 alors que Houdini 20.0 est à environ 30% du rendu pour le même temps et mettra au final 5-6 mins à se terminer.

CPU & XPU obtiennent un résultat encore plus ressemblant qu’auparavant.

Les overrides par instances (y compris les lights) fonctionnent maintenant avec Karma XPU.

Slap comp (cf COPs)

Option pour désactiver le displacement de tout les shaders en un clic.

Support CPU des volumes dans les AOVs d’ambiant occlusion.
Support XPU de l’ambiant occlusion de Material X.

Avec une bonne carte graphique, la plupart des béta testeurs utilisent karma comme viewport et n’utilisent plus le vulkan lorsqu’ils sont en lookdev.

Modeling

Le ‘Quad Remesher‘ (nouveauté H20.0) passe en version 2.0 mais reste en béta. Il a une nouvelle fonctionnalité pour contrôler le flow des polygones via un attribut vectoriel.
Pour de meilleures performances il est conseillé de remesher la géométrie avant, le Quad Remesh n’aimant pas les points ayant de trop nombreuses edges.

Un nouveau SOP de ‘Planar inflate‘ permet de générer l’épaisseur d’une géométrie gonflée comme un coussin ou autre géométrie ayant un volume.

Encore un nouveau SOP : le ‘Wrinkle Deformer‘, un outil de simulation de plis temps réel via son accélération Open CL. On peut dire bye-bye à notre outil de Wrinkle disponible ici sur le site Voxel FX, cet outil officiel semble  fonctionner de façon très similaire au notre, vous ne serez pas perdu si vous l’utilisiez déjà.

Le ‘Sculpt Tool‘ a été entièrement repensé avec différentes brush possibles (clay / drag / grab / inflate / flatten / erase …). C’est un outil de déformation temps réel prévu pour fonctionner sur des géométries denses. Il fonctionne à partir des numéros de points et n’est donc pas procédural mais permet l’application sur des géométries animées, rendant le final tweaking des simulations de cloth bien plus pratique par exemple.

Le ‘SOP Clip‘ a été réécrit pour de meilleurs performances et propose maintenant de dessiner le plan de coupe directement dans le viewport mais aussi de couper par un attribut et non une position comme on pouvait déjà le faire avec un setup de 3-8 nodes via le rest position.

On retrouve encore des améliorations sur le système d’analyse de point cloud via le nouveau SOP ‘point cloud measure‘ permettant l’analyse de la curvature mais aussi d’orientation de points comme on vous en parlait l’année dernière avec la 20.0.

Le Labs n’est pas en reste avec un node de ‘biome plants setup‘ à base de donnée scientifiques sur le placement des plantes, il permettrait de faire un scattering intelligent du type de plantes en fonction de l’élévation, inclinaison du terrain et d’autres paramètres.

Source sidefx.com

IA - Machine Learning

ONNX inference intégré dans Houdini 20.0 à maintenant la possibilité d’être entrainé dans Houdini directement.
Le Machine learning est disponible dans les COPs 3.0 sur base d’image.
Nous n’avons pas encore d’image à vous présenter pour cette partie.

RBD Car rig

Source sidefx.com

Le rigging de véhicule devient beaucoup plus simple avec de nouveaux outils pour diriger le véhicule sur une courbe, appliquer des animations et déformations procédurales aux suspensions et pneus.

Le node ‘RBD_Car_Rig‘ est enfin officiel (précédemment c’était un HDA à télécharger dans la librairie). Il permet de rigger automatiquement un véhicule à base de groupes de polygones.

Un second node, le ‘RBD_Car_Follow_Path’, permet d’animer le véhicule sur une curve, et apporte les paramètres de drift, overshoot ou banking afin d’animer de façon plus réaliste le déplacement. Il était déjà possible de le faire précédemment mais de façon bien plus manuelle via le CHOP network. Ici tout semble bien plus pratique et automatisé. Enfin il est possible de visualiser différentes informations à propos de la vitesse du véhicule le long de la courbe (speed, break & acceleration Zones, excess speed).

Enfin un système de suspensions dynamiques et pneus déformables vient parfaire cet outil. Le système est capable d’adapter l’animation à un terrain. De nouvelles poignées colorées font leur apparition avec l’outil de suspensions permettant de définir en quelques clics la taille de sphères de couleurs définissant les zones déformables.

La destruction et la fracturation des véhicules ne sont pas encore intégrées mais ça arrive.

Paint tool

Avec la sortie de Houdini 20.0, on vous avait parlé de l’outil de peinture de masque à base d’UVs sans besoin d’avoir une géométrie subdivisé.

Ce même outil permet le mix de matériaux.

Source sidefx.com
Source sidefx.com

Plumes

D’après Andriy Bilichenko, le grooming atteint un niveau jamais égalé dans d’autres logiciels. C’est d’après lui très simple à mettre en place. Néanmoins on a vu ses graphs de nodes et ça semble nécessiter une certaine quantité de travail. Il précise qu’aujourd’hui il lui faut 1-2 semaines pour mettre en place un oiseau complet et que pour bien le faire en production il a besoin d’un mois à un mois et demi.
La scène du toucan d’Andriy sera disponibles prochainement dans la librairie de SideFX vous permettant d’accélérer votre production via ses templates de mise en place.

Il y a eu de nombreuses améliorations de performances pour les plumes.

Une nouvelle option facilite l’exclusion des petites plumes lors de la simulation, permettant une importante augmentation des performances de simulation.

Il est maintenant possible de transférer la vélocité des plumes en SOP pour avoir un motion blur correct.

Houdini 20.5 dispose d’un système de rigging et d’animation avancé pour les ailes et plumes. Les contrôleurs de rig peuvent diriger les guides et donc les plumes pour obtenir l’intention de l’animateur jusqu’au rendu.

On vous en dit davantage dès que l’on en sait plus et que les vidéos seront publiques. Stay tuned !

À propos de l’auteur

François Gressier administrator

Motion designer, Rigger et FX artiste depuis 2013, je me consacre à Houdini depuis 2015 et à Voxel FX depuis 2023. J'aime partager les compétences, j'apprend en enseignant. Notre équipe est toujours à la recherche de talents alors contactez nous !

Laisser un commentaire