Ici on parlera de simulation des foules

Crowd

post simulation

foot locking/planted

pour recupperer les info de foot locking/planted

  • faire un agent Unpack setter en skeleton, et tranferer les attributes agentfoot_locked agentrig_footchannels joint agentname
  • dans un wrangle en points mettre le code suivant:
    string footL [] = s[]@agentrig_footchannels;
    i@fLock;
    foreach (int i;string n;footL){
    if (match(s@name+"_planted",n)==1){
    i@fLock = i[]@agentfoot_locked[i];
    }
    }
    if (i@fLock == 0){removepoint(0,@ptnum,1);}

    footLock

un look at pas cher

Utile pour faire en sorte que les agents de la foule regardent tout dans la bonne direction.

  • Dans un wrangle en points après une sim de crowd mettre le snippet suivant avec en input 0 la foule et en input 1 une cible (un point).

vector target = point(1,"P",0);
vector myUp = set (0,1,0);

v@dir = normalize(target-@P)*set(1,0,1);

float myDot = dot(normalize(@dir),normalize(v@heading));

f@angle = degrees(acos (myDot));

v@headingPerp = cross (v@heading,@up);
f@checkWhichSideToTurn = dot (normalize(@dir),normalize(v@headingPerp));

//@angle += fit01(@noise, -30,30); 

if (@checkWhichSideToTurn>0)@angle*=-1;
  • Ensuite dans un agent edit creer un adjust transform, selectionner le joint qui controle la luque par exemple.
  • Cocher use VEXpressions mettre le snippet suivant:

// Rotation
r.x += @angle/2;

Rendu

Mantra Legacy

Corriger les aovs de Z et la P

J'avais un problème d'opacité sur les cheuveux de ma crowd qui cassait mes passes de Z et de Positions.

  • dans l'onglet extra image plane, mette le sample pixel en closest surface, dans le noeud de rendu mantra.

cryptomatte custom

utile pour créer des set de cryptomatte comme on l'entend. Ici on va le faire par shape.

  • Il faut d'abord creer des attibuts et leurs donner un nom unique dans un wrangle en points
s@crypto_agentId = s@name;
s@crypto_shop = s@shop;
s@crypto_agentType = s@agentname;
s@crypto_shape;
s@crypto_paquet = s@paquet;

s@crypto_eye = "crypto_eye";
s@crypto_body="crypto_body";
s@crypto_head="crypto_head";
s@crypto_cloth_F="crypto_cloth_F";
s@crypto_cloth_M="crypto_cloth_M";
s@crypto_cheveux="crypto_cheveux";
  • Ensuite il faut creer des parametres de type user properties au niveau /obj et les nommer comme nos attribut ci-dessus.

crypto01

  • Ensuite dans material style sheets il faut les declarer une nouvelle fois (onglet data tree -> material style sheets).

crypto02

  • Et finalement il faut aussi les declarer dans le node mantra en output dans: image -> cryptomatte.

crypto03

  • Pfiou: le tour est joué.

Lien

Crowd ML a checker

FMX talk superprod crowd in Astérix

Houdini