PDA

Voir la version complète : Gélatine



César Vonc
08/08/2016, 22h30
Salut,

Je cherche deux personnes disponibles ce mois-ci pour tester un petit module en cours de développement. Il s'agit de Gélatine, un déformateur permettant d'animer un objet avec un effet d'élasticité à partir de son mouvement :

http://i.imgur.com/lyBVcnN.gif

Faites-moi signe ici ceux qui sont intéressés, je vous enverrai une version gratuite du module par MP (eh oui, que pour deux personnes uniquement :P).

----------------

Disponible gratuitement pour C4D R15 minimum, Windows et OSX. Pour la R17, pensez à la mettre à jour.

http://code.vonc.fr/?a=71

Fredaubailly
08/08/2016, 23h18
Hello,

Je veux bien tester. Ça a l'air fun... :icon_smile:

gr4ph0s
09/08/2016, 00h15
Je présume que tu as donc trouvé une solution à ton problème de cache?

En tout cas chapeau c'est drôlement efficace ! Tu store tout les points puis après fait un calcul sur les positions ou alors c'est une autre méthode plus optimisé? ^^

Aurety
09/08/2016, 01h27
Cool ! ..et super nom de plugin ! :icon_clap:
Pas disponible hélas ! :icon_pleure:

César Vonc
09/08/2016, 19h07
Ouais j'ai trouvé une "solution" après avoir posté sur plugincafe, on me conseillait de définir l'ID unique avec setUniqueIP sur le parent et les éléments suivants du déformateur, leurs caches auront donc eux aussi un uniqueIP différent. Ça, couplé à l'UID et au nom de l'objet, ça donne au final un identifiant unique et me permet de stocker tout le cache dans le déformateur, ce qui était mon objectif.


Le module sera prêt pour les essais d'ici la fin de semaine. C'est rigolo, oui, on peut même animer des nibards avec. :P

user4D
09/08/2016, 20h33
Le module sera prêt pour les essais d'ici la fin de semaine. C'est rigolo, oui, on peut même animer des nibards avec. :P

Ah je me disais aussi, Vonc qui commence à animer des maisons. Je suis rassuré :icon_mrgreen:

Le plug à l'air vraiment cool :thumbup1:

Math1712
10/08/2016, 13h17
Bon je sais pas si tu as tes 2 beta... testeurs mais je suis partant :icon_clap:

yayaprod
11/08/2016, 11h30
Encore une idée de Génie Maître César !
Yaya .)

clemz
11/08/2016, 15h27
excellent ^^ . Bien joué César ! .
par rapport au Jiggle déformeur qui lui ne fait que de la translation , toi tu conserves un "vrai" volume ou du moins du fait "pivoter " les masses ?

César Vonc
13/08/2016, 21h57
L'effet n'est pas tout à fait le même, le mien a un effet beaucoup moins rigide et une ondulation plus présente, permet une simulation beaucoup plus flasque, que j'arrivais pas du tout à reproduire avec le déformateur Secousses (genre autant qu'une corde qui pend). Mais je ne conserve pas de volume, ça reste un simple effet élastique.

Il fonctionne à l'inverse du déformateur de C4D, c'est à dire qu'on définit les "prises" sur l'objet, qui peuvent être un point dans l'espace ou une sélection de points sur l'objet. Ça marche aussi avec les influences.

Et enfin, il fonctionne sur plusieurs objets en même temps, alors que le déformateur de C4D ne fonctionne qu'avec un seul objet !

Il est aussi plus simple d'utilisation à mon goût. ^^


Mais vu sa similarité, il sera finalement gratuit, le faire à 5 € n'aurait pas trop eu de sens. : p

gr4ph0s
13/08/2016, 22h49
Avec le code source? :3
Non je rigole déjà faire un tel plugin gratuit cest très généreux. Comme ton site web même si tu dis qu'il te sert plus de four tout pour toi t'y retrouver, cest vraiment une ressource incroyable pour apprendre !!!

César Vonc
14/08/2016, 15h01
Ah peut-être bien, faut voir, voici déjà une version bêta ! :icon_smile: (pour R17 et Windows uniquement, pour l'instant)

clemz
15/08/2016, 11h15
merci César ! :) c'est chouette !! je vais tester sur un perso aussi .

dis ? c'est quoi le 'firmness' ? j'arrive pas trop à définir sa fonction .

(il y aurait moyen que ça tourne sur R15 aussi ? ou le code n'est pas compatible ? )

César Vonc
15/08/2016, 11h38
C'est la fermeté, mais si tu mettais C4D en français, t'aurais un terme plus compréhensible. ^^

En gros, l'objet a plus de consistance avec.

Oui oui, c'est compatible R15 et OSX, faut juste que je le fasse.

César Vonc
28/08/2016, 20h51
Hop, le module est téléchargeable gratuitement ici pour C4D R15 minimum, Windows et OSX : http://code.vonc.fr/?a=71

Le code source est également disponible !

clemz
28/08/2016, 22h34
haha merci César ! :D je suis en train de le tester sur un perso animé ça marche super !! je te fais un petit don mon saloupio ;)

clemz
28/08/2016, 22h48
ha je crois que le Point Selection ne marche pas très bien César ? je glisse dedans une sel de points mais ça continue d'influencer tout . Et d'ailleurs serait-il possible de pouvoir glisser plusieurs sélections de points ? ( j'ai ton modifieur en haut de hiérachie , qui influence un perso avec fringues etc donc j'ai besoin de spécifier sur chaque élément les zones .. )

Je ne sais pas si c'est pertinent mais je me demande si il serait possible d'utiliser les influences des joints d'un rig aussi ? par ex je glisse les joints des bras/main et doigts dans un champs 'liste' et ton plug attribut sa force d'effets sur les points influencés par ces joints , avec leur % d'influence ) ça serait envisageable tu crois ?

merchi !

César Vonc
28/08/2016, 23h11
Merci Clemz ! ^^


Alors, la sélection de point ne permet pas de limiter la déformation aux points sélectionnés, mais de définir les points de départ de la déformation : si tu sélectionnes un point sur chaque oreille d'un personnage et définis cette sélection dans le déformateur, il aura l'effet d'être tiré par les oreilles quand tu bougeras le personnage.

En fait tu voudrais plutôt un champ "limiter à la sélection" ?

(Le module utilise le nom de la propriété renseignée dans le champ Sélection de points pour chercher celle du même nom sur chaque objet, donc oui tu peux utiliser une sélection pour chaque objet, à condition qu'elles aient toutes le même nom.



Oui c'est envisageable pour les influences, par contre, t'aurais un petit fichier d'exemple ? ^^


PS : Note que le déformateur prend aussi en compte la propriété Restriction qu'on peut coller à tous les déformateurs, qui permet de limiter à une sélection de points ou à une propriété influence, normalement ça permet de faire ce que tu voulais, non ?

clemz
29/08/2016, 09h45
Alors, la sélection de point ne permet pas de limiter la déformation aux points sélectionnés, mais de définir les points de départ de la déformation : si tu sélectionnes un point sur chaque oreille d'un personnage et définis cette sélection dans le déformateur, il aura l'effet d'être tiré par les oreilles quand tu bougeras le personnage.

oh ok scuse ok je capte mieux je vais regarder ça :)




En fait tu voudrais plutôt un champ "limiter à la sélection" ?

(Le module utilise le nom de la propriété renseignée dans le champ Sélection de points pour chercher celle du même nom sur chaque objet, donc oui tu peux utiliser une sélection pour chaque objet, à condition qu'elles aient toutes le même nom.


yep je voulais essayer de donner de l'élasticité dans les bras de mon perso seulement (pour faker un 'motion blur' cartoon un peu .. en fait je me rappelle d'un script xpresso qu'avait fait un type qui faisait un "smear" : le maillage d'un mesh animé était déformé uniquement sur les zones non 'normales' au vecteur déplacement ( donc un bras qui bouge , donnait une peau étirée comme un motion blur uniquement sur sa partie 'arrière' c'était génial . Et du coup je me dis que ton plugin, peut-être combiné avec ton autre plugin InfluencePoint, pourrait donner un truc similaire ?



Oui c'est envisageable pour les influences, par contre, t'aurais un petit fichier d'exemple ? ^^

oui je vais te trouver un truc :)



PS : Note que le déformateur prend aussi en compte la propriété Restriction qu'on peut coller à tous les déformateurs, qui permet de limiter à une sélection de points ou à une propriété influence, normalement ça permet de faire ce que tu voulais, non ?
ha oui ok même pas testé ça ^^ comme j'ai cru que le champ de selection était là pour ça ..ma faute je vais tester .

++

clemz
29/08/2016, 09h51
un peu comme ça :

gr4ph0s
29/08/2016, 17h21
Merci Cesar énormément pour le code source ! Plus qu'a pondre un truc en C++ maintenant :)

Une question bête que je me pose souvent en C++ il est préférable en paramètre de fonction de passer des pointeurs ou bien de retourner une valeur et ensuite d'assigner cette valeur à notre variable. J'avoue que je passe tout le temps des pointeurs mais je ne sais pas si c'est réellement propre.

César Vonc
29/08/2016, 18h03
Ah oui je vois, en effet ce serait sympa d'avoir ce petit effet !

Graphos, ça dépend des cas, mais globalement c'est plus économe d'utiliser des pointeurs car ça évite de créer des copies de variables, donc moins de traitement.

pxlntwrk
16/09/2016, 09h36
Vu sur The Pixellab

https://www.thepixellab.net/cinema-4d-tutorial-free-code-vonc-gelatine-plugin (https://www.thepixellab.net/cinema-4d-tutorial-free-code-vonc-gelatine-plugin)

:icon_wavey:

beta125du17
16/09/2016, 09h50
Vu sur The Pixellab

https://www.thepixellab.net/cinema-4d-tutorial-free-code-vonc-gelatine-plugin (https://www.thepixellab.net/cinema-4d-tutorial-free-code-vonc-gelatine-plugin)

:icon_wavey:

je suis pas là pour faire de la pub mais il est publié ici aussi

http://www.facebook.com/c4dplug/?fref=ts

César Vonc
21/09/2016, 21h47
Chouette ! :)

PS : C'est en cours, Clemz, c'est même opérationnel, faut juste que je mette à jour l'interface, le site, la doc, la version, la langue, bref, tous les trucs chiants. :P

César Vonc
24/09/2016, 20h42
Eh voilà, la v 1.0 avec l'effet d'étirement selon les normales !

http://code.vonc.fr/details/71/image_angle.gif

http://code.vonc.fr/?a=71

clemz
25/09/2016, 10h52
bravo Maestro :) merci !

dès que j'ai un petit moment je teste ça !! ;)

gr4ph0s
26/09/2016, 23h26
Merci bien cesar ça m'a énormément aidé ton code source ! Au final le C++ madin c4d c'est pas si dure y'a déjà toute les class pour caster les data type :D.
Bon y'a encore des trucs où j'ai du mal notamment les matrixes . Mais bon je pense que ça viendra avec le temps.

D'ailleurs j'ai une question comment tu fais pour avoir accès directement dans ton code à tes constante de type VONC_GELATINE_RAYON?

En tout cas merci pour tout t'es un tueur ! :D

César Vonc
27/09/2016, 22h44
Ces constantes sont définies dans le fichier .h (pour header, soit en-tête) , après c'est automatique tant qu'il est inclus dans ta solution et dans le .cpp en haut, les #include.

Content de voir que ça aide. ^^
Oublie pas que t'as aussi tous les exemples du SDK C++ !

Gyom
07/10/2016, 20h22
Bonsoir César :)
Et merci pour ta Gélatine !
Suite à mes derniers tests : est-ce possible de faire en sorte que ca puisse cohabiter avec Procédural ?
Je me suis bien dit que c'était prévisible mais comme j'ai essayé :
Appliquer au même objet Gélatine et Procédural provoque des effets de bord en animation :-/


Envoyé de mon iPhone en utilisant Tapatalk

César Vonc
07/10/2016, 23h30
Salut Gyom,

Mmm chez moi ça marche avec Proc3Durale, je n'ai pas de problème.

Il n'y a qu'avec un bruit animé que ça ne marche plus car le nombre de points change.

Qu'as-tu comme souci exactement ?

Gyom
08/10/2016, 14h03
Merci de ton retour rapide :)
... Et tu as répondu à ma question : mon souci vient du bruit anime !
Je me sers de Gélatine pour animer une bactérie et procédural la détruit au bout d'un moment.
Je vais contourner autrement :)
Bon weekend


Envoyé de mon iPhone en utilisant Tapatalk

Aurety
08/10/2016, 14h18
utilise le deformateur cage qui pilotera procedurale, deformé lui-même par gelatine :icon_wavey:

Gyom
08/10/2016, 14h50
Merci Lapin :)
Je teste ca quand je suis devant l'écran...


Envoyé de mon iPhone en utilisant Tapatalk

César Vonc
08/10/2016, 16h58
Mm et si tu places Gélatine dans ta bactérie, puis ta bactérie dans Proc3Durale ?

Gyom
09/10/2016, 12h00
Mm et si tu places Gélatine dans ta bactérie, puis ta bactérie dans Proc3Durale ?

Bonjour Cesar
effectivement, dans ce sens la ça a l'air de tenir :)
merci !
… j'avais fait l'inverse : mis ma capsule dans Proc3dural puis le tout dans Gelatine, et la il y a des trucs bizarres qui se passent !

chouette : ça va leur faire la vie dure a ces bactéries ;)