PDA

Voir la version complète : Jolis yeux pour sale trombine...



Aurety
09/09/2002, 11h36
Bon la suite du tutos pour le bagnard...

Ce WE, j'ai voulu développé un petit bidule "expressionniste" pour gêrer de façon simple la gestion de mes yeux pour l'animation. À terme, développer un systême complet pour gérer le regard...

Si j'ai réussi à faire ce que je voulais, je voudrais maintenant avec l'aide de Tengaal ou de Designer ( si ils le veulent bien !! :oops: :oops: ) développer un plugin pour simplifier le process... ( voir interface dans l'image suivante ).

Une fonction force qui met les paupières en position : fermée, semi-fermée, ouverte. pour chaque oeil.

Puis une glissière pour des réglages plus précis.

Donc je suis parti de CinEyes de BhodiNut... Magnifique, mes yeux suivent bien la cible " look at me ". Puis en matant les jolies expressions dispos sur FC4D, je jette mon dévolu sur inherited rotation ( expression coffee ) qui assigne la rotation d'un objet sur la rotation d'un autre ( ici en l'occurence, un null object ). Je la colle sur une demi-sphère extrudée que je duplique-inverse ( pour faire les paupières haute et basse ).

Je duplique l'expression et l'édite sur la seconde sphère pour inverser le sens de rotation par rapport à la première... Excellent !! ca marche...

Lorsque je fais une Rotation sur l'axe rouge de bas en haut, la paupière haute descend, et la paupière basse monte... et forcément à l'inverse ca marche aussi.

Voilà un peu le résultat... et une petite vidéo ( 104 ko ).

http://www.lev-communication.fr/testimg/noeil2.mov

et l'image :

http://www.lev-communication.fr/testimg/eyes.jpg

teg
09/09/2002, 11h39
Et en plus du te mets a faire des plugs... tu me sideres...

Aurety
09/09/2002, 11h44
Ben qu'est-ce que tu veux, je veux devenir un cador sur ce soft que j'adore !! :wink:

teg
09/09/2002, 11h47
... ben je crois que t'es sacrément bien parti!
je pars une semaine, et PAF!
Te voila encore tut du mois, tu ponds des plugs, tu te mets a faire des visages photorealistes... p'tard!

Aurety
09/09/2002, 11h50
On s'est super poilés tous ensemble cette semaine !! :twisted: T'avais qu'à pas prendre de vacances !! héhé !! :wink:

teg
09/09/2002, 11h56
C'est malin ca! Jaloux!

C'est quoi l'histoire des lunettes, j'ai rien lu la dessus dans le forum...

Aurety
09/09/2002, 12h21
Va voir dans Avatar dans le salon ! c'est une histoire de fous !!

Aurety
09/09/2002, 12h26
Mise à jour de l'interface du plugin !

Bon Designer, Tengaal, va falloir me filer un petit coup de patte pour faire ce plug, voilà ca que j'aimerai bien obtenir...

J'ai ajouté par rapport à l'ancienne version, un controlleur pour le look at me ( à terme il serait bien de l'enlever pour que les boules des yeux ( synchronisées ) puissent tourner selon soient des paramêtres prédéfinis, soient des glissières HPB. Bon ca vous tente mon histoire de plug ??? :oops: :oops: :?

Aurety
09/09/2002, 12h29
Je ne sais pas pourqupi je ne peux plus éditer mon message, j'avais oublié de mettre l'image de la nouvelle interface du plug. la voilà... :oops:

Qu'en pensez-vous, c'est possible ou pas ??...

http://www.lev-communication.fr/testimg/eyes2.jpg

thelaulau
09/09/2002, 12h33
Aurety,

Je trouve ca super , bien pratique ton plugin !!!!!

Sont vraiment doué ici :oops: :shock: :D

Aurety
09/09/2002, 12h35
euh... Attends, c'est un projet pour l'instant !! :oops: :oops:

Je pourrais pas y arriver sans l'aide de Samir ou Tengaal ! J'attends l'avis des Masters !!... :wink:

Tengaal
09/09/2002, 13h12
Excellent Aurety, bienvenu dans le monde merveileux de la programmation ! :D
Pour la rotation des tes yeux (eyes target) il faut penser à définir les angles mini et maxi pour les angles de chaque axe. Par exemple, l'oeil qui tourne de gauche à droite ne doit pas se retrouver orienté vers le fond des paupières !
Eventuellement je te conseille pour tes sliders HPB eyes target, de donner un minimum négatif pour que la position centrale soit au milieu du slider à 0%.
Ex: -30 --- 0 --- 30 (valeurs du slider en degrés)
Tu peut attribuer une unité avec SetDegree(slider_ID,valeur,mini,maxi,step);

Aurety
09/09/2002, 13h28
Oula ! Oula ! Tengaal, t'emballes pas !

C'est encore un projet, et l'interface du plugin ici présentée, un joli Photoshop. :oops:

J'aimerai bien faire ce plug, mais bon j'ai besoin qu'on me prenne la main. Peut-être un bon moyen pour toi de faire un WIP pour la réalisation d'un plug par toutes ses étapes. Je serais ton élève le plus assidu. :D et certainement pas le seul... :wink:

Pourtant je n'ai rien d'autre que ce que j'ai fait grâce à des expressions. Ci-joint le fichier .C4D ou j'en suis actuellement. Il est déjà parfaitement opérationnel mais est basé sur les expressions. Je vais le poster également dans les ressources, tel quel c'est déjà trés bien. Il faudrait juste améliorer le process.

Bon dis Tengaal, ca te branche cette aventure de création de plug sous forme d'un WIP pour la communauté ??? Peut-être Designer pourra nous aider si il ne trouve pas le projet du plug ridicule..., et toutes les idées et les contributions des autres membres seront certainement d'un grand secours...

Si ca te branche, par oû je commence... ????

Steƒquißosse
09/09/2002, 14h02
Ça m'intéresse déjà beaucoup. Je m'inscris sur la liste d'attente. Bon courage Aurety!

Par contre, est-il possible que la cible de direction des yeux ne les fasse pas loucher quand celle-ce n'est pas très éloignée des yeux ? Parce que sinon, pour avoir des yeux parallèles, il faut foutre la cible à des kilomètres, et dans une petite scène, c'est pas bien pratique à manipuler... :wink:

Vatar
09/09/2002, 14h10
Ah là là, vivement Expresso, tu pourras voler de tes propres ailes...
Un lapin volant :lol:, tu ne nous l'as pas encore avatarisé, celui-là...
Bon, ben comme les autres, hein... "Chapeau !" Oaurf ouarf ouarf :mrgreen:

Aurety
09/09/2002, 14h22
Ça m'intéresse déjà beaucoup. Je m'inscris sur la liste d'attente. Bon courage Aurety!

Par contre, est-il possible que la cible de direction des yeux ne les fasse pas loucher quand celle-ce n'est pas très éloignée des yeux ? Parce que sinon, pour avoir des yeux parallèles, il faut foutre la cible à des kilomètres, et dans une petite scène, c'est pas bien pratique à manipuler... :wink:

Super Steƒquißosse, ca va donner du courage aux Masters !!

L'idée avec ce plug, serait justement de gicler la cible du regard, qu'il soit piloté non pas via le " Look at Me " de CinEyes mais par un controller HPB ( un eye's Target interne si on veux ) qui piloterait les yeux sans qu'il soit question de distance, il resteraient toujours parallèles car leur déplacement serait synchrone.

Je viens de poster la ressource ! :wink:

Tengaal
10/09/2002, 00h28
Bon dis Tengaal, ca te branche cette aventure de création de plug sous forme d'un WIP pour la communauté ??? Peut-être Designer pourra nous aider si il ne trouve pas le projet du plug ridicule..., et toutes les idées et les contributions des autres membres seront certainement d'un grand secours...
Si ca te branche, par oû je commence... ????
Oui je peux t'aider sur le principe de base de ton plug, mais en ce qui concerne la structure du plugin et notamment la gestion de l'interface et de ses éléments, c'est quelque chose de lourd à expliquer et surtout, il y a tellement d'instructions utilisables... :shock:
Je te conseille donc pour commencer, de finaliser le principe de ton programme dans une expression coffee de manière basique. Ensuite tu pourras faire la transposition dans une structure de plugin avec notamment la création et la gestion de l'interface utilisateur.
Je te suis. :wink:

Aurety
10/09/2002, 08h55
Ok !! Cool, je vais d'abord relire un peu tes cours sur Coffee, as-tu regarder le fichier .C4D que j'ai envoyé à Blazouf ?? Je te l'envoie sur ton email parce qu'avec l'Apple Expo, je sais pas si Blazouf ou Izostar ont les moyens d'être parmis nous en ce moment... :wink:

Merci d'avance...

Tengaal
10/09/2002, 09h58
J'ai regardé ta scène d'exemple.
Avant de passer à la mise en place du plug, il va falloir définir comment ton plugin va s'appliquer. Sur une structure d'oeil comme celle que tu as fais, ou bien est-ce chaque objet composant les yeux doit être fournit au plug (champs de saisie) pour que le plug puisse cibler les objets qu'il doit manipuler ? Il faut se mettre dans la situation de l'utilisateur qui ne connait pas ton plug et qui l'utilise pour la première fois. Si il n'y a rien dans la scène et qu'on lance le plug qu'est-ce qui se passe ? Comment dire au plug quel sont les objets qu'il doit utiliser (oeil,paupière...) ?
Ce sont des question indispensable pour les bases du plug car l'organisation du programme va en dépendre. :wink:

Designer
10/09/2002, 15h55
Oh salut aurety. Je voulais bien sur t´aider mais je veux être honet avec toi. Exactement ca, est déjà dans la version 8 de cinema 4D. Tu as un objet qui a le nom PoseMixer. Avec ce Posemixer vous peux definier des état de ton objet et tu as des sliders pour morpher entre eux.
Alors je ne sais pas si c´est necessaire d´écrire qc comme cela?

:? Samir

tawamax
10/09/2002, 16h06
et voila aurety le lapin visionnaire
arrété dans son elan.... la tortue c4d8
plus rapide ke le lapin ca me rapelle
quelque chose...

quoiqu il en soit il me semble interessant
de continuer rien que pour la culture generale
et sinon encore et toujour bravo a aurety
qui fait vivre en grande partie ce forum

mais ou s arretera-il ?

teg
10/09/2002, 16h14
aie, dommage Aurety...

Mais par contre, cette nouvelle fonction promet d'etre géniale, merci pour le scoop Designer!

Aurety
11/09/2002, 00h14
Exactement ca, est déjà dans la version 8 de cinema 4D. Tu as un objet qui a le nom PoseMixer. Avec ce Posemixer vous peux definier des état de ton objet et tu as des sliders pour morpher entre eux.
Alors je ne sais pas si c´est necessaire d´écrire qc comme cela?

:? Samir

oui, j'ai vu ton film c'est trés impressionnant et effectivement il y a de quoi calmer mon entousiasme mais...
... j'ai jamais développé de plugin, et après tout celui là me semblerait tout de même sympa et d'autant plus sympa pour tous ceux qui n'auront pas les moyens de faire une mise à jour vers la V8.


J'ai regardé ta scène d'exemple.
Avant de passer à la mise en place du plug, il va falloir définir comment ton plugin va s'appliquer. Sur une structure d'oeil comme celle que tu as fais, ou bien est-ce chaque objet composant les yeux doit être fournit au plug (champs de saisie) pour que le plug puisse cibler les objets qu'il doit manipuler ?

Non mon idée était de fournir un plug plus une paire d'yeux avec des paupières couplés, un peu à la manière de Skyshader qui dés qu'on l'active offre un certain nombre d'objets paramétrables. Je n'allais pas aussi loin dans la réflexion, mais c'est vrai que tout les personnages n'ont pas deux yeux et des paupières ( voir Izostar et Pixar-Beenouze :wink: )...


et voila aurety le lapin visionnaire
arrété dans son elan....

... et sinon encore et toujour bravo a aurety
qui fait vivre en grande partie ce forum

mais ou s arretera-il ?

:oops: :oops: un bravo que je vous retourne à tous, c'est l'envie de partager avec vous qui me pousse à animer ( avec vous ) ce site que j'adore... :wink: et j'espère allez au moins aussi loin que vous !!

Aurety
11/09/2002, 14h54
Voilà, je viens de mettre à jour mon petit module suite à la réflexion de Steƒquißosse :


Par contre, est-il possible que la cible de direction des yeux ne les fasse pas loucher quand celle-ce n'est pas très éloignée des yeux ? Parce que sinon, pour avoir des yeux parallèles, il faut foutre la cible à des kilomètres, et dans une petite scène, c'est pas bien pratique à manipuler... :wink:

Je passe donc à la version 1.1 ! :D :wink:

J'y ai adjoint une autre expression qui permet de palier à ce problème.
Comme les Masters du Site ont des choses importantes à faire avant que de mettre à dispo la ressource que j'avais envoyé ( ce que comprends d'ailleurs !! :wink: ), je vous propose de la télécharger sur ce lien :

http://www.lev-communication.fr/testimg/yeux_d_aurety_V11.zip

J'espère que cela vous servira autant qu'à moi !! :oops:

voila... voila...

Steƒquißosse
11/09/2002, 15h08
Impec, Auret' !

Merci pour la présence dans le lisez-moi !
y a pas à dire : une communauté, ça fait chaud au cœur !

Aurety
11/09/2002, 15h11
Pas d'koi, c'est plutôt à moi de te ( vous ) remercier !! :D :D

Aurety
12/09/2002, 09h15
Mince ! :shock: :shock:

Eh les boss, vous avez mis dans la partie ressources l'ancienne version, je suis passé en version 1.1 maintenant !! :wink:

Brice
12/09/2002, 09h35
:D
Aurety tu nous gâtes (trop ?), …

:? attention à pas nous pourrir.

Merci, merci, merci.
:wink:

Aurety
12/09/2002, 10h00
Tu rigoles Brice, c'est rien...

Moi je me gate à venir vous lire, et à progresser avec vous. J'ai cinquante mille idées par jour que je voudrais faire avec mes softs préférés, mais les dures lois économiques me rappellent à la tache...

:cry:

Aurety
13/09/2002, 10h11
Bonjour tout le monde :D

ci-joint la nouvelle version du module pour les yeux pour ceux que ca intéresse...

http://www.lev-communication.fr/testimg/yeux_d_aurety_V12.zip

Une image pour vous montrer la nouveauté... voilà...

http://www.lev-communication.fr/testimg/eyes12.jpg

teg
13/09/2002, 10h16
T'as de boooo yeux, mon lapin!

C'est terrible ton plug, serieux...

Aurety
13/09/2002, 10h26
Oui ca devient pas mal, mais j'aimerai beaucoup trouver un systême qui me permettrait de rajouter un controleur qui synchroniserait l'ouverture et la fermeture des paupières droites et gauches. Il faut aussi que je rajoute des cils... Et ensuite que j'en fasse un plug... Pfiou !! ca va pas être de la tarte !! :shock:

Aurety
13/09/2002, 10h29
Mince ! :shock: :shock:

Eh les boss, vous avez mis dans la partie ressources l'ancienne version, je suis passé en version 1.1 maintenant !! :wink:

euh... non,j'en suis à la version 1.2 maintenant !! :wink:

Tengaal
13/09/2002, 10h47
C'est bien ton expression, ça avance !
Pour les manipulateurs de paupières (PAUPG_Xrot et PAUPD_Xrot) il serait peut-être plus pratique d'utiliser un déplacement limité sur Y plutôt que de devoir changer entre le mode déplacement et le mode rotation.
Il suffit donc de limiter PAUPD_Xrot et PAUPG_Xrot entre y=90 et y=120 (anles mini et maxi en degrés).
Ensuite les expressions de tes paupières vont prendre la position Y de cet objet (et non plus sa rotation), l'angle final sera donc:

var The_Amplitude=3.00;
var the_Target_Object= the_Document->FindObject ("PaupD-XROT");
var position=The_Target_Object->GetPosition();
//la position Y est l'angle en degré qu'il faut donner en radians.
The_rotation=The_Amplitude*Radians(position.y) ;
The_Object->SetRotation(The_Rotation);

Aurety
13/09/2002, 10h53
Oui !! ca à l'air pas mal !! et moi aussi je trouvais ca lourd de devoir changer de mode ( rotation et déplacement ). Ok, je vais tenter ce que tu me dis !
Merci Tengaal ! :D

Tengaal
13/09/2002, 11h02
Tiens ! On ne peux pas éditer ses messages aujourd'hui...
Pour ton plug, je continue de penser que si ton programme ne fonctionne qu'avec ta scène c4d (tes yeux), il vaut mieux le laisser en expression car le principe des plugs est d'être utilisables dans tous les cas de figures et non dans un cas particulier...
Eventuellement quand tu auras obtenu une version aboutie de ton système d'animation de regard, tu pourrais réfléchir au moyen d'appliquer ces mouvements à des objets définis par l'utilisateur ou bien générer des yeux et des paupières dans la scène de l'utilisateur.
Sinon, en plug tu as aussi les Tags (ExpressionPluginTags) qui font exactement la même chose que les expressions mais qui peuvent être ouverts avec une fenêtre de paramètres...

Tengaal
13/09/2002, 11h15
var The_Amplitude=3.00;
var the_Target_Object= the_Document->FindObject ("PaupD-XROT");
var position=The_Target_Object->GetPosition();
//la position Y est l'angle en degré qu'il faut donner en radians.
The_rotation=The_Amplitude*Radians(position.y) ;
The_Object->SetRotation(The_Rotation);
Petite modif à faire, car j'ai répondu trop vite, l'angle de rotation obtenu The_rotation ne concerne que la rotation de l'axe X car ici je n'utilise pas le vecteur position mais seulement sa composante Y donc après le calcul de The_Rotation il faut avoir ceci:
var The_Object_Rot=The_Object->GetRotation();
The_Object_Rot.y=The_Rotation; //rotation sur l'axe X
The_Object->SetRotation(The_Object_Rot);

Cele permet de garder les rotations des axes Y et Z de The_Object. :wink:

Tengaal
13/09/2002, 11h16
Ces messages sur la programmation Coffee devraient plutôt être dans la rubrique Expression ! :oops:

Aurety
13/09/2002, 12h21
Le module en animation !

exemple :

http://www.studiojn.com/PhunniesList/Flaky/popeyes.avi

non, je plaisante !! :D :shock: :shock: :shock:

parksto
13/09/2002, 12h25
bah, mais c'est quoi ce truc ?