5e cours CFX
La note
Import
On cherche ici à importer correctement une geometrie pour le Setup de simulation Houdini proxy to high poly
Import alembic

Convert : pour que chaque primitive soit lue, et pas des primitives packées
Exemple pour une geo type cube
Le workflow qui suit n'est qu'un exemple
On va enlever l'épaisseur :

- node delete -> normal -> spread angle à 60 environ
- node transform : on vient venir écraser la modé : scale 0 sur z, y ou x en fonction de la mode
- fuse : pour merge les points écrasés
- Remesh : quad vers triangles
- Attribute delete : on conserve uniquement la P (position) et normal
Exemple pour une geo type tube
Le workflow qui suit n'est qu'un exemple

- For each connected pieces : Cela crée un attribut class à la valeur différente pour chaque connected piece (c'est à dire un ensemble de faces connectées entre elles)
- add : on transforme la geo en points
- fuse : on cherche à avoir une seule suite de points alignés -> monter un peu le snap distance
- Add2 : polygon -> bygroup : construire une curve à partir des points
- resample : comme un rebuild dans maya : lengh : 0.02
- sort : reverse point sort : reverse l'ordre des points pour que le point 0 soit en haut.
- group expression : appeler le group "pin_rope" et dans le VEXpression :
@ptnum == 0;: pour avoir un group pour chaque ptnum 0 - Attribute delete : on conserve uniquement la P (position) et normal
Vent Houdini
La note
Il faut rentrer dans le Vellum Solver et ajouter un popwind que l'on branche à l'output FORCE

Hair
La note
Création des curves de base

Line :
- direction : 0,0,1
- length : 0.2
- points : 20
Node group expression
Avec le node group expression, on vient définir un groupe correspondant au point 0, point qui sera le point pin attaché à la géo pour chaque curve :
- Group type : points
- Group name : pin_hair
- VEXpression :
@ptnum ==0;
Scatter : scatter des points sur la géo qui vont servir de points de duplication de la curve d'origine avec le copytopoint
Simu groom
Après avoir bien préparé les curves pour la simu (voir plus haut, surtout le group expression pour l'attach), on vient les simuler.
On utilise aussi le Vellum Solver
Avec dans le vellum constraint le mode hair
Et un autre vellum constraint en attach to geo avec les group pin hair et le group de la geo d'attache (voir Simulation de tissu dans Houdini pour plus de détail sur l'attach to geometry)
Proxy to HIGH POLY
La note
Pour simuler notamment du cloth dans Houdini, on ne doit pas avoir d'épaisseur, on doit avoir un maillage en triangles, pas d'UVs etc (voir notamment : Import export clean Houdini)
On simule donc sur un proxy puis on vient réappliquer la déformation sur le mesh d'origine
1. Création du proxy et simulation
- Importation et préparation du proxy : Import export clean Houdini
- Simulation : Simulation de tissu dans Houdini
2. Déformer le high poly par le proxy
Méthode 1 (pas ultra propre mais ça marche)

Dans le timeshift : On enlève le $F (ctrl + click pour enlever) et on met seulement la frame 1 pour avoir la position de base
Le point deform vient deformer une geometrie par correspondance entre les points les plus proches de la géométrie déformée et de celle à déformer. Ainsi pas besoin d'avoir la même topo entre les 2 modés.
Le point deform reprend donc tous les attributs etc du high poly !
Méthode 2 (plus propre, précise et légère)

Dans le timeshift : On enlève le $F (ctrl + click pour enlever) et on met seulement la frame 1 pour avoir la position de base
Node Ray :
Il permet de venir projeter sur les UVs la position des points du mesh simulé (c'est plus précis)
- method : minimal distance
- output :
- prim Num Attribute
- Prim UVW Attribute
Attribute interpolate :
- Element Numbers Att : hitprim
- UVW - Weights Attribute : hitprimuv