Dernières actualités
Simulation de foule dans Houdini : guide pour organiser les agentsNettoyer des splines et générer des Spline Mesh avec Unreal Engine PCGCréer des images d’architecture avec Gemini : prompts et retouches d’intérieurMetaRoCE présenté à l’OCP Summit 2026 avec une approche RDMA ouverteRéglages de caméra dans Blender : perspective, profondeur de champ et panoramaGuide des composants dynamiques SketchUp : créez des éléments répétitifs avec des formulesGuide V-Ray Enmesh : appliquer correctement des motifs avec les UVW dans 3ds MaxPremières photos du package Intel Xeon 7 Diamond Rapids à 256 cœursBlender Geometry Nodes Simulation Zone : guide d’utilisation étape par étapeComment examiner une animation dans Blender avec Motion Paths et Graph Editor ?
Conseils et guidesHoudini

Simulation de foule dans Houdini : guide pour organiser les agents

La documentation de SideFX pour Houdini 22.0 explique comment structurer les agents de foule à l’aide de rigs, de shape libraries, de layers et de clips d’animation. Ce guide présente les méthodes d’organisation de ces composants et de réduction des données répétées.

Une foule de personnes anonymes marchant dans différentes directions dans un atrium contemporainImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. Un agent de foule Houdini peut faire référence à une définition comprenant un rig commun, des formes géométriques, des layers et des clips d’animation.
  2. Les formes de la shape library portent des noms uniques ; les layers relient ces formes aux transformations du rig.
  3. Les composants d’une définition d’agent peuvent être stockés dans des fichiers distincts et utilisés comme références externes ; selon SideFX, cela peut réduire les données répétées.
  4. Le skinning linéaire est décrit dans la documentation comme la méthode standard et la plus rapide. C’est aussi la seule méthode utilisée pour le skinning GPU dans le viewport.

Ce guide s’appuie sur les rubriques consacrées à la simulation de foule et aux agents dans la documentation de SideFX pour Houdini 22.0. Son objectif est d’organiser la définition d’un agent pour une foule de personnages, en séparant le rig, la géométrie et les données d’animation en composants réutilisables. La documentation ne propose ni procédure unique pour toutes les scènes ni valeurs de paramètres recommandées. Les étapes ci-dessous se limitent donc aux composants et comportements décrits dans la source.

1. Planifier les composants de la définition d’agent

Dans Houdini, une primitive d’agent est un type de primitive packed contenant un seul point ; elle peut, dans certains cas, être traitée comme une particule. L’ensemble de données commun auquel fait référence la primitive d’agent est appelé définition d’agent. Une définition peut contenir un rig, une shape library, des layers, des clips d’animation, des groupes de transformations et des métadonnées facultatives.

  1. Déterminez quelles données seront partagées. Organisez le rig, les formes et les clips que partageront les copies d’un même agent parmi les composants de la définition. Cette structure permet de réutiliser les composants communs à partir d’une même définition plutôt que de les reconstruire pour chaque copie.

  2. Préparez le rig et les canaux. Le rig stocke une hiérarchie de transformations nommées et des canaux. Chaque transformation peut avoir un parent ou être à la racine. Une pose de repos facultative peut servir lorsque l’articulation n’est pas présente dans un clip d’animation, ou lorsqu’aucune pose ni aucun clip n’est attribué à l’agent. Des valeurs par défaut peuvent également être définies pour les canaux, afin qu’elles soient utilisées lorsqu’aucun canal correspondant n’existe dans le clip d’animation.

  3. Envisagez de stocker les informations supplémentaires dans les métadonnées. Les métadonnées d’une définition d’agent peuvent contenir, par exemple, des informations personnalisées sur la création des assets. Comme ces informations sont partagées entre les définitions, elles peuvent éviter de créer des données distinctes pour chaque agent.

2. Configurer les liens entre la shape library et les layers

La shape library contient les formes géométriques utilisables par l’agent, chacune avec un nom unique. Les layers déterminent quelles formes sont utilisées lorsque l’agent est déplié, ainsi que la façon dont elles sont transformées ou déformées. Cette séparation permet de gérer indépendamment les morceaux de géométrie et leur liaison au rig.

  1. Organisez la géométrie sous forme de formes nommées. Attribuez un nom unique à chaque forme de la shape library. Selon la documentation, les formes sont stockées sous forme de primitives packed et la library peut être enregistrée dans un seul fichier géométrique au format geo/bgeo standard. L’attribut de détail shapelib_includes permet d’importer des shape libraries supplémentaires ; cet attribut attend un chemin en deux parties pour chaque source additionnelle.

  2. Définissez les shape bindings dans un layer. Chaque liaison associe une forme de la shape library à une transformation du rig. Elle peut aussi préciser un facteur d’échelle pour la bounding box de la forme et le déformeur à utiliser. Si aucun déformeur n’est attribué, la liaison est statique : la forme suit la transformation de l’articulation à laquelle elle est liée.

  3. Choisissez le déformeur en fonction des besoins de la forme. Pour les déformations par skinning, la géométrie doit être en pose de repos et contenir des attributs de capture décrivant l’influence des transformations du rig sur la géométrie. La documentation présente le skinning linéaire, le dual quaternion skinning et une option qui combine les deux. Le skinning linéaire est décrit comme la méthode standard et la plus rapide ; c’est également la seule méthode utilisée pour le skinning GPU dans le viewport.

3. Ajouter les clips d’animation et les groupes de rig

Les clips pilotent les transformations et les valeurs des canaux de l’agent. Les layers, les transformations et les valeurs des canaux actifs de l’agent déterminent la géométrie obtenue lorsque celui-ci est déplié. Les clips sont enregistrés au format standard .bclip.

  1. Faites correspondre les canaux des clips au rig. La documentation précise que les canaux de transformation sont stockés dans l’espace local et utilisent le format transform_name:channel. Les noms des canaux peuvent désigner des composantes de position, de rotation, d’échelle ou de cisaillement. Si l’animation source comporte un pré-transform, tenez compte du fait que les transformations locales complètes du clip peuvent différer des canaux de transformation des objets source.

  2. Appliquez les clips à des parties précises du squelette. Un transform group est un sous-ensemble nommé de transformations et de canaux du rig. Il peut servir à appliquer des clips uniquement à certaines parties de l’agent. La documentation indique qu’un poids compris entre 0 et 1 peut être attribué à chaque transformation du groupe.

RéglageValeur indiquéeEffet
Poids d’une transformation dans un transform groupPlage indiquée dans la documentation : 0–1Définit le poids de la transformation du groupe lors de l’application du clip. Cette plage n’est pas un préréglage, mais les limites des valeurs possibles.
  1. Distinguez les notions de state et de trigger de l’animation. Dans le système de foule de Houdini, le state désigne l’état virtuel qui gère l’animation de l’agent et les comportements qu’il exécute. Les triggers indiquent les conditions qui font passer l’agent d’un état à un autre. La documentation aborde également les poids des comportements, la diversité et les interactions avec d’autres dynamiques ; ces notions ne remplissent pas la même fonction que les clips.

4. Choisir un workflow d’enregistrement et de réutilisation

Les composants d’une définition d’agent peuvent être intégrés au fichier de géométrie. Il est aussi possible d’enregistrer chaque composant dans un fichier distinct et de l’utiliser comme référence externe depuis la primitive d’agent. Dans ce cas, le fichier de géométrie contient le chemin d’accès au composant plutôt que le composant lui-même. SideFX indique que cette méthode peut réduire considérablement les données répétées, notamment lors de l’enregistrement des images d’une simulation de foule.

  1. Choisissez le mode de stockage en fonction de la structure de la scène. L’intégration des composants conserve les données de la définition avec le fichier de géométrie. Les références externes font appel à des fichiers distincts. Dans les scènes où la même définition est répétée sur plusieurs images, envisagez cette approche et vérifiez que les fichiers restent accessibles dans le pipeline de production.

  2. Écrivez la définition d’agent sur disque ou créez-la. Agent ROP peut servir à écrire sur disque la définition d’une primitive d’agent existante, ou à créer une définition d’agent à partir d’un rig de personnage ou d’un fichier FBX. À cette étape, veillez à ce que le format d’enregistrement corresponde à votre choix : intégrer les composants ou les utiliser comme références externes.

  3. Vérifiez les composants ensemble. Commencez par contrôler que le rig, les shape bindings, les déformeurs et les clips donnent le résultat attendu ; passez ensuite à d’autres aspects, comme les comportements de foule, l’adaptation au terrain ou l’évitement des obstacles. Il ne s’agit pas d’un réglage recommandé dans la documentation, mais d’une proposition de workflow pratique pour tester séparément des composants interdépendants. La documentation de SideFX mentionne également le workflow Crowd Procedural pour l’optimisation au rendu, sans toutefois préciser de valeurs ou de configuration matérielle.

Erreurs fréquentes

  • Réutiliser le nom d’une forme dans une même shape library : chaque forme doit avoir un nom unique.

  • Oublier la pose de repos ou les attributs de capture nécessaires à l’utilisation d’un déformeur de skinning.

  • Supposer que les canaux de transformation locaux du clip seront identiques à ceux de l’animation source alors que celle-ci comporte un pré-transform.

  • Créer des références à des fichiers externes sans vérifier que ces fichiers sont accessibles dans l’environnement de projet et de rendu.

  • Considérer les states, les triggers et les clips d’animation comme ayant la même fonction : leurs rôles diffèrent.

Dans les workflows d’architecture, d’architecture d’intérieur et d’archviz, l’intérêt potentiel de ce guide réside dans la possibilité de mieux organiser les données de personnages répétées. Il ne s’agit pas d’une promesse de la documentation de SideFX concernant un usage spécifique à ces domaines, mais d’une déduction sur la façon dont les composants d’agents de foule documentés peuvent être employés en visualisation architecturale. Dans les scènes comportant des foules, regrouper les rigs, les géométries et les clips communs sous une définition peut faciliter le suivi des composants. Les références externes peuvent également réduire les données répétées. En revanche, la source ne garantit aucune configuration particulière en matière de GPU ou de RAM, aucune condition de licence ni aucune compatibilité avec d’autres logiciels d’archviz. Ces points doivent être vérifiés séparément en fonction de l’installation Houdini et du pipeline de production utilisés.

Sources

2 sources
S
sidefx.comsidefx.com/docs/houdini/crowds
Résumé
S
sidefx.comsidefx.com/docs/houdini/crowds/agents.html
Résumé

Les textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.

L’avis de 3dsınıfı
3dL’analyse de la rédaction

Pour les bureaux et les équipes de visualisation, l’intérêt pratique de la structure d’agents Houdini tient à sa capacité à organiser les données de personnages répétées en composants de rig, de géométrie et d’animation. Dans les scènes comportant de nombreuses images, les références externes peuvent contribuer à simplifier la gestion des fichiers ; toutefois, comme l’indique la source, le gain dépend du niveau de répétition dans la scène.

Les équipes en Turquie ne devraient pas tirer de conclusions de la documentation concernant le matériel disponible ou le coût des licences ; elles doivent vérifier ces points pour leur propre installation. Avant de passer en production, il est judicieux de valider, lors d’un essai à petite échelle, les exigences des déformeurs, la correspondance des clips et les chemins d’accès aux fichiers externes. Le rôle du skinning linéaire dans le skinning GPU du viewport doit également être pris en compte pour définir les attentes en matière de performances.

Questions fréquentes

Quels composants peut contenir une définition d’agent de foule dans Houdini ?

Une définition d’agent peut contenir un rig, une shape library, des layers, des clips, des transform groups et des métadonnées facultatives. Les layers, les transformations et les valeurs des canaux actifs de l’agent déterminent la géométrie obtenue lorsque celui-ci est déplié.

Quelles méthodes de skinning sont disponibles pour les agents de foule dans Houdini ?

La documentation présente le skinning linéaire, le dual quaternion skinning et une option qui combine les deux méthodes. Le skinning linéaire est décrit comme la méthode standard et la plus rapide.

À quoi sert l’enregistrement d’une définition d’agent Houdini dans des fichiers séparés ?

Les composants de la définition peuvent être enregistrés dans des fichiers distincts et conservés comme références externes dans le fichier de géométrie. SideFX indique que cela peut réduire les données répétées, notamment lors de l’enregistrement des images d’une simulation de foule.

Les commentaires et le forum sont en turc.Rejoindre la discussion
+

À lire aussi