Vous n'êtes pas identifié.
ca DEFONCEEEEEEEEEEEEEEEEEEEEEEEEE
WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa tu nous sauve la vie v faire un test avec blend shape et skinning demain voir si ca bouge pas trop
Edit
Bein deja le perso passe en smooth 1 donc c nikle Chrome ... en esperant que les blend shape et skinning passe bien normalement je vois pas le problem enfin bon attention c'est maya quand meme lol...
Ps aufaite tu pourrai pas voir pour crée un ptit mel ou un prog enfin un truc pour faire de la peau lol tu vois un peu le truc
ReEdit
Jpouvais pas attendre demain le skinning ca passe et donc je suppose que les blends aussi.
franchement ca va grave le faire v pouvoir texturer un peu comme pour les nurbs avec les patchs v pouvoir faire plusieurs partie sans que ca se grille héhé ... Mici
putain je comprends rien !!
un mel qui fait de la peau ? hu hu precise voir ?
par contre la vais dodo ca m'a achevé ces conneries
sinon faudra voir ce que ca done au rendu, on sait jamais maya tt ca
ct la question qui me taraudait de savoir si ca passe bien la aussi
et j'ai essayé avec un smooth level 3, c long, mais ca marche 
Hors ligne
Bon bein au rendu marche poa
voila le bug carré noir

c space
la je saurais pas du tout d'ou ca vient j'y connait encore pas grand chose
mais sinon j'ai oublié un truc dans le script et je sais pas si c fait automatiquement à savoir la normalisation à 1 des nouvelles normes que je génère
je jeterai un oeil cet aprem on sait jamais 
Hors ligne
mmh en fait j'ai l'impression que ca passe pas au skinning
il a l'air de pas animer les normales, meme si j'ai un truc completement clean avec un historique reseté tout ca
par contre j'ai fait plin de test de rendu avec/sans ray tracing ombres portés tout ca j'ai pas de bug quand mon objet est pas animé avec son skelet (la ou ca foire chez moi :
en fait chez moi les normales s'animent pas
c space
)
Hors ligne
bon ba c mort pour dans l'immediat
j'ai reflechi et un peu lu la doc, et pour que ca marche sur le skin il faut faire un mel script node qui calcule en permanence la nouvelle normal
en gros, y'a 2 mode de normal sur les vertex :
-les freezées qu'on déinit nous meme
-les pas freezées qui sont calculées automatiquement (et qui font des coupures de merde)
les freezés c bien si on modifie pas la geométrie de l'objet (avec un skin par exemple) donc en gros il faut faire des normales dynamiques avec un mel script node qui les calcules a chaque frame (tres simple dans la logique: un noeud qui appliqué a une vertex lui dit les 2 normales a recuperer pour la moyenne)
donc jvais essayer de gagner des skills en mel script node maintenant 
Hors ligne
Vous avez vraiment pas de vie les mecs. Mais si on veut y arriver ya pas d' autres solutions
On a regarde ton script au boulot et je me demandais: si tu fait une eval de norm a chake frame tu risque pas de faire eclate tes temps de render pendant la tesselation?
En meme temps g pas trop suivi l' utilite concrete de ta moulinette. Si c en rapport avec le prob de gojira; ya pas mal d' autres solutions plus probantes (je veus dire stable). Je suis curieu de voir le resultat final. Allez HOP, au taff.
je sais pas si ca va faire ramer plus que n'importe quel noeud entre la skin et le model en tout cas
la ca sera juste un truc qui mouline des normales a chaque frame et comme tout les trucs seront stockés y'aura peanuts comme calculs
par contre je viens de tester pour creer des script node: ba on peut le faire que sur du software render frame, quand t en mental ray ca execute rien
ca me fait assez délirer maya
Hors ligne
Euh bein Gooki si ta des conseils chui awaarrrrrre
paske pour le moment pas de solutions miracle encore ... meme si ca avance.
j'ai eu une révélation en prenant mon dessert
en fait j'ai l'impression d'etre un peu con de pas y avoir pensé avant
mais voila un shot ca explique mieux que les mots la tt de suite
donc voila...
en fait en reflechissant un peu une normal de vertex c généré grace aux face a laquelle appartient la vertex, alors c sur quand on lui vire des face, la normal de vertex part en vrille.. soit ! laissons luis ses faces mais par contre on peut toujours les rendre transparente
muhaha
bon ba sinon jfinirais mon script paske ca m'eclate
et que je découvre le mel aussi donc ca me fait gagner des skills
Hors ligne
Kekun peut me poser clairement le prob de Gojira Merci (Jsuis pas mechant mais un peu bete et/ou bouche des fois.
Je viens de relire le post et g compris ca:
tu as une tete blende avec couture apparente et tu voudrais lier les deux sans couture au smooth.
dans ce cas notre tchitche national a fait la feinte suivante (attention c bourrin): tu blend, tu merge les vertices de la target, tu skin en gardant l' historique.
J' avais bien dit ke c etait bourrin
et surtout ca rame sa maman a l' anim.
Apres si la tesselation et la meme et ke tes influences de skin son similaire de part et d' autres de ta couture ca devrait faire la blague.
N.B: Plus je vois d' anim en prod et plus je me rends compte ke les gars de l' anim/setup evitent les blends au profit des bones ki deforment les differentes partis du visage.
Avantage certain vis a vis de ton probleme pas de blends et surtout une infinite de blends (rien ne t' empeche de te faire une biblio d' expressions en TRAX). Desavantage modeling NICKEL, placement de bones et skin NICKEL.
. Et ca c methode teste et approuve en prod (demande a alex ou cyril.
Enjoy A+
Bein merci de me conforter dans lidée que les blends c pas la joie enfaite on a tous fait des blend dans la classe paske Julien (le Mec de Buf) a dit que se serai plus simple, oui ptet avec les soft de Buf lol pas maya enfin bon voila bein enfaite je crois que jv le faire a la Tchitche héhé ... on a deja essayer ca marche mais bon c t pour eviter ca que je pausais la question 
bon ba moi j'ai finit mon script
ca corrige on demand et a chaque render frame (en software) les normales
c pas mal rapide ca defonce bien
c pas encore tres clean tout ca mais voila ca marche pas mal > a tester
http://www.yznah.net/maya/yzaveragenormals2.mel
global proc string yzAverageNormals() {
string $sel[] = `ls -sl`;
//verif de la selection
if (size($sel)!=2)
return "nan faut 2 mesh sinon c pas la peine :)";
//comptage des vertex
int $numVertex1[]=`polyEvaluate -v $sel[0]`;
int $numVertex2[]=`polyEvaluate -v $sel[1]`;
//table des vertex qui sont en bordure (ca aide ;)
int $table1[];
int $table2[];
for ($v=0;$v<$numVertex1[0]; $v++ ) {
if(isVertexOnBorder($sel[0],$v)==1) $table1[size($table1)]=$v;
}
for ($w=0;$w<$numVertex2[0]; $w++ ) {
if(isVertexOnBorder($sel[1],$w)==1) $table2[size($table2)]=$w;
}
if ( size($table1)==0 || size($table2)==0 ) return "faudrait aussi trancher les mesh ;) ca sert a rien sinon";
//recherche des vertex au meme endroit
int $couple1[];
int $couple2[];
int $i=0, $j=0;
for ( $i=0; $i<size($table1); $i++ ) {
$p1=getAttr ($sel[0]+".vt["+$table1[$i]+"]");
$p1[0]=precision($p1[0],2);
$p1[1]=precision($p1[1],2);
$p1[2]=precision($p1[2],2);
for ( $j=0; $j<size($table2); $j++ ) {
$p2=getAttr ($sel[1]+".vt["+$table2[$j]+"]");
$p2[0]=precision($p2[0],2);
$p2[1]=precision($p2[1],2);
$p2[2]=precision($p2[2],2);
if ($p1[0]==$p2[0]) if ($p1[1]==$p2[1]) if ($p1[2]==$p2[2]) {
$couple1[size($couple1)]=$table1[$i];
$couple2[size($couple2)]=$table2[$j];
}
}
}
if (size($couple1)==0) return "pas de vertex identiques, pas d'bol :)";
//creation du scriptNode des données récupérés
string $yzanvar = `scriptNode -st 1 -n "yzAverageNormalsVarNode1"`;
string $codevar="//generated yzAverageNormalsVarNoden//ca fait 2 jolies liste de couple de vertex (editable en + :)nn";
$codevar+=("string $"+$yzanvar+"_sel[]={""+$sel[0]+"",""+$sel[1]+""};n");
$codevar+=("int $"+$yzanvar+"_cp1[];n");
$codevar+=("int $"+$yzanvar+"_cp1[];nn");
for($cp=0;$cp<size($couple1);$cp++)
$codevar+=("$"+$yzanvar+"_cp1["+$cp+"]="+$couple1[$cp]+"; $"+$yzanvar+"_cp2["+$cp+"]="+$couple2[$cp]+";n");
//creation du scriptNode pour recalculer les normales a chaque rendu de frame (en software..)
string $yzan = `scriptNode -st 5 -n "yzAverageNormalsNode1"`;
//generation du script
string $code="//generated yzAverageNormalsNodenn";
//recuperation des normales unfreezées
//calcul de la nvelle normale par vertex
//set de la normal a chaque vertex
$code+=("float $"+$yzan+"_n1[3];n");
$code+=("float $"+$yzan+"_n2[3];n");
$code+=("for($"+$yzan+"_n=0;$"+$yzan+"_n<size($"+$yzanvar+"_cp1);$"+$yzan+"_n++) {n");
$code+=(" polyNormalPerVertex -ufn 1 ($"+$yzanvar+"_sel[0]+".vtx["+$"+$yzanvar+"_cp1[$"+$yzan+"_n]+"]");n");
$code+=(" $"+$yzan+"_n1=`polyNormalPerVertex -q -xyz ($"+$yzanvar+"_sel[0]+".vtx["+$"+$yzanvar+"_cp1[$"+$yzan+"_n]+"]")`;n");
$code+=(" polyNormalPerVertex -ufn 1 ($"+$yzanvar+"_sel[1]+".vtx["+$"+$yzanvar+"_cp2[$"+$yzan+"_n]+"]");n");
$code+=(" $"+$yzan+"_n2=`polyNormalPerVertex -q -xyz ($"+$yzanvar+"_sel[1]+".vtx["+$"+$yzanvar+"_cp2[$"+$yzan+"_n]+"]")`;n");
$code+=(" $nx=($"+$yzan+"_n1[0]+$"+$yzan+"_n2[0])/2;n");
$code+=(" $ny=($"+$yzan+"_n1[1]+$"+$yzan+"_n2[1])/2;n");
$code+=(" $nz=($"+$yzan+"_n1[2]+$"+$yzan+"_n2[2])/2;n");
$code+=(" polyNormalPerVertex -x $nx -y $ny -z $nz ($"+$yzanvar+"_sel[0]+".vtx["+$"+$yzanvar+"_cp1[$"+$yzan+"_n]+"]");n");
$code+=(" polyNormalPerVertex -x $nx -y $ny -z $nz ($"+$yzanvar+"_sel[1]+".vtx["+$"+$yzanvar+"_cp2[$"+$yzan+"_n]+"]");n");
$code+="n}";
scriptNode -e -bs $codevar $yzanvar;
scriptNode -e -bs $code $yzan;
//preview pour le fun :)
scriptNode -eb $yzanvar;
scriptNode -eb $yzan;
//salut
select -cl;
return ("yzAverageNormals OK! > (scriptNode -eb "+$yzan+";)");
}
global proc float precision( float $value, int $dec )
// $value == value to round off
// $dec == number of decimal places
{
float $bump = 0.5;
if ($value < 0.0)
$bump = -0.5;
// (split onto two lines to avoid linebreak in this example)
$value = trunc( $value * ( pow ( 10, $dec ) ) + $bump );
$value = $value / ( pow ( 10, $dec ) );
return $value;
}
//determine si une putain de vertex est sur une border edge
global proc int isVertexOnBorder(string $name, int $vertex) {
string $edge[] = `polyListComponentConversion -fromVertex -toEdge ($name+".vtx["+$vertex+"]") `;
$edge = `filterExpand -sm 32 -ex true $edge`;
for ($e=0;$e<size($edge);$e++) {
string $face[] = `polyListComponentConversion -fromEdge -toFace ($edge[$e]) `;
$face = `filterExpand -sm 34 -ex true $face`;
if ( size($face)==1) return 1;
}
return 0;
}
Hors ligne
mais t'es un fou toi ! 
en fait jvous ai filé un script avec une bête de bug
j'ai fait une erreur sur la moyenne des normales. en fait la vertex normal est généré avec les normales des faces auquelles elle apprtient. maintenant quand on recalcule cette normal il faut pas oublier que les normales qu'on recuperes sur les bords sont aussi calculés comme ca.. du coup quand on fait la moyenne d'une normal qui a été séparé avec 2 polys de chaque cotés ca roule. mais maintenant si on prend un vertex qui sera séparé dans un coin (morts aux coins) avec d'un coté 1 poly et de l'autre 3, il faudra plus faire une moyenne des 2 normales mais utiliser une formule de barycentre en fonction des nombres de faces de chaque coté. (du coup j'ai renommé mon truc vu que c plus des moyennes)
donc j'ai corriger ca, ca passe nikel au rendu (alors qu'avant ca deconnait sur les fameux coins) et dans le module de raytracing de maya les ombrs en raytrace ont l'air de déconner
http://www.yznah.net/maya/yzSeamlessExtract.mel
me manque plus qu'une fenetre pour activer les scriptnode avec un bouton et un truc qui detecte un peu plus vite les vertex paske c mega lent, un peu comme les constraint selection c un peu mega rapide
Hors ligne
Hé ben
Y'a pas à dire, moi qui aime les maths, je suis surpris de voir un truc aussi joliment expliqué et clair, j'suis vraiment épaté 
Hors ligne
moi j'ai eut 1,5/20 en math au BTS...
de quoi si j'en suis fier ? bien sur je l'ai eut mon BTS... 
Moi g toujouurs pas compris le sens profond de ton scripts (les maths elles se sont arretes devant la porte de ma chambre; elles ont eu peur.
moi j'ai eut 1,5/20 en math au BTS...
![]()
de quoi si j'en suis fier ? bien sur je l'ai eut mon BTS...
mdr moi j'ai eu 2.5/20 au bac
, pareil je l'ai eu alors je m'en bas les castagnettes ! 
OLa attention cest plus le sujet...
oui c'est vrai, d'ailleurs je retourne sur mon taf, hop hop
ben je vien de lire tous ça et j'ai absolument rien compris.
en gros il sert a quoi le script de ouf malade ?
et si je comprend bien sur maya les blend c'est pas la joie vaut mieu des joints? c ça ou bien ?

donc en gros tout ça c pour ne pas avoir le truc "merge vertex" dans l'historique?? c'est grave si on l'a?
par contre (c mon avis perso) je pense que les deux méthodes (blend et bones) sont bien et se complètent, on m'enlèvera pas de l'idée de la tête de que je pense que les blend c génial pour avoir une bonne expression bien belle à un moment précis...