Skip to main content
10 Astuces pour de Meilleures Simulations de Fluide Houdini FLIP

10 Astuces pour de Meilleures Simulations de Fluide Houdini FLIP

BySuperRenders Farm Team
Published 16 mars 202613 min read
Astuces pratiques d'artistes FX en production pour des simulations FLIP plus rapides et contrôlables dans Houdini.

Houdini fournit un ensemble puissant d'outils pour simuler des fluides. Cependant, c'est toujours un défi de rendre les fluides réalistes, en particulier pour le travail broadcast.

Dans cet article, explorons quelques astuces de l'artiste FuseFX Kevin Pinga pour créer des simulations de fluide FLIP plus rapides et flexibles. Nous avons également intégré des informations opérationnelles de notre ferme sur la performance de ces workflows à l'échelle lors du rendu de séquences fluides complexes.

Pour les studios cherchant à déléguer des simulations Houdini lourdes et le rendu au cloud, notre comparaison des fermes de rendu Houdini pour 2026 couvre le support des moteurs, la compatibilité HDA et les tarifs des principaux fournisseurs.

Les simulations FLIP sont l'un des outils de simulation de Houdini. Pour une comparaison des capacités de simulation plus larges de Houdini par rapport aux outils de FX de caractères spécialisés, notre comparaison Ziva VFX vs simulation Houdini examine les compromis pour les workflows de muscle, tissu et soft-body.

Sourcer les fluides avec POP Source, pas FLIP Source

Sourcer les fluides avec POP Source fournit les attributs d'émission, activation et vélocité familiers

Sourcer les fluides avec POP Source fournit les attributs d'émission, activation et vélocité familiers

La méthode par défaut pour sourcer un fluide pour FLIP est d'utiliser un nœud FLIP Source. Il crée un VDB qui est lu par le nœud Volume Source dans DOPs. Cette approche fonctionne bien lors du sourçage à partir d'une grande forme ambiguë ; cependant, elle peut devenir très consommatrice de ressources et longue avant même d'arriver à la phase de simulation.

À la place, vous devriez utiliser la géométrie SOP polygonale régulière directement sans conversion en VDBs. Cette source peut être lue par le nœud POP Source connecté à l'entrée Sourcing du solveur FLIP lui-même, de la même manière que vous importeriez une source pour une simulation de particules régulière.

Cette méthode est plus intuitive car vous disposez de contrôles familiers sur le nœud POP Source grâce à votre expérience de travail avec des particules régulières. Vous pouvez contrôler et surveiller les particules facilement et indépendamment de la Particle Separation de l'objet FLIP lui-même.

Utiliser les nœuds POP avec les fluides FLIP

Interface Houdini montrant un nœud POP Force ajouté à une simulation FLIP pour créer un mouvement et du bruit fluides détaillés

Interface Houdini montrant un nœud POP Force ajouté à une simulation FLIP pour créer un mouvement et du bruit fluides détaillés

FLIP est essentiellement une série de POPs avec quelques étapes d'advection volumétrique entre eux. Cependant, la base elle-même n'est que des particules, ce qui signifie que tous les nœuds POP dans DOPs peuvent être utilisés pour les fluides FLIP. C'est pourquoi vous aviez la capacité de sourcer en utilisant le nœud POP Source dans l'astuce précédente.

Le nœud POP Force est un incontournable pour créer des mouvements intéressants lors du travail avec des particules régulières. Vous pouvez l'utiliser avec les fluides FLIP aussi. L'utiliser pour introduire ne serait-ce qu'une petite quantité de bruit peut créer un fluide d'apparence plus attrayante. Les bruits de basse fréquence peuvent aussi créer des détails sans avoir à augmenter votre nombre de particules ou votre séparation de particules. (Attention à ne pas ajouter trop de bruit, car cela peut causer une simulation irréaliste.)

Un autre nœud POP qui est utile dans les simulations FLIP est POP Speed Limit. Couplé avec un nœud POP Drag, il fonctionne très bien pour contrôler les particules à haute vélocité qui pourraient sinon devenir incontrôlables.

Utiliser Bounds qL pour définir vos limites FLIP

Référencer les paramètres dans Bounds qL aide à définir les limites de simulation

Référencer les paramètres dans Bounds qL aide à définir les limites de simulation

Le nœud Bounds qL est un outil très utile qui regroupe de nombreuses fonctionnalités simples. Il fait partie d'une boîte à outils Houdini open-source plus large appelée qLib. Dans la plupart des studios, qLib est installé par défaut. Si ce n'est pas le cas dans votre environnement de production personnel, vous pouvez l'installer vous-même en suivant les instructions sur GitHub.

Kevin Pinga partage qu'il utilise Bounds qL principalement pour définir ses limites de volume pour les simulations FLIP et Pyro. C'est une amélioration par rapport au nœud Bound standard car il inclut une option pour créer des limites basées sur une entrée animée.

La fonctionnalité la plus utile est la case à cocher Output : Values, qui déverrouille les valeurs de la taille et du centre de la boîte de délimitation. Ces valeurs peuvent ensuite être copiées à n'importe quel paramètre dans l'onglet Volume Limits du solveur FLIP, ou à n'importe quelle autre opération nécessitant une boîte de délimitation. Avoir une info centralisée de boîte de délimitation peut éviter les erreurs utilisateur et aide à créer des setups plus procéduraux.

Activer les attributs utiles dans le solveur FLIP

Activation des attributs FLIP supplémentaires : comme beaucoup de choses dans Houdini, la solution ne tient qu'à quelques cases à cocher

Activation des attributs FLIP supplémentaires : comme beaucoup de choses dans Houdini, la solution ne tient qu'à quelques cases à cocher

Il y a trois principaux paramètres sur le solveur FLIP que vous devriez activer dans vos sims FLIP : ID, age et vorticity. Ils se trouvent dans le FLIP Solver sous les onglets Behavior et Vorticity.

La plupart des artistes sont déjà familiers avec l'attribut ID et sa puissance. Votre taille de données pourrait prendre un petit coup lors du caching d'un attribut supplémentaire, mais c'est toujours une bonne idée d'avoir cette information disponible.

Vous pouvez contrôler comment une sim ressemble au fil du temps en activant l'attribut age via la case à cocher Age Particles (qui exporte aussi l'attribut life). C'est particulièrement utile si vous avez une source qui émet constamment.

L'attribut vorticity est pratique pour sourcer les simulations secondaires comme le whitewater et est très utile pour manipuler l'ombrage.

Effectuer des ajustements post-simulation pour sauver les sims défaillantes

Un simple VEX wrangle pour ajuster la taille des particules en fonction de la densité du nuage de points

Un simple VEX wrangle pour ajuster la taille des particules en fonction de la densité du nuage de points

Il y a une tendance à s'appuyer fortement sur la sortie d'une simulation FLIP comme résultat final. Bien que ce soit un workflow idéal, en raison de contraintes de temps, vous n'avez pas toujours le luxe de re-simuler pour corriger les problèmes. Dans ces cas, exécuter des ajustements post-simulation sur les particules FLIP elles-mêmes peut aider à sauver la sim.

Vous devriez aussi ajouter l'attribut ID pour pouvoir utiliser le nœud Retime pour retime une sim.

Pinga note qu'il rencontre un autre problème courant lors de l'exécution de simulations mid-res : la taille des gouttelettes de liquide est bonne dans les zones à haute densité de la simulation, mais trop grande dans les zones plus éparses. Dans ces cas, un simple wrangle utilisant la fonction pcfind peut aider à marquer les zones éparses et réduire leur valeur pscale.

Voici le snippet de code utilisé dans le wrangle :

int pc[] = pcfind(0,'P',@P,chf('max_dist'),chi('max_pts'));
@pscale *= float(len(pc))/ch('max_pts');

Utiliser xyzdist pour gérer les surfaces de collision haute résolution

Utiliser xyzdist() et primuv() pour pousser les particules vers la surface de collision

Utiliser xyzdist() et primuv() pour pousser les particules vers la surface de collision

Ceci est un autre ajustement post-simulation. Avec primuv(), xyzdist() est de loin la fonction la plus utile pour l'affinement des collisions.

Dans un contexte VEX ou VOPs, xyzdist() calcule la distance au point interpolé le plus proche sur une surface. Combinée avec primuv(), vous pouvez extraire n'importe quel attribut des UVs paramétriques de l'objet.

Dans l'exemple ci-dessus, vous extrayez la position de la surface de collision haute résolution et l'utilisez pour pousser les particules vers la surface. Dans certains cas, vous pouvez aussi l'exécuter directement sur la surface maillée elle-même, particulièrement dans les plans où la surface de collision est transparente (par exemple, verser un liquide dans un verre clair). Limiter la distance à une très petite valeur vous aidera à accélérer les calculs.

Voici le snippet de code utilisé dans le wrangle :

//initializing variables
int p_prim;
vector p_puv;
//getting the distance and the parametric position of the closest point
float dist = xyzdist(1,@P,p_prim,p_puv);
vector P2= primuv(1,"P",p_prim,p_puv);
//mixing the P of the points, influenced by a mapped distance
@P = fit(dist,chf("min_dist"),chf("max_dist"),P2,@P);

En production, il y a une utilisation plus pratique. Vous utilisez un collider moins précis lors de la simulation, puis exécutez cette fonction dans un wrangle post-simulation pour que le fluide semble interagir avec un collider haute-res. Cette approche économise un temps de simulation significatif tout en maintenant la fidélité visuelle.

Éliminer les particules problématiques avec ID

Une méthode simple pour éliminer correctement les particules problématiques via les attributs ID

Une méthode simple pour éliminer correctement les particules problématiques via les attributs ID

C'est une astuce simple mais efficace quand vous avez une simulation à 98 % proche du final, mais où les 2 % restantes de particules ne fonctionnent tout simplement pas. Si vous avez stocké l'attribut ID mentionné dans les astuces précédentes, vous pouvez l'utiliser pour éliminer les particules problématiques. Sans ID, vous ne seriez pas capable de marquer les bonnes particules pour suppression car le nombre de points change d'image en image.

Vous pouvez résoudre les problèmes en entrant en mode de sélection de points et en appuyant sur [9] sur votre pavé numérique. Cela ouvre le volet Group Selection. Pour sélectionner par ID, cliquez sur l'icône d'engrenage et sélectionnez Attributes > id. Maintenant vous pouvez simplement sélectionner les particules que vous voulez supprimer dans le viewport et appuyer sur [Delete]. Un nœud Blast sera généré automatiquement en référençant l'ID de point au lieu du numéro de point.

Utiliser le reseding pour renforcer les régions éparses

Augmentez le surface oversampling pour remplir les zones éparses d'une simulation

Augmentez le surface oversampling pour remplir les zones éparses d'une simulation

En production, parfois vous rencontrerez un problème où le rendu final n'a pas l'air correct parce qu'il n'a pas assez de particules. Ceci est dû à l'utilisation d'une sim FLIP mid-resolution.

Dans ces cas, vous devriez augmenter les paramètres de reseding au lieu de modifier votre particle separation. Par défaut, le reseding est déjà activé, mais augmenter le paramètre Surface Oversampling peut aider à augmenter le nombre de particules dans les zones éparses en étalant les particules. De cette façon, vous conservez l'apparence générale de votre simulation tout en ayant assez de particules pour éviter que le fluide maillé ne semble incorrect.

Utiliser la sim FLIP originale directement comme un élément différent

Rendu de la sim FLIP originale directement comme whitewater

Rendu de la sim FLIP originale directement comme whitewater

La manière traditionnelle de créer du whitewater est de simuler le fluide FLIP, puis d'exécuter le solveur Whitewater dessus. Cependant, la deuxième étape n'est pas toujours nécessaire, particulièrement pour les fluides à mouvement rapide comme les éclaboussures et les jets d'eau (pensez à un hydrant brisé ou sous l'eau dans une baignoire chaude). En outre, cela peut être assez délicat de faire en sorte que le fluide semble correct lors du maillage des particules.

Cependant, vous pouvez prendre la sim FLIP elle-même et la rendre directement avec un shader whitewater. Vous pouvez soit rendre les particules elles-mêmes, soit les rasteriser en un VDB et rendre le résultat comme un volume.

Optimiser la sim et les caches

Utiliser la case à cocher Delay Load Geometry dans le nœud File Cache pour accélérer le travail sur les sims haute-res

Utiliser la case à cocher Delay Load Geometry dans le nœud File Cache pour accélérer le travail sur les sims haute-res

L'un des défis avec les sims FLIP haute-résolution est de traiter les grandes quantités de données qu'elles génèrent. Une pratique courante est de supprimer tous les attributs dont vous n'avez pas besoin avant de cacher n'importe quelle partie d'une simulation.

Une autre chose que vous pouvez faire pour réduire votre empreinte mémoire est de réduire les particules en dehors du frustum de la caméra. En outre, si vous avez une géométrie prête à être rendue, c'est une bonne idée de la cacher et d'avoir la case à cocher Delay Load Geometry activée. Au lieu d'avoir Mantra intégrer la géométrie dans le fichier IFD, elle sera référencée au fichier sur le disque. Cela aidera à réduire les temps de chargement et réduira drastiquement à la fois les temps de génération IFD et la taille des fichiers.

Lors du rendu de grandes simulations FLIP sur une infrastructure distribuée, ces stratégies de cache deviennent critiques. Nous avons travaillé avec des studios rendant des semaines d'animation FLIP, et l'optimisation correcte du cache réduit généralement le temps de transfert et le temps de rendu total de 30 à 40 %.

Super Renders Farm est une ferme de rendu Houdini dans le cloud. Notre logiciel s'intègre avec Houdini et vous connecte à la ferme via un simple plugin.

FAQ

Puis-je rendre les simulations Houdini FLIP sur une ferme de rendu cloud ?

Oui. Les simulations FLIP s'exportent comme des caches de géométrie ou des séquences VDB. Vous devez vous assurer que tous les fichiers de cache, textures et géométrie référencée sont accessibles depuis la ferme de rendu. Houdini sur les fermes de rendu charge généralement les données de simulation pré-calculées plutôt que d'exécuter la simulation elle-même lors du rendu.

Quel format dois-je utiliser pour cacher ma sim FLIP avant le rendu en ferme ?

Les séquences VDB (OpenVDB) sont idéales pour la distribution en ferme de rendu—elles se compressent bien et se chargent rapidement sur l'accès réseau. Alternativement, exportez en séquences Alembic (.abc) si vous avez besoin de préserver la topologie pour l'ombrage de déformation.

Combien d'espace disque un cache FLIP typique occupe-t-il ?

Cela varie considérablement. Une sim FLIP 10 secondes haute-res peut facilement occuper 10 à 50 GB selon le nombre de particules et la fréquence de cache. Calculez toujours la taille de cache attendue avant de soumettre à une ferme—de nombreuses fermes facturent selon le transfert de données et le stockage.

Ma simulation FLIP fonctionnera-t-elle de manière identique lorsque cachée et rendue sur différentes machines ?

Oui, une fois cachée, la simulation est verrouillée. Le rendu de géométrie cachée produit des résultats identiques indépendamment du matériel. La partie importante est d'assurer que tous les chemins de textures et références externes sont accessibles à la ferme.

Ai-je besoin de Houdini installé sur les machines de la ferme de rendu ?

Pour le rendu seul, non. Si vous utilisez Mantra, vous avez besoin d'Houdini Apprentice ou Houdini Engine. Pour le rendu en V-Ray ou d'autres moteurs tiers, vous n'avez pas besoin de Houdini du tout—juste les fichiers de géométrie et de texture.

Que faire si ma simulation référence des objets de collision externes ou une géométrie se déformant de manière animée ?

Incorporez toutes les collisions dans votre cache lors de la simulation. La ferme rendra le résultat pré-simulé. Pour les setups vraiment dynamiques (déformation live lors du rendu), vous aurez besoin de cacher des fréquences plus élevées ou d'utiliser des approches procédurales.

Voir aussi

Ressources Externes


Dernière mise à jour : 2026-03-18